diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c index cd26351a0267c9..398e13d0e7ebd9 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv9-a.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement // CHECK-NEXT: FEAT_PAN Enables ARM v8.1 Privileged Access-Never extension @@ -35,7 +34,6 @@ // CHECK-NEXT: FEAT_PAuth Enable v8.3-A Pointer Authentication extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPECRES Enable v8.5a execution and data prediction invalidation instructions diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c index 31fb009f61c28a..1a54833ca0d261 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.1-a.c @@ -32,7 +32,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement // CHECK-NEXT: FEAT_PAN Enables ARM v8.1 Privileged Access-Never extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c index 54068338a9858e..2d99403606e3bc 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a510.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -40,7 +39,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPECRES Enable v8.5a execution and data prediction invalidation instructions diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c index 29cec5d2d73af7..9a3593f3c9ee50 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPECRES Enable v8.5a execution and data prediction invalidation instructions diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c index 0f3b181c395c62..94b0e7dd88a9d0 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPECRES Enable v8.5a execution and data prediction invalidation instructions diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c index f073db5ea7441c..5263791ca3363e 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a710.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -40,7 +39,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPECRES Enable v8.5a execution and data prediction invalidation instructions diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c index 359ca76a243fbc..4a90879413733a 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a715.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -40,7 +39,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPE Enable Statistical Profiling extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c index 41fa2756188b72..077ab192e430b2 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPE Enable Statistical Profiling extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c index b9ac21aa256f7a..60b8cee37e0a8f 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPE Enable Statistical Profiling extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c index 823319f108e288..2ddd7c22fcee8d 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPE Enable Statistical Profiling extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c index 9a8a4f41c1310d..3c24093ed0171b 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x2.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -40,7 +39,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPECRES Enable v8.5a execution and data prediction invalidation instructions diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c index 7fd1cc9de7821d..3f5913c0df6bbd 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x3.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -40,7 +39,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPE Enable Statistical Profiling extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c index 10b13a0052c76d..ab1d5cfb8b03ed 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPE Enable Statistical Profiling extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c index 09ceb0b358b91c..6c0d90feffefe2 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPE Enable Statistical Profiling extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c index 31ca041fc692fe..1747ffaa9e8509 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n2.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -40,7 +39,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension // CHECK-NEXT: FEAT_SPECRES Enable v8.5a execution and data prediction invalidation instructions diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c index 2662adf6776918..82c47634f6a762 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c @@ -34,7 +34,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -44,7 +43,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_RNG Enable Random Number generation instructions // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c index 420be38d454f55..f3d132f7f0fe18 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_LRCPC2 Enable v8.4-A RCPC instructions with Immediate Offsets // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement @@ -40,7 +39,6 @@ // CHECK-NEXT: FEAT_PMUv3 Enable Code Generation for ARMv8 PMUv3 Performance Monitors extension // CHECK-NEXT: FEAT_RAS, FEAT_RASv1p1 Enable ARMv8 Reliability, Availability and Serviceability Extensions // CHECK-NEXT: FEAT_RDM Enable ARMv8.1 Rounding Double Multiply Add/Subtract instructions -// CHECK-NEXT: FEAT_RME Enable Realm Management Extension // CHECK-NEXT: FEAT_RNG Enable Random Number generation instructions // CHECK-NEXT: FEAT_SB Enable v8.5 Speculation Barrier // CHECK-NEXT: FEAT_SEL2 Enable v8.4-A Secure Exception Level 2 extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c index d9a7d2f570cd2b..0b1eb44f539e72 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c @@ -36,7 +36,6 @@ // CHECK-NEXT: FEAT_LS64, FEAT_LS64_V, FEAT_LS64_ACCDATA Enable Armv8.7-A LD64B/ST64B Accelerator Extension // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c index 21686e5631cb77..d1cb22c53e047c 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c @@ -36,7 +36,6 @@ // CHECK-NEXT: FEAT_LS64, FEAT_LS64_V, FEAT_LS64_ACCDATA Enable Armv8.7-A LD64B/ST64B Accelerator Extension // CHECK-NEXT: FEAT_LSE Enable ARMv8.1 Large System Extension (LSE) atomic instructions // CHECK-NEXT: FEAT_LSE2 Enable ARMv8.4 Large System Extension 2 (LSE2) atomicity rules -// CHECK-NEXT: FEAT_MEC Enable Memory Encryption Contexts Extension // CHECK-NEXT: FEAT_MPAM Enable v8.4-A Memory system Partitioning and Monitoring extension // CHECK-NEXT: FEAT_MTE, FEAT_MTE2 Enable Memory Tagging Extension // CHECK-NEXT: FEAT_NV, FEAT_NV2 Enable v8.4-A Nested Virtualization Enchancement diff --git a/llvm/include/llvm/TargetParser/AArch64TargetParser.h b/llvm/include/llvm/TargetParser/AArch64TargetParser.h index 13091748e091c6..2169e9c94b61f3 100644 --- a/llvm/include/llvm/TargetParser/AArch64TargetParser.h +++ b/llvm/include/llvm/TargetParser/AArch64TargetParser.h @@ -161,14 +161,10 @@ struct CpuInfo { StringRef Name; // Name, as written for -mcpu. const ArchInfo &Arch; AArch64::ExtensionBitset - DefaultExtensions; // Default extensions for this CPU. These will be - // ORd with the architecture defaults. + DefaultExtensions; // Default extensions for this CPU. AArch64::ExtensionBitset getImpliedExtensions() const { - AArch64::ExtensionBitset ImpliedExts; - ImpliedExts |= DefaultExtensions; - ImpliedExts |= Arch.DefaultExts; - return ImpliedExts; + return DefaultExtensions; } }; diff --git a/llvm/lib/Target/AArch64/AArch64Features.td b/llvm/lib/Target/AArch64/AArch64Features.td index 50ff25ff1ba0c8..7124f81cbafa0a 100644 --- a/llvm/lib/Target/AArch64/AArch64Features.td +++ b/llvm/lib/Target/AArch64/AArch64Features.td @@ -801,15 +801,15 @@ def HasV8_9aOps : Architecture64<8, 9, "a", "v8.9a", !listconcat(HasV8_8aOps.DefaultExts, [FeatureSPECRES2, FeatureCSSC, FeatureRASv2])>; def HasV9_0aOps : Architecture64<9, 0, "a", "v9a", - [HasV8_5aOps, FeatureMEC], + [HasV8_5aOps], !listconcat(HasV8_5aOps.DefaultExts, [FeatureFullFP16, FeatureSVE, FeatureSVE2])>; def HasV9_1aOps : Architecture64<9, 1, "a", "v9.1a", [HasV8_6aOps, HasV9_0aOps], - !listconcat(HasV9_0aOps.DefaultExts, [FeatureBF16, FeatureMatMulInt8])>; + !listconcat(HasV9_0aOps.DefaultExts, [FeatureBF16, FeatureMatMulInt8, FeatureRME])>; def HasV9_2aOps : Architecture64<9, 2, "a", "v9.2a", [HasV8_7aOps, HasV9_1aOps], - !listconcat(HasV9_1aOps.DefaultExts, [])>; + !listconcat(HasV9_1aOps.DefaultExts, [FeatureMEC])>; def HasV9_3aOps : Architecture64<9, 3, "a", "v9.3a", [HasV8_8aOps, HasV9_2aOps], !listconcat(HasV9_2aOps.DefaultExts, [FeatureMOPS, FeatureHBC])>; diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td b/llvm/lib/Target/AArch64/AArch64Processors.td index 5859d5cd912363..87927093a2c4c2 100644 --- a/llvm/lib/Target/AArch64/AArch64Processors.td +++ b/llvm/lib/Target/AArch64/AArch64Processors.td @@ -681,247 +681,332 @@ def ProcessorFeatures { FeatureFPARMv8, FeatureNEON, FeaturePerfMon]; list A55 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureFullFP16, FeatureDotProd, - FeatureRCPC, FeaturePerfMon]; + FeatureRCPC, FeaturePerfMon, FeatureCRC, + FeatureLSE, FeatureRAS, FeatureRDM]; list A510 = [HasV9_0aOps, FeatureNEON, FeaturePerfMon, FeatureMatMulInt8, FeatureBF16, FeatureAM, FeatureMTE, FeatureETE, FeatureSVE2BitPerm, FeatureFP16FML, - FeatureSB, FeaturePAuth, FeatureSSBS, FeatureSVE, FeatureSVE2]; + FeatureSB, FeaturePAuth, FeatureSSBS, FeatureSVE, FeatureSVE2, + FeatureComplxNum, FeatureCRC, FeatureDotProd, + FeatureFPARMv8,FeatureFullFP16, FeatureJS, FeatureLSE, + FeatureRAS, FeatureRCPC, FeatureRDM]; list A520 = [HasV9_2aOps, FeaturePerfMon, FeatureAM, FeatureMTE, FeatureETE, FeatureSVE2BitPerm, FeatureFP16FML, FeatureSB, FeatureSSBS, FeaturePAuth, FeatureFlagM, FeaturePredRes, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureFPARMv8, FeatureFullFP16, FeatureMatMulInt8, FeatureJS, + FeatureNEON, FeatureLSE, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureDotProd]; list A520AE = [HasV9_2aOps, FeaturePerfMon, FeatureAM, FeatureMTE, FeatureETE, FeatureSVE2BitPerm, FeatureFP16FML, FeatureSB, FeatureSSBS, FeaturePAuth, FeatureFlagM, FeaturePredRes, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureFPARMv8, FeatureFullFP16, FeatureMatMulInt8, FeatureJS, + FeatureNEON, FeatureLSE, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureDotProd]; list A65 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureFullFP16, FeatureDotProd, FeatureRCPC, FeatureSSBS, FeatureRAS, - FeaturePerfMon]; + FeaturePerfMon, FeatureCRC, FeatureLSE, FeatureRDM]; list A76 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureFullFP16, FeatureDotProd, - FeatureRCPC, FeatureSSBS, FeaturePerfMon]; + FeatureRCPC, FeatureSSBS, FeaturePerfMon, + FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list A77 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureFullFP16, FeatureDotProd, - FeatureRCPC, FeaturePerfMon, FeatureSSBS]; + FeatureRCPC, FeaturePerfMon, FeatureSSBS, + FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list A78 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureFullFP16, FeatureDotProd, FeatureRCPC, FeaturePerfMon, FeatureSPE, - FeatureSSBS]; + FeatureSSBS, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list A78AE = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureFullFP16, FeatureDotProd, FeatureRCPC, FeaturePerfMon, FeatureSPE, - FeatureSSBS]; + FeatureSSBS, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list A78C = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureFullFP16, FeatureDotProd, FeatureFlagM, FeaturePAuth, FeaturePerfMon, FeatureRCPC, FeatureSPE, - FeatureSSBS]; + FeatureSSBS, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list A710 = [HasV9_0aOps, FeatureNEON, FeaturePerfMon, FeatureETE, FeatureMTE, FeatureFP16FML, FeatureSVE2BitPerm, FeatureBF16, FeatureMatMulInt8, - FeaturePAuth, FeatureFlagM, FeatureSB, FeatureSVE, FeatureSVE2]; + FeaturePAuth, FeatureFlagM, FeatureSB, FeatureSVE, FeatureSVE2, + FeatureComplxNum, FeatureCRC, FeatureDotProd, FeatureFPARMv8, + FeatureFullFP16, FeatureJS, FeatureLSE, FeatureRAS, FeatureRCPC, FeatureRDM]; list A715 = [HasV9_0aOps, FeatureNEON, FeatureMTE, FeatureFP16FML, FeatureSVE, FeatureTRBE, FeatureSVE2BitPerm, FeatureBF16, FeatureETE, FeaturePerfMon, FeatureMatMulInt8, FeatureSPE, FeatureSB, FeatureSSBS, FeatureFullFP16, FeaturePAuth, FeaturePredRes, FeatureFlagM, - FeatureSVE2]; + FeatureSVE2, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, + FeatureJS, FeatureLSE, FeatureRAS, + FeatureRCPC, FeatureRDM]; list A720 = [HasV9_2aOps, FeatureMTE, FeatureFP16FML, FeatureTRBE, FeatureSVE2BitPerm, FeatureETE, FeaturePerfMon, FeatureSPE, FeatureSPE_EEF, FeatureSB, FeatureSSBS, FeaturePAuth, FeatureFlagM, FeaturePredRes, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureFullFP16, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeatureNEON, FeatureRAS, + FeatureRCPC, FeatureRDM]; list A720AE = [HasV9_2aOps, FeatureMTE, FeatureFP16FML, FeatureTRBE, FeatureSVE2BitPerm, FeatureETE, FeaturePerfMon, FeatureSPE, FeatureSPE_EEF, FeatureSB, FeatureSSBS, FeaturePAuth, FeatureFlagM, FeaturePredRes, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureFullFP16, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeatureNEON, FeatureRAS, + FeatureRCPC, FeatureRDM]; list A725 = [HasV9_2aOps, FeatureMTE, FeatureFP16FML, FeatureETE, FeaturePerfMon, FeatureSPE, FeatureSVE2BitPerm, FeatureSPE_EEF, FeatureTRBE, FeatureFlagM, FeaturePredRes, FeatureSB, FeatureSSBS, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureFullFP16, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeatureNEON, FeaturePAuth, FeatureRAS, + FeatureRCPC, FeatureRDM]; list R82 = [HasV8_0rOps, FeaturePerfMon, FeatureFullFP16, FeatureFP16FML, FeatureSSBS, FeaturePredRes, FeatureSB, FeatureRDM, FeatureDotProd, FeatureComplxNum, FeatureJS, FeatureCacheDeepPersist, - FeatureLSE, FeatureFlagM]; + FeatureFlagM, FeatureCRC, FeatureLSE, FeatureRAS, FeatureFPARMv8, + FeatureNEON, FeaturePAuth, FeatureRCPC]; list R82AE = [HasV8_0rOps, FeaturePerfMon, FeatureFullFP16, FeatureFP16FML, FeatureSSBS, FeaturePredRes, FeatureSB, FeatureRDM, FeatureDotProd, FeatureComplxNum, FeatureJS, FeatureCacheDeepPersist, - FeatureLSE, FeatureFlagM]; + FeatureLSE, FeatureFlagM, FeatureCRC, FeatureFPARMv8, FeatureNEON, + FeaturePAuth, FeatureRAS, FeatureRCPC]; list X1 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureRCPC, FeaturePerfMon, FeatureSPE, FeatureFullFP16, FeatureDotProd, - FeatureSSBS]; + FeatureSSBS, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list X1C = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureRCPC_IMMO, FeaturePerfMon, FeatureSPE, FeatureFullFP16, FeatureDotProd, FeaturePAuth, FeatureSSBS, FeatureFlagM, FeatureLSE2, - FeatureRCPC]; + FeatureRCPC, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list X2 = [HasV9_0aOps, FeatureNEON, FeaturePerfMon, FeatureMatMulInt8, FeatureBF16, FeatureAM, FeatureMTE, FeatureETE, FeatureSVE2BitPerm, FeatureFP16FML, - FeaturePAuth, FeatureSSBS, FeatureSB, FeatureSVE, FeatureSVE2, FeatureFlagM]; + FeaturePAuth, FeatureSSBS, FeatureSB, FeatureSVE, FeatureSVE2, FeatureFlagM, + FeatureComplxNum, FeatureCRC, FeatureDotProd, FeatureFPARMv8, FeatureFullFP16, + FeatureJS, FeatureLSE, FeatureRAS, FeatureRCPC, FeatureRDM]; list X3 = [HasV9_0aOps, FeatureSVE, FeatureNEON, FeaturePerfMon, FeatureETE, FeatureTRBE, FeatureSPE, FeatureBF16, FeatureMatMulInt8, FeatureMTE, FeatureSVE2BitPerm, FeatureFullFP16, FeatureFP16FML, FeatureSB, FeaturePAuth, FeaturePredRes, FeatureFlagM, FeatureSSBS, - FeatureSVE2]; + FeatureSVE2, FeatureComplxNum, FeatureCRC, FeatureFPARMv8, FeatureJS, + FeatureLSE, FeatureRAS, FeatureRCPC, FeatureRDM, FeatureDotProd]; list X4 = [HasV9_2aOps, FeaturePerfMon, FeatureETE, FeatureTRBE, FeatureSPE, FeatureMTE, FeatureSVE2BitPerm, FeatureFP16FML, FeatureSPE_EEF, FeatureSB, FeatureSSBS, FeaturePAuth, FeatureFlagM, FeaturePredRes, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureComplxNum, FeatureCRC, FeatureDotProd, + FeatureFPARMv8, FeatureFullFP16, FeatureMatMulInt8, FeatureJS, FeatureLSE, + FeatureNEON, FeatureRAS, FeatureRCPC, FeatureRDM, FeatureBF16]; list X925 = [HasV9_2aOps, FeatureMTE, FeatureFP16FML, FeatureETE, FeaturePerfMon, FeatureSPE, FeatureSVE2BitPerm, FeatureSPE_EEF, FeatureTRBE, FeatureFlagM, FeaturePredRes, FeatureSB, FeatureSSBS, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureFullFP16, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeatureNEON, FeaturePAuth, FeatureRAS, + FeatureRCPC, FeatureRDM]; list A64FX = [HasV8_2aOps, FeatureFPARMv8, FeatureNEON, FeatureSHA2, FeaturePerfMon, FeatureFullFP16, FeatureSVE, FeatureComplxNum, - FeatureAES]; + FeatureAES, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list Carmel = [HasV8_2aOps, FeatureNEON, FeatureSHA2, FeatureAES, - FeatureFullFP16]; + FeatureFullFP16, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM, + FeatureFPARMv8]; list AppleA7 = [HasV8_0aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON,FeaturePerfMon, FeatureAppleA7SysReg]; list AppleA10 = [HasV8_0aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureCRC, FeatureRDM, FeaturePAN, FeatureLOR, FeatureVH]; list AppleA11 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, - FeatureNEON, FeaturePerfMon, FeatureFullFP16]; + FeatureNEON, FeaturePerfMon, FeatureFullFP16, FeatureCRC, + FeatureLSE, FeatureRAS, FeatureRDM]; list AppleA12 = [HasV8_3aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, - FeatureNEON, FeaturePerfMon, FeatureFullFP16]; + FeatureNEON, FeaturePerfMon, FeatureFullFP16, + FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM]; list AppleA13 = [HasV8_4aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureFullFP16, - FeatureFP16FML, FeatureSHA3]; + FeatureFP16FML, FeatureSHA3, FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM, FeatureDotProd]; list AppleA14 = [HasV8_4aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureFullFP16, FeatureFP16FML, FeatureSHA3, // ArmV8.5-a extensions, excluding BTI: FeatureAltFPCmp, FeatureFRInt3264, FeatureSpecRestrict, FeatureSSBS, FeatureSB, - FeaturePredRes, FeatureCacheDeepPersist]; + FeaturePredRes, FeatureCacheDeepPersist, + FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureDotProd]; list AppleA15 = [HasV8_6aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureSHA3, - FeatureFullFP16, FeatureFP16FML]; + FeatureFullFP16, FeatureFP16FML, + FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureBF16, FeatureDotProd, FeatureMatMulInt8]; list AppleA16 = [HasV8_6aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureSHA3, FeatureFullFP16, FeatureFP16FML, - FeatureHCX]; + FeatureHCX, + FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureBF16, FeatureDotProd, FeatureMatMulInt8]; list AppleA17 = [HasV8_6aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureSHA3, FeatureFullFP16, FeatureFP16FML, - FeatureHCX]; - // Technically apple-m4 is ARMv9.2a, but a quirk of LLVM defines v9.0 as - // requiring SVE, which is optional according to the Arm ARM and not - // supported by the core. ARMv8.7a is the next closest choice. - list AppleM4 = [HasV8_7aOps, FeatureSHA2, FeatureFPARMv8, + FeatureHCX, + FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureBF16, FeatureDotProd, FeatureMatMulInt8]; + list AppleM4 = [HasV9_2aOps, FeatureSHA2, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureSHA3, FeatureFullFP16, FeatureFP16FML, FeatureAES, FeatureBF16, FeatureSME, FeatureSME2, - FeatureSMEF64F64, FeatureSMEI16I64]; + FeatureSMEF64F64, FeatureSMEI16I64, + FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureDotProd, FeatureMatMulInt8]; list ExynosM3 = [HasV8_0aOps, FeatureCRC, FeatureSHA2, FeatureAES, - FeaturePerfMon]; + FeaturePerfMon, FeatureNEON, FeatureFPARMv8]; list ExynosM4 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureDotProd, - FeatureFullFP16, FeaturePerfMon]; + FeatureFullFP16, FeaturePerfMon, FeatureCRC, FeatureFPARMv8, + FeatureLSE, FeatureNEON, FeatureRAS, FeatureRDM]; list Falkor = [HasV8_0aOps, FeatureCRC, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureRDM]; list NeoverseE1 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureDotProd, FeatureFPARMv8, FeatureFullFP16, FeatureNEON, - FeatureRCPC, FeatureSSBS, FeaturePerfMon]; + FeatureRCPC, FeatureSSBS, FeaturePerfMon, FeatureCRC, + FeatureLSE, FeatureRAS, FeatureRDM]; list NeoverseN1 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureDotProd, FeatureFPARMv8, FeatureFullFP16, FeatureNEON, FeatureRCPC, FeatureSPE, FeatureSSBS, - FeaturePerfMon]; + FeaturePerfMon, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM]; list NeoverseN2 = [HasV9_0aOps, FeatureBF16, FeatureETE, FeatureFP16FML, FeatureMatMulInt8, FeatureMTE, FeatureSVE2, FeatureSVE2BitPerm, FeatureTRBE, FeaturePerfMon, - FeatureDotProd, FeatureFullFP16, FeatureSB, FeatureSSBS, FeatureSVE]; + FeatureDotProd, FeatureFullFP16, FeatureSB, FeatureSSBS, FeatureSVE, + FeatureComplxNum, FeatureCRC, FeatureFPARMv8, FeatureJS, FeatureLSE, + FeatureNEON, FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM]; list NeoverseN3 = [HasV9_2aOps, FeatureETE, FeatureFP16FML, FeatureFullFP16, FeatureMTE, FeaturePerfMon, FeatureRandGen, FeatureSPE, FeatureSPE_EEF, FeatureSVE2BitPerm, FeatureSSBS, FeatureSB, FeaturePredRes, FeaturePAuth, FeatureFlagM, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, + FeatureCRC, FeatureDotProd, FeatureFPARMv8, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureNEON]; list Neoverse512TVB = [HasV8_4aOps, FeatureBF16, FeatureCacheDeepPersist, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureFP16FML, FeatureFullFP16, FeatureMatMulInt8, FeatureNEON, FeaturePerfMon, FeatureRandGen, FeatureSPE, FeatureSSBS, FeatureSVE, - FeatureSHA3, FeatureSM4, FeatureDotProd]; + FeatureSHA3, FeatureSM4, FeatureDotProd, FeatureComplxNum, + FeatureCRC, FeatureJS, FeatureLSE, FeaturePAuth, FeatureRAS, + FeatureRCPC, FeatureRDM]; list NeoverseV1 = [HasV8_4aOps, FeatureBF16, FeatureCacheDeepPersist, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureFP16FML, FeatureFullFP16, FeatureMatMulInt8, FeatureNEON, FeaturePerfMon, FeatureRandGen, FeatureSPE, FeatureSSBS, FeatureSVE, - FeatureSHA3, FeatureSM4, FeatureDotProd]; + FeatureSHA3, FeatureSM4, FeatureDotProd, FeatureComplxNum, + FeatureCRC, FeatureJS, FeatureLSE, FeaturePAuth, FeatureRAS, + FeatureRCPC, FeatureRDM]; list NeoverseV2 = [HasV9_0aOps, FeatureBF16, FeatureSPE, FeaturePerfMon, FeatureETE, FeatureMatMulInt8, FeatureNEON, FeatureSVE2BitPerm, FeatureFP16FML, FeatureMTE, FeatureRandGen, - FeatureSVE, FeatureSVE2, FeatureSSBS, FeatureFullFP16, FeatureDotProd]; + FeatureSVE, FeatureSVE2, FeatureSSBS, FeatureFullFP16, FeatureDotProd, + FeatureComplxNum, FeatureCRC, FeatureFPARMv8, FeatureJS, FeatureLSE, + FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM]; list NeoverseV3 = [HasV9_2aOps, FeatureETE, FeatureFP16FML, FeatureFullFP16, FeatureLS64, FeatureMTE, FeaturePerfMon, FeatureRandGen, FeatureSPE, FeatureSPE_EEF, FeatureSVE2BitPerm, FeatureBRBE, FeatureSSBS, FeatureSB, FeaturePredRes, FeaturePAuth, FeatureFlagM, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureMatMulInt8, FeatureJS, FeatureLSE, + FeatureNEON, FeatureRAS, FeatureRCPC, FeatureRDM, FeatureRME]; list NeoverseV3AE = [HasV9_2aOps, FeatureETE, FeatureFP16FML, FeatureFullFP16, FeatureLS64, FeatureMTE, FeaturePerfMon, FeatureRandGen, FeatureSPE, FeatureSPE_EEF, FeatureSVE2BitPerm, FeatureBRBE, FeatureSSBS, FeatureSB, FeaturePredRes, FeaturePAuth, FeatureFlagM, - FeatureSVE, FeatureSVE2]; + FeatureSVE, FeatureSVE2, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureMatMulInt8, FeatureJS, + FeatureLSE, FeatureNEON, FeatureRAS, FeatureRCPC, FeatureRDM, + FeatureRME]; list Saphira = [HasV8_4aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, - FeatureNEON, FeatureSPE, FeaturePerfMon]; + FeatureNEON, FeatureSPE, FeaturePerfMon, FeatureCRC, + FeatureLSE, FeatureRDM, FeatureRAS, FeatureRCPC]; list ThunderX = [HasV8_0aOps, FeatureCRC, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeaturePerfMon, FeatureNEON]; list ThunderX2T99 = [HasV8_1aOps, FeatureCRC, FeatureSHA2, FeatureAES, - FeatureFPARMv8, FeatureNEON, FeatureLSE]; + FeatureFPARMv8, FeatureNEON, FeatureLSE, + FeatureRDM]; list ThunderX3T110 = [HasV8_3aOps, FeatureCRC, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeatureLSE, - FeaturePAuth, FeaturePerfMon]; + FeaturePAuth, FeaturePerfMon, FeatureComplxNum, + FeatureJS, FeatureRAS, FeatureRCPC, FeatureRDM]; list TSV110 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureSPE, FeatureFullFP16, FeatureFP16FML, FeatureDotProd, - FeatureJS, FeatureComplxNum]; + FeatureJS, FeatureComplxNum, FeatureCRC, FeatureLSE, + FeatureRAS, FeatureRDM]; list Ampere1 = [HasV8_6aOps, FeatureNEON, FeaturePerfMon, FeatureSSBS, FeatureRandGen, FeatureSB, FeatureSHA2, FeatureSHA3, FeatureAES, - FeatureFullFP16]; + FeatureFullFP16, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureMatMulInt8, FeatureJS, + FeatureLSE, FeaturePAuth, FeatureRAS, FeatureRCPC, FeatureRDM]; list Ampere1A = [HasV8_6aOps, FeatureNEON, FeaturePerfMon, FeatureMTE, FeatureSSBS, FeatureRandGen, FeatureSB, FeatureSM4, FeatureSHA2, FeatureSHA3, FeatureAES, - FeatureFullFP16]; + FeatureFullFP16, FeatureBF16, FeatureComplxNum, + FeatureCRC, FeatureDotProd, FeatureFPARMv8, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeaturePAuth, FeatureRAS, FeatureRCPC, + FeatureRDM]; list Ampere1B = [HasV8_7aOps, FeatureNEON, FeaturePerfMon, FeatureMTE, FeatureSSBS, FeatureRandGen, FeatureSB, FeatureSM4, FeatureSHA2, FeatureSHA3, FeatureAES, FeatureCSSC, - FeatureWFxT, FeatureFullFP16]; + FeatureWFxT, FeatureFullFP16, FeatureBF16, FeatureComplxNum, + FeatureCRC, FeatureDotProd, FeatureFPARMv8, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeaturePAuth, FeatureRAS, FeatureRCPC, + FeatureRDM]; list Oryon = [HasV8_6aOps, FeatureNEON, FeaturePerfMon, FeatureRandGen, FeaturePAuth, FeatureSM4, FeatureSHA2, FeatureSHA3, FeatureAES, - FeatureSPE]; + FeatureSPE, FeatureBF16, FeatureComplxNum, FeatureCRC, + FeatureDotProd, FeatureFPARMv8, FeatureMatMulInt8, + FeatureJS, FeatureLSE, FeatureRAS, FeatureRCPC, FeatureRDM]; // ETE and TRBE are future architecture extensions. We temporarily enable them // by default for users targeting generic AArch64. The extensions do not diff --git a/llvm/test/MC/AArch64/armv9a-rme.s b/llvm/test/MC/AArch64/armv9.1a-rme.s similarity index 100% rename from llvm/test/MC/AArch64/armv9a-rme.s rename to llvm/test/MC/AArch64/armv9.1a-rme.s diff --git a/llvm/test/MC/AArch64/armv9a-mec.s b/llvm/test/MC/AArch64/armv9.2a-mec.s similarity index 97% rename from llvm/test/MC/AArch64/armv9a-mec.s rename to llvm/test/MC/AArch64/armv9.2a-mec.s index f2a5fe8d38fffb..42e4bf732086ea 100644 --- a/llvm/test/MC/AArch64/armv9a-mec.s +++ b/llvm/test/MC/AArch64/armv9.2a-mec.s @@ -1,5 +1,4 @@ // RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+mec < %s | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v9a < %s | FileCheck %s // RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2>&1 | FileCheck --check-prefix=CHECK-NO-MEC %s mrs x0, MECIDR_EL2 diff --git a/llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt b/llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt index d1cbfcdd08342f..c5d931d46ca6d0 100644 --- a/llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt +++ b/llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt @@ -1,6 +1,5 @@ -# RUN: llvm-mc -triple=aarch64 -mattr=+mec -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v9a -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -disassemble %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-MEC +# RUN: llvm-mc -triple=aarch64 -mattr=+mec -disassemble %s | FileCheck %s +# RUN: llvm-mc -triple=aarch64 -disassemble %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-MEC [0xe0,0xa8,0x3c,0xd5] # CHECK: mrs x0, MECIDR_EL2 diff --git a/llvm/unittests/TargetParser/TargetParserTest.cpp b/llvm/unittests/TargetParser/TargetParserTest.cpp index 716ad266873779..3d55b0309d26fd 100644 --- a/llvm/unittests/TargetParser/TargetParserTest.cpp +++ b/llvm/unittests/TargetParser/TargetParserTest.cpp @@ -1360,7 +1360,8 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML, AArch64::AEK_PROFILE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PERFMON, - AArch64::AEK_ETE, AArch64::AEK_SPE_EEF}), + AArch64::AEK_ETE, AArch64::AEK_SPE_EEF, + AArch64::AEK_RME}), AArch64CPUTestParams("neoverse-v3ae", "armv9.2-a", {AArch64::AEK_BF16, AArch64::AEK_I8MM, AArch64::AEK_SVE, AArch64::AEK_SVE2, @@ -1377,7 +1378,8 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_SVE2BITPERM, AArch64::AEK_FP16FML, AArch64::AEK_PROFILE, AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PERFMON, - AArch64::AEK_ETE, AArch64::AEK_SPE_EEF}), + AArch64::AEK_ETE, AArch64::AEK_SPE_EEF, + AArch64::AEK_RME}), AArch64CPUTestParams( "cortex-r82", "armv8-r", {AArch64::AEK_CRC, AArch64::AEK_RDM, AArch64::AEK_SSBS, @@ -1626,7 +1628,7 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_FP16FML, AArch64::AEK_SHA3, AArch64::AEK_BF16, AArch64::AEK_I8MM, AArch64::AEK_JSCVT, AArch64::AEK_FCMA, AArch64::AEK_PAUTH, AArch64::AEK_PERFMON, AArch64::AEK_HCX}), - AArch64CPUTestParams("apple-m4", "armv8.7-a", + AArch64CPUTestParams("apple-m4", "armv9.2-a", {AArch64::AEK_CRC, AArch64::AEK_AES, AArch64::AEK_SHA2, AArch64::AEK_SHA3, AArch64::AEK_FP, AArch64::AEK_SIMD, @@ -1798,6 +1800,12 @@ INSTANTIATE_TEST_SUITE_P( AArch64::AEK_SIMD, AArch64::AEK_FP16, AArch64::AEK_RAS, AArch64::AEK_LSE, AArch64::AEK_RDM}), + AArch64CPUTestParams( + "saphira", "armv8.4-a", + {AArch64::AEK_AES, AArch64::AEK_FP, AArch64::AEK_SIMD, + AArch64::AEK_PERFMON, AArch64::AEK_SHA2, AArch64::AEK_PROFILE, + AArch64::AEK_CRC, AArch64::AEK_LSE, AArch64::AEK_RDM, + AArch64::AEK_RAS, AArch64::AEK_RCPC}), AArch64CPUTestParams( "oryon-1", "armv8.6-a", {AArch64::AEK_CRC, AArch64::AEK_FP, AArch64::AEK_PAUTH,