@@ -439,7 +439,7 @@ def FeatureSVEB16B16: ExtensionWithMArch<"sve-b16b16", "SVEB16B16", "FEAT_SVE_B1
439
439
"Enable SVE2 non-widening and SME2 Z-targeting non-widening BFloat16 instructions">;
440
440
441
441
def FeatureSMEB16B16 : ExtensionWithMArch<"sme-b16b16", "SMEB16B16", "FEAT_SME_B16B16",
442
- "Enable SME2.1 ZA-targeting non-widening BFloat16 instructions",
442
+ "Enable SME2.1 ZA-targeting non-widening BFloat16 instructions",
443
443
[FeatureSME2, FeatureSVEB16B16]>;
444
444
445
445
def FeatureSMEF16F16 : ExtensionWithMArch<"sme-f16f16", "SMEF16F16", "FEAT_SME_F16F16",
@@ -478,10 +478,10 @@ def FeatureFAMINMAX: ExtensionWithMArch<"faminmax", "FAMINMAX", "FEAT_FAMINMAX",
478
478
479
479
def FeatureLUT: ExtensionWithMArch<"lut", "LUT", "FEAT_LUT",
480
480
"Enable Lookup Table instructions">;
481
-
481
+
482
482
def FeatureFP8 : ExtensionWithMArch<"fp8", "FP8", "FEAT_FP8",
483
483
"Enable FP8 instructions", [FeatureFAMINMAX, FeatureLUT, FeatureBF16]>;
484
-
484
+
485
485
def FeatureFP8FMA : ExtensionWithMArch<"fp8fma", "FP8FMA", "FEAT_FP8FMA",
486
486
"Enable Armv9.5-A FP8 multiply-add instructions", [FeatureFP8]>;
487
487
@@ -490,7 +490,7 @@ def FeatureSSVE_FP8FMA : ExtensionWithMArch<"ssve-fp8fma", "SSVE_FP8FMA", "FEAT_
490
490
491
491
def FeatureFP8DOT4: ExtensionWithMArch<"fp8dot4", "FP8DOT4", "FEAT_FP8DOT4",
492
492
"Enable FP8 4-way dot instructions", [FeatureFP8FMA]>;
493
-
493
+
494
494
def FeatureFP8DOT2: ExtensionWithMArch<"fp8dot2", "FP8DOT2", "FEAT_FP8DOT2",
495
495
"Enable FP8 2-way dot instructions", [FeatureFP8DOT4]>;
496
496
@@ -555,6 +555,14 @@ def FeatureSVEBFSCALE: ExtensionWithMArch<"sve-bfscale", "SVE_BFSCALE", "FEAT_SV
555
555
556
556
def FeatureSVE_F16F32MM: ExtensionWithMArch<"sve-f16f32mm", "SVE_F16F32MM", "FEAT_SVE_F16F32MM",
557
557
"Enable Armv9.6-A FP16 to FP32 Matrix Multiply instructions">;
558
+ def FeatureLSUI: ExtensionWithMArch<"lsui", "LSUI", "FEAT_LSUI",
559
+ "Enable Armv9.6-A unprivileged load/store instructions">;
560
+
561
+ def FeatureOCCMO: ExtensionWithMArch<"occmo", "OCCMO", "FEAT_OCCMO",
562
+ "Enable Armv9.6-A Outer cacheable cache maintenance operations">;
563
+
564
+ def FeaturePCDPHINT: ExtensionWithMArch<"pcdphint", "PCDPHINT", "FEAT_PCDPHINT",
565
+ "Enable Armv9.6-A Producer Consumer Data Placement hints">;
558
566
559
567
//===----------------------------------------------------------------------===//
560
568
// Other Features
@@ -866,8 +874,9 @@ def HasV9_5aOps : Architecture64<9, 5, "a", "v9.5a",
866
874
[HasV9_4aOps, FeatureCPA],
867
875
!listconcat(HasV9_4aOps.DefaultExts, [FeatureCPA, FeatureLUT, FeatureFAMINMAX])>;
868
876
def HasV9_6aOps : Architecture64<9, 6, "a", "v9.6a",
869
- [HasV9_5aOps, FeatureCMPBR, FeatureFPRCVT, FeatureSVE2p2],
870
- !listconcat(HasV9_5aOps.DefaultExts, [FeatureCMPBR, FeatureFPRCVT, FeatureSVE2p2])>;
877
+ [HasV9_5aOps, FeatureCMPBR, FeatureFPRCVT, FeatureSVE2p2, FeatureLSUI, FeatureOCCMO],
878
+ !listconcat(HasV9_5aOps.DefaultExts, [FeatureCMPBR, FeatureFPRCVT, FeatureSVE2p2,
879
+ FeatureLSUI, FeatureOCCMO])>;
871
880
def HasV8_0rOps : Architecture64<8, 0, "r", "v8r",
872
881
[ //v8.1
873
882
FeatureCRC, FeaturePAN, FeatureLSE, FeatureCONTEXTIDREL2,
0 commit comments