diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Hexagon/Hexagon.td')
-rw-r--r-- | contrib/llvm/lib/Target/Hexagon/Hexagon.td | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/contrib/llvm/lib/Target/Hexagon/Hexagon.td b/contrib/llvm/lib/Target/Hexagon/Hexagon.td index aaa0f3e..0b2b463 100644 --- a/contrib/llvm/lib/Target/Hexagon/Hexagon.td +++ b/contrib/llvm/lib/Target/Hexagon/Hexagon.td @@ -27,11 +27,12 @@ def ArchV5: SubtargetFeature<"v5", "HexagonArchVersion", "V5", "Hexagon V5">; def ArchV55: SubtargetFeature<"v55", "HexagonArchVersion", "V55", "Hexagon V55">; def ArchV60: SubtargetFeature<"v60", "HexagonArchVersion", "V60", "Hexagon V60">; -// Hexagon ISA Extensions -def ExtensionHVX: SubtargetFeature<"hvx", "UseHVXOps", - "true", "Hexagon HVX instructions">; -def ExtensionHVXDbl: SubtargetFeature<"hvx-double", "UseHVXDblOps", - "true", "Hexagon HVX Double instructions">; +def FeatureHVX: SubtargetFeature<"hvx", "UseHVXOps", "true", + "Hexagon HVX instructions">; +def FeatureHVXDbl: SubtargetFeature<"hvx-double", "UseHVXDblOps", "true", + "Hexagon HVX Double instructions">; +def FeatureLongCalls: SubtargetFeature<"long-calls", "UseLongCalls", "true", + "Use constant-extended calls">; //===----------------------------------------------------------------------===// // Hexagon Instruction Predicate Definitions. @@ -45,10 +46,10 @@ def HasV60T : Predicate<"HST->hasV60TOps()">, def UseMEMOP : Predicate<"HST->useMemOps()">; def IEEERndNearV5T : Predicate<"HST->modeIEEERndNear()">; def UseHVXDbl : Predicate<"HST->useHVXDblOps()">, - AssemblerPredicate<"ExtensionHVXDbl">; + AssemblerPredicate<"FeatureHVXDbl">; def UseHVXSgl : Predicate<"HST->useHVXSglOps()">; def UseHVX : Predicate<"HST->useHVXSglOps() ||HST->useHVXDblOps()">, - AssemblerPredicate<"ExtensionHVX">; + AssemblerPredicate<"FeatureHVX">; //===----------------------------------------------------------------------===// // Classes used for relation maps. @@ -249,6 +250,7 @@ include "HexagonSchedule.td" include "HexagonRegisterInfo.td" include "HexagonCallingConv.td" include "HexagonInstrInfo.td" +include "HexagonPatterns.td" include "HexagonIntrinsics.td" include "HexagonIntrinsicsDerived.td" @@ -269,7 +271,7 @@ def : Proc<"hexagonv5", HexagonModelV4, def : Proc<"hexagonv55", HexagonModelV55, [ArchV4, ArchV5, ArchV55]>; def : Proc<"hexagonv60", HexagonModelV60, - [ArchV4, ArchV5, ArchV55, ArchV60, ExtensionHVX]>; + [ArchV4, ArchV5, ArchV55, ArchV60, FeatureHVX]>; //===----------------------------------------------------------------------===// // Declare the target which we are implementing @@ -282,7 +284,7 @@ def HexagonAsmParser : AsmParser { def HexagonAsmParserVariant : AsmParserVariant { int Variant = 0; - string TokenizingCharacters = "#()=:.<>!+*"; + string TokenizingCharacters = "#()=:.<>!+*-|^&"; } def Hexagon : Target { |