[Hexagon] Removing more V4 predicates since V4 is the required minimum.
[oota-llvm.git] / lib / Target / Hexagon / Hexagon.td
index 4eb2b6293b42bb2bd4ba751af8df391d83716ded..f892c9f41af09a5ee8747f02c4ed6d4905faf95f 100644 (file)
@@ -21,27 +21,13 @@ include "llvm/Target/Target.td"
 // Hexagon Subtarget features.
 //===----------------------------------------------------------------------===//
 
-// Hexagon Archtectures
-def ArchV2       : SubtargetFeature<"v2", "HexagonArchVersion", "V2",
-                                    "Hexagon v2">;
-def ArchV3       : SubtargetFeature<"v3", "HexagonArchVersion", "V3",
-                                    "Hexagon v3">;
-def ArchV4       : SubtargetFeature<"v4", "HexagonArchVersion", "V4",
-                                    "Hexagon v4">;
-def ArchV5       : SubtargetFeature<"v5", "HexagonArchVersion", "V5",
-                                    "Hexagon v5">;
+// Hexagon Architectures
+def ArchV4:  SubtargetFeature<"v4",  "HexagonArchVersion", "V4",  "Hexagon V4">;
+def ArchV5:  SubtargetFeature<"v5",  "HexagonArchVersion", "V5",  "Hexagon V5">;
 
 //===----------------------------------------------------------------------===//
 // Hexagon Instruction Predicate Definitions.
 //===----------------------------------------------------------------------===//
-def HasV2T                      : Predicate<"Subtarget->hasV2TOps()">;
-def HasV2TOnly                  : Predicate<"Subtarget->hasV2TOpsOnly()">;
-def NoV2T                       : Predicate<"!Subtarget->hasV2TOps()">;
-def HasV3T                      : Predicate<"Subtarget->hasV3TOps()">;
-def HasV3TOnly                  : Predicate<"Subtarget->hasV3TOpsOnly()">;
-def NoV3T                       : Predicate<"!Subtarget->hasV3TOps()">;
-def HasV4T                      : Predicate<"Subtarget->hasV4TOps()">;
-def NoV4T                       : Predicate<"!Subtarget->hasV4TOps()">;
 def HasV5T                      : Predicate<"Subtarget->hasV5TOps()">;
 def NoV5T                       : Predicate<"!Subtarget->hasV5TOps()">;
 def UseMEMOP                    : Predicate<"Subtarget->useMemOps()">;
@@ -210,8 +196,10 @@ class Proc<string Name, SchedMachineModel Model,
            list<SubtargetFeature> Features>
  : ProcessorModel<Name, Model, Features>;
 
-def : Proc<"hexagonv4", HexagonModelV4, [ArchV2, ArchV3, ArchV4]>;
-def : Proc<"hexagonv5", HexagonModelV4, [ArchV2, ArchV3, ArchV4, ArchV5]>;
+def : Proc<"hexagonv4",  HexagonModelV4,
+           [ArchV4]>;
+def : Proc<"hexagonv5",  HexagonModelV4,
+           [ArchV4, ArchV5]>;
 
 //===----------------------------------------------------------------------===//
 // Declare the target which we are implementing