diff options
| author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-05-15 18:15:59 +0000 |
|---|---|---|
| committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-05-15 18:15:59 +0000 |
| commit | df4fb5a87c1799ae515346ad56a88ec378f1f5ae (patch) | |
| tree | 37eb2490f67e80a268eb7461c7e93457dd5eefce | |
| parent | 6a528854c47504259c7b0568a419d5e196b6930b (diff) | |
| download | bcm5719-llvm-df4fb5a87c1799ae515346ad56a88ec378f1f5ae.tar.gz bcm5719-llvm-df4fb5a87c1799ae515346ad56a88ec378f1f5ae.zip | |
[Hexagon] Add driver options for subtarget features
llvm-svn: 332383
| -rw-r--r-- | clang/include/clang/Driver/Options.td | 22 | ||||
| -rw-r--r-- | clang/test/Driver/hexagon-memops.c | 10 | ||||
| -rw-r--r-- | clang/test/Driver/hexagon-nvj.c | 10 | ||||
| -rw-r--r-- | clang/test/Driver/hexagon-nvs.c | 10 |
4 files changed, 47 insertions, 5 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 0919f97665b..5b0593aaa94 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -2562,23 +2562,35 @@ def mv62 : Flag<["-"], "mv62">, Group<m_hexagon_Features_Group>, Alias<mcpu_EQ>, AliasArgs<["hexagonv62"]>; def mv65 : Flag<["-"], "mv65">, Group<m_hexagon_Features_Group>, Alias<mcpu_EQ>, AliasArgs<["hexagonv65"]>; -def mhexagon_hvx : Flag<[ "-" ], "mhvx">, Group<m_hexagon_Features_HVX_Group>, +def mhexagon_hvx : Flag<["-"], "mhvx">, Group<m_hexagon_Features_HVX_Group>, HelpText<"Enable Hexagon Vector eXtensions">; -def mhexagon_hvx_EQ : Joined<[ "-" ], "mhvx=">, +def mhexagon_hvx_EQ : Joined<["-"], "mhvx=">, Group<m_hexagon_Features_HVX_Group>, HelpText<"Enable Hexagon Vector eXtensions">; -def mno_hexagon_hvx : Flag<[ "-" ], "mno-hvx">, +def mno_hexagon_hvx : Flag<["-"], "mno-hvx">, Group<m_hexagon_Features_HVX_Group>, HelpText<"Disable Hexagon Vector eXtensions">; -def mhexagon_hvx_length_EQ : Joined<[ "-" ], "mhvx-length=">, +def mhexagon_hvx_length_EQ : Joined<["-"], "mhvx-length=">, Group<m_hexagon_Features_HVX_Group>, HelpText<"Set Hexagon Vector Length">, Values<"64B,128B">; def ffixed_r19: Flag<["-"], "ffixed-r19">, - HelpText<"Reserve the r19 register (Hexagon only)">; + HelpText<"Reserve register r19 (Hexagon only)">; +def mmemops : Flag<["-"], "mmemops">, Group<m_hexagon_Features_Group>, + Flags<[CC1Option]>, HelpText<"Enable generation of memop instructions">; +def mno_memops : Flag<["-"], "mno-memops">, Group<m_hexagon_Features_Group>, + Flags<[CC1Option]>, HelpText<"Disable generation of memop instructions">; def mpackets : Flag<["-"], "mpackets">, Group<m_hexagon_Features_Group>, Flags<[CC1Option]>, HelpText<"Enable generation of instruction packets">; def mno_packets : Flag<["-"], "mno-packets">, Group<m_hexagon_Features_Group>, Flags<[CC1Option]>, HelpText<"Disable generation of instruction packets">; +def mnvj : Flag<["-"], "mnvj">, Group<m_hexagon_Features_Group>, + Flags<[CC1Option]>, HelpText<"Enable generation of new-value jumps">; +def mno_nvj : Flag<["-"], "mno-nvj">, Group<m_hexagon_Features_Group>, + Flags<[CC1Option]>, HelpText<"Disable generation of new-value jumps">; +def mnvs : Flag<["-"], "mnvs">, Group<m_hexagon_Features_Group>, + Flags<[CC1Option]>, HelpText<"Enable generation of new-value stores">; +def mno_nvs : Flag<["-"], "mno-nvs">, Group<m_hexagon_Features_Group>, + Flags<[CC1Option]>, HelpText<"Disable generation of new-value stores">; // X86 feature flags diff --git a/clang/test/Driver/hexagon-memops.c b/clang/test/Driver/hexagon-memops.c new file mode 100644 index 00000000000..e7a94286ffd --- /dev/null +++ b/clang/test/Driver/hexagon-memops.c @@ -0,0 +1,10 @@ +// RUN: %clang -target hexagon -### -mmemops %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-MEMOPS + +// RUN: %clang -target hexagon -### -mno-memops %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-NO-MEMOPS + +// CHECK-MEMOPS: "-target-feature" "+memops" + +// CHECK-NO-MEMOPS: "-target-feature" "-memops" + diff --git a/clang/test/Driver/hexagon-nvj.c b/clang/test/Driver/hexagon-nvj.c new file mode 100644 index 00000000000..60d3839f83a --- /dev/null +++ b/clang/test/Driver/hexagon-nvj.c @@ -0,0 +1,10 @@ +// RUN: %clang -target hexagon -### -mnvj %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-NVJ + +// RUN: %clang -target hexagon -### -mno-nvj %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-NO-NVJ + +// CHECK-NVJ: "-target-feature" "+nvj" + +// CHECK-NO-NVJ: "-target-feature" "-nvj" + diff --git a/clang/test/Driver/hexagon-nvs.c b/clang/test/Driver/hexagon-nvs.c new file mode 100644 index 00000000000..a0130e32c9f --- /dev/null +++ b/clang/test/Driver/hexagon-nvs.c @@ -0,0 +1,10 @@ +// RUN: %clang -target hexagon -### -mnvs %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-NVS + +// RUN: %clang -target hexagon -### -mno-nvs %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-NO-NVS + +// CHECK-NVS: "-target-feature" "+nvs" + +// CHECK-NO-NVS: "-target-feature" "-nvs" + |

