@@ -60,6 +60,12 @@ def FeatureVectorDecomp : SubtargetFeature<"disable_vec_decomp",
6060 "true",
6161 "disable vector decomposition pass">;
6262
63+ def FeatureNoJumpTables : SubtargetFeature<"disable_jump_tables", "DisableJumpTables",
64+ "true", "disable switch to jump tables lowering">;
65+
66+ def FeatureSwitchjmp : SubtargetFeature<"switchjmp", "HasSwitchjmp", "true",
67+ "supports switchjmp visa instruction">;
68+
6369def WarnCallable : SubtargetFeature<"warn_callable", "WarnCallable",
6470 "true", "warn instead of error on callable violation">;
6571
@@ -75,16 +81,16 @@ class Proc<string Name, list<SubtargetFeature> Features>
7581 : Processor<Name, NoItineraries, Features>;
7682
7783def : Proc<"generic", []>;
78- def : Proc<"HSW", [FeatureLongLongEmulation]>;
79- def : Proc<"BDW", [FeatureLongLong]>;
80- def : Proc<"CHV", [FeatureLongLong]>;
81- def : Proc<"SKL", [FeatureLongLong]>;
82- def : Proc<"BXT", [FeatureLongLong]>;
83- def : Proc<"KBL", [FeatureLongLong]>;
84- def : Proc<"GLK", [FeatureLongLong]>;
85- def : Proc<"CNL", [FeatureLongLong]>;
86- def : Proc<"ICL", [FeatureLongLong]>;
87- def : Proc<"ICLLP", [FeatureLongLongEmulation]>;
84+ def : Proc<"HSW", [FeatureLongLongEmulation, FeatureSwitchjmp ]>;
85+ def : Proc<"BDW", [FeatureLongLong, FeatureSwitchjmp ]>;
86+ def : Proc<"CHV", [FeatureLongLong, FeatureSwitchjmp ]>;
87+ def : Proc<"SKL", [FeatureLongLong, FeatureSwitchjmp ]>;
88+ def : Proc<"BXT", [FeatureLongLong, FeatureSwitchjmp ]>;
89+ def : Proc<"KBL", [FeatureLongLong, FeatureSwitchjmp ]>;
90+ def : Proc<"GLK", [FeatureLongLong, FeatureSwitchjmp ]>;
91+ def : Proc<"CNL", [FeatureLongLong, FeatureSwitchjmp ]>;
92+ def : Proc<"ICL", [FeatureLongLong, FeatureSwitchjmp ]>;
93+ def : Proc<"ICLLP", [FeatureLongLongEmulation, FeatureSwitchjmp ]>;
8894def : Proc<"TGLLP", [FeatureLongLongEmulation]>;
8995
9096def GenX : Target {
0 commit comments