@@ -79,6 +79,12 @@ def ExtensionHVXV79: SubtargetFeature<"hvxv79", "HexagonHVXVersion",
7979 ExtensionHVXV67, ExtensionHVXV68, ExtensionHVXV69, ExtensionHVXV71,
8080 ExtensionHVXV73, ExtensionHVXV75]>;
8181
82+ def ExtensionHVXV81: SubtargetFeature<"hvxv81", "HexagonHVXVersion",
83+ "Hexagon::ArchEnum::V81", "Hexagon HVX instructions",
84+ [ExtensionHVXV65, ExtensionHVXV66, ExtensionHVXV67,
85+ ExtensionHVXV68, ExtensionHVXV69, ExtensionHVXV71,
86+ ExtensionHVXV73, ExtensionHVXV75, ExtensionHVXV79]>;
87+
8288def ExtensionHVX64B: SubtargetFeature<"hvx-length64b", "UseHVX64BOps",
8389 "true", "Hexagon HVX 64B instructions", [ExtensionHVX]>;
8490def ExtensionHVX128B: SubtargetFeature<"hvx-length128b", "UseHVX128BOps",
@@ -151,6 +157,8 @@ def UseHVXV75 : Predicate<"HST->useHVXV75Ops()">,
151157 AssemblerPredicate<(all_of ExtensionHVXV75)>;
152158def UseHVXV79 : Predicate<"HST->useHVXV79Ops()">,
153159 AssemblerPredicate<(all_of ExtensionHVXV79)>;
160+ def UseHVXV81 : Predicate<"HST->useHVXV81Ops()">,
161+ AssemblerPredicate<(all_of ExtensionHVXV81)>;
154162def UseAudio : Predicate<"HST->useAudioOps()">,
155163 AssemblerPredicate<(all_of ExtensionAudio)>;
156164def UseZReg : Predicate<"HST->useZRegOps()">,
@@ -488,6 +496,11 @@ def : Proc<"hexagonv79", HexagonModelV79,
488496 ArchV68, ArchV69, ArchV71, ArchV73, ArchV75, ArchV79,
489497 FeatureCompound, FeatureDuplex, FeatureMemNoShuf, FeatureMemops,
490498 FeatureNVJ, FeatureNVS, FeaturePackets, FeatureSmallData]>;
499+ def : Proc<"hexagonv81", HexagonModelV81,
500+ [ArchV65, ArchV66, ArchV67, ArchV68, ArchV69, ArchV71, ArchV73,
501+ ArchV75, ArchV79, ArchV81,
502+ FeatureCompound, FeatureDuplex, FeatureMemNoShuf, FeatureMemops,
503+ FeatureNVJ, FeatureNVS, FeaturePackets, FeatureSmallData]>;
491504
492505// Need to update the correct features for tiny core.
493506// Disable NewValueJumps since the packetizer is unable to handle a packet with
0 commit comments