From: Krzysztof Parzyszek Date: Tue, 13 Mar 2018 13:30:43 +0000 (+0000) Subject: [Hexagon] Clang side of r327302 in LLVM X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=39d91bde1edb585124a77c89d019ff85b0c9d4e6;p=clang [Hexagon] Clang side of r327302 in LLVM Add option -m[no-]packets to control generation of instruction packets (enabled by default). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327393 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index 9337c177d0..64fb9f4896 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -2472,41 +2472,45 @@ def _write_dependencies : Flag<["--"], "write-dependencies">, Alias; def _write_user_dependencies : Flag<["--"], "write-user-dependencies">, Alias; def _ : Joined<["--"], "">, Flags<[Unsupported]>; -def mieee_rnd_near : Flag<["-"], "mieee-rnd-near">, Group; +// Hexagon feature flags. +def mieee_rnd_near : Flag<["-"], "mieee-rnd-near">, + Group; def mv4 : Flag<["-"], "mv4">, Group, - Alias, AliasArgs<["hexagonv4"]>; + Alias, AliasArgs<["hexagonv4"]>; def mv5 : Flag<["-"], "mv5">, Group, Alias, - AliasArgs<["hexagonv5"]>; + AliasArgs<["hexagonv5"]>; def mv55 : Flag<["-"], "mv55">, Group, - Alias, AliasArgs<["hexagonv55"]>; + Alias, AliasArgs<["hexagonv55"]>; def mv60 : Flag<["-"], "mv60">, Group, - Alias, AliasArgs<["hexagonv60"]>; + Alias, AliasArgs<["hexagonv60"]>; def mv62 : Flag<["-"], "mv62">, Group, - Alias, AliasArgs<["hexagonv62"]>; + Alias, AliasArgs<["hexagonv62"]>; def mv65 : Flag<["-"], "mv65">, Group, - Alias, AliasArgs<["hexagonv65"]>; -def mhexagon_hvx : Flag<[ "-" ], "mhvx">, - Group, - HelpText<"Enable Hexagon Vector eXtensions">; + Alias, AliasArgs<["hexagonv65"]>; +def mhexagon_hvx : Flag<[ "-" ], "mhvx">, Group, + HelpText<"Enable Hexagon Vector eXtensions">; def mhexagon_hvx_EQ : Joined<[ "-" ], "mhvx=">, - Group, - HelpText<"Enable Hexagon Vector eXtensions">; + Group, + HelpText<"Enable Hexagon Vector eXtensions">; def mno_hexagon_hvx : Flag<[ "-" ], "mno-hvx">, - Group, - HelpText<"Disable Hexagon Vector eXtensions">; + Group, + HelpText<"Disable Hexagon Vector eXtensions">; def mhexagon_hvx_length_EQ : Joined<[ "-" ], "mhvx-length=">, - Group, - HelpText<"Set Hexagon Vector Length">, Values<"64B,128B">; -// hvx-double deprecrated flag. -def mhexagon_hvx_double : Flag<[ "-" ], "mhvx-double">, - Group, - HelpText<"Enable Hexagon Double Vector eXtensions">; -def mno_hexagon_hvx_double - : Flag<[ "-" ], "mno-hvx-double">, - Group, - HelpText<"Disable Hexagon Double Vector eXtensions">; + Group, HelpText<"Set Hexagon Vector Length">, + Values<"64B,128B">; def ffixed_r19: Flag<["-"], "ffixed-r19">, HelpText<"Reserve the r19 register (Hexagon only)">; +def mpackets : Flag<["-"], "mpackets">, Group, + Flags<[CC1Option]>, HelpText<"Enable generation of instruction packets">; +def mno_packets : Flag<["-"], "mno-packets">, Group, + Flags<[CC1Option]>, HelpText<"Disable generation of instruction packets">; +// hvx-double deprecrated flag. +def mhexagon_hvx_double : Flag<[ "-" ], "mhvx-double">, + Group, + HelpText<"Enable Hexagon Double Vector eXtensions">; +def mno_hexagon_hvx_double : Flag<[ "-" ], "mno-hvx-double">, + Group, + HelpText<"Disable Hexagon Double Vector eXtensions">; // X86 feature flags diff --git a/test/Driver/hexagon-packets.c b/test/Driver/hexagon-packets.c new file mode 100644 index 0000000000..820c731434 --- /dev/null +++ b/test/Driver/hexagon-packets.c @@ -0,0 +1,10 @@ +// RUN: %clang -target hexagon -### -mpackets %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-PACKETS + +// RUN: %clang -target hexagon -### -mno-packets %s 2>&1 \ +// RUN: | FileCheck %s -check-prefix CHECK-NO-PACKETS + +// CHECK-PACKETS: "-target-feature" "+packets" + +// CHECK-NO-PACKETS: "-target-feature" "-packets" +