Skip to content

Commit 75ce2dc

Browse files
authored
[llvm][AArch64] apple-m4 does not have FEAT_{SPEv1p2,SEL2,MPAM} (#123827)
This commit addresses some uncertainty raised in 84fa175 as to which features Apple M4 has.
1 parent 5a9b74d commit 75ce2dc

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
// CHECK-NEXT: FEAT_LRCPC2 Enable Armv8.4-A RCPC instructions with Immediate Offsets
3535
// CHECK-NEXT: FEAT_LSE Enable Armv8.1-A Large System Extension (LSE) atomic instructions
3636
// CHECK-NEXT: FEAT_LSE2 Enable Armv8.4-A Large System Extension 2 (LSE2) atomicity rules
37+
// FIXME: Apple M4 does not have FEAT_MPAM, but it is currently marked as
38+
// non-optional in llvm's understanding of Armv8.4-A
3739
// CHECK-NEXT: FEAT_MPAM Enable Armv8.4-A Memory system Partitioning and Monitoring extension
3840
// CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable Armv8.4-A Nested Virtualization Enchancement
3941
// CHECK-NEXT: FEAT_PAN Enable Armv8.1-A Privileged Access-Never extension
@@ -43,6 +45,8 @@
4345
// CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable Armv8.0-A Reliability, Availability and Serviceability Extensions
4446
// CHECK-NEXT: FEAT_RDM Enable Armv8.1-A Rounding Double Multiply Add/Subtract instructions
4547
// CHECK-NEXT: FEAT_SB Enable Armv8.5-A Speculation Barrier
48+
// FIXME: Apple M4 does not have FEAT_SEL2, but it is currently marked as
49+
// non-optional in llvm's understanding of Armv8.4-A
4650
// CHECK-NEXT: FEAT_SEL2 Enable Armv8.4-A Secure Exception Level 2 extension
4751
// CHECK-NEXT: FEAT_SHA1, FEAT_SHA256 Enable SHA1 and SHA256 support
4852
// CHECK-NEXT: FEAT_SHA3, FEAT_SHA512 Enable SHA512 and SHA3 support
@@ -51,7 +55,6 @@
5155
// CHECK-NEXT: FEAT_SME_F64F64 Enable Scalable Matrix Extension (SME) F64F64 instructions
5256
// CHECK-NEXT: FEAT_SME_I16I64 Enable Scalable Matrix Extension (SME) I16I64 instructions
5357
// CHECK-NEXT: FEAT_SPECRES Enable Armv8.5-A execution and data prediction invalidation instructions
54-
// CHECK-NEXT: FEAT_SPEv1p2 Enable extra register in the Statistical Profiling Extension
5558
// CHECK-NEXT: FEAT_TLBIOS, FEAT_TLBIRANGE Enable Armv8.4-A TLB Range and Maintenance instructions
5659
// CHECK-NEXT: FEAT_TRF Enable Armv8.4-A Trace extension
5760
// CHECK-NEXT: FEAT_UAO Enable Armv8.2-A UAO PState

llvm/lib/Target/AArch64/AArch64Processors.td

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -929,8 +929,7 @@ def ProcessorFeatures {
929929
FeatureComplxNum, FeatureCRC, FeatureJS,
930930
FeatureLSE, FeaturePAuth, FeatureFPAC,
931931
FeatureRAS, FeatureRCPC, FeatureRDM,
932-
FeatureDotProd, FeatureMatMulInt8,
933-
FeatureSPE_EEF];
932+
FeatureDotProd, FeatureMatMulInt8];
934933
list<SubtargetFeature> ExynosM3 = [HasV8_0aOps, FeatureCRC, FeatureSHA2, FeatureAES,
935934
FeaturePerfMon, FeatureNEON, FeatureFPARMv8];
936935
list<SubtargetFeature> ExynosM4 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureDotProd,

0 commit comments

Comments
 (0)