[Hexagon] Clang side of r327302 in LLVM

Add option -m[no-]packets to control generation of instruction packets
(enabled by default).

llvm-svn: 327393
This commit is contained in:
Krzysztof Parzyszek 2018-03-13 13:30:43 +00:00
parent 531769b9f9
commit 06507fd283
2 changed files with 38 additions and 24 deletions

View file

@ -2472,7 +2472,9 @@ def _write_dependencies : Flag<["--"], "write-dependencies">, Alias<MD>;
def _write_user_dependencies : Flag<["--"], "write-user-dependencies">, Alias<MMD>;
def _ : Joined<["--"], "">, Flags<[Unsupported]>;
def mieee_rnd_near : Flag<["-"], "mieee-rnd-near">, Group<m_hexagon_Features_Group>;
// Hexagon feature flags.
def mieee_rnd_near : Flag<["-"], "mieee-rnd-near">,
Group<m_hexagon_Features_Group>;
def mv4 : Flag<["-"], "mv4">, Group<m_hexagon_Features_Group>,
Alias<mcpu_EQ>, AliasArgs<["hexagonv4"]>;
def mv5 : Flag<["-"], "mv5">, Group<m_hexagon_Features_Group>, Alias<mcpu_EQ>,
@ -2485,8 +2487,7 @@ 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=">,
Group<m_hexagon_Features_HVX_Group>,
@ -2495,18 +2496,21 @@ 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=">,
Group<m_hexagon_Features_HVX_Group>,
HelpText<"Set Hexagon Vector Length">, Values<"64B,128B">;
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)">;
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">;
// hvx-double deprecrated flag.
def mhexagon_hvx_double : Flag<[ "-" ], "mhvx-double">,
Group<m_hexagon_Features_HVX_Group>,
HelpText<"Enable Hexagon Double Vector eXtensions">;
def mno_hexagon_hvx_double
: Flag<[ "-" ], "mno-hvx-double">,
def mno_hexagon_hvx_double : Flag<[ "-" ], "mno-hvx-double">,
Group<m_hexagon_Features_HVX_Group>,
HelpText<"Disable Hexagon Double Vector eXtensions">;
def ffixed_r19: Flag<["-"], "ffixed-r19">,
HelpText<"Reserve the r19 register (Hexagon only)">;
// X86 feature flags

View file

@ -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"