https://github.com/Lukacma updated https://github.com/llvm/llvm-project/pull/209477
>From 4f113a186b872c69a4108f0412644292646d6c9a Mon Sep 17 00:00:00 2001 From: Marian Lukac <[email protected]> Date: Tue, 14 Jul 2026 13:16:39 +0000 Subject: [PATCH] [AArch64] Remove HCX feature flag from backend This patch removes +hcx option from the llvm and removes guarding of HCRX_EL2 system register on it. --- .../Driver/print-enabled-extensions/aarch64-ampere1b.c | 1 - .../Driver/print-enabled-extensions/aarch64-ampere1c.c | 1 - .../print-enabled-extensions/aarch64-apple-a16.c | 1 - .../print-enabled-extensions/aarch64-apple-a17.c | 1 - .../Driver/print-enabled-extensions/aarch64-apple-m4.c | 1 - .../Driver/print-enabled-extensions/aarch64-apple-m5.c | 1 - .../print-enabled-extensions/aarch64-armv8.7-a.c | 1 - .../print-enabled-extensions/aarch64-armv8.8-a.c | 1 - .../print-enabled-extensions/aarch64-armv8.9-a.c | 1 - .../print-enabled-extensions/aarch64-armv9.2-a.c | 1 - .../print-enabled-extensions/aarch64-armv9.3-a.c | 1 - .../print-enabled-extensions/aarch64-armv9.4-a.c | 1 - .../print-enabled-extensions/aarch64-armv9.5-a.c | 1 - .../Driver/print-enabled-extensions/aarch64-c1-nano.c | 1 - .../print-enabled-extensions/aarch64-c1-premium.c | 1 - .../Driver/print-enabled-extensions/aarch64-c1-pro.c | 1 - .../Driver/print-enabled-extensions/aarch64-c1-ultra.c | 1 - .../print-enabled-extensions/aarch64-cortex-a320.c | 2 -- .../print-enabled-extensions/aarch64-cortex-a520.c | 1 - .../print-enabled-extensions/aarch64-cortex-a520ae.c | 1 - .../print-enabled-extensions/aarch64-cortex-a720.c | 1 - .../print-enabled-extensions/aarch64-cortex-a720ae.c | 1 - .../print-enabled-extensions/aarch64-cortex-a725.c | 1 - .../print-enabled-extensions/aarch64-cortex-x4.c | 1 - .../print-enabled-extensions/aarch64-cortex-x925.c | 1 - .../print-enabled-extensions/aarch64-fujitsu-monaka.c | 1 - .../Driver/print-enabled-extensions/aarch64-gb10.c | 1 - .../Driver/print-enabled-extensions/aarch64-hip12.c | 1 - .../print-enabled-extensions/aarch64-neoverse-n3.c | 1 - .../print-enabled-extensions/aarch64-neoverse-v3.c | 1 - .../print-enabled-extensions/aarch64-neoverse-v3ae.c | 1 - .../Driver/print-enabled-extensions/aarch64-olympus.c | 1 - .../Driver/print-enabled-extensions/aarch64-rigel.c | 1 - llvm/lib/Target/AArch64/AArch64Features.td | 5 +---- llvm/lib/Target/AArch64/AArch64Processors.td | 10 ++++------ llvm/lib/Target/AArch64/AArch64SystemOperands.td | 4 +--- llvm/test/MC/AArch64/armv8.7a-hcx.s | 7 +------ llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt | 6 +----- 38 files changed, 8 insertions(+), 58 deletions(-) diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c b/clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c index 444ac4526200f..dc5e5de05e1e5 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c b/clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c index d3c1e7ebefd9e..8ec11dea30f23 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c b/clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c index 6f417c1592b06..81c21942638e4 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c @@ -26,7 +26,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c b/clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c index 39e5b70c25d88..75ff0c59a4bbe 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c @@ -26,7 +26,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c b/clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c index b410124527322..07fd1caea0e22 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c @@ -26,7 +26,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-apple-m5.c b/clang/test/Driver/print-enabled-extensions/aarch64-apple-m5.c index ae8923287b2e3..a7eee80014dad 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-apple-m5.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-apple-m5.c @@ -28,7 +28,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c index 4a8e18b23aac8..9fca36fbdcf46 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c @@ -24,7 +24,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c index 160acb524df5c..1db92c1ca9afa 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c @@ -25,7 +25,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c index 04bd8fc06049b..58b8242f28560 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c @@ -28,7 +28,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c index d3b26122dc6db..6329363ca29bd 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c @@ -25,7 +25,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c index 61894f0fcefa5..e2b93c9e89557 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c @@ -26,7 +26,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c index 1cfda6c996b9e..31826357172ae 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c @@ -29,7 +29,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c index 76c8b34a56b75..4eb48de4206a6 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c @@ -31,7 +31,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-c1-nano.c b/clang/test/Driver/print-enabled-extensions/aarch64-c1-nano.c index 33112527c9add..ebf84aa612d9a 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-c1-nano.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-c1-nano.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-c1-premium.c b/clang/test/Driver/print-enabled-extensions/aarch64-c1-premium.c index 3b146e36f81a2..63fc83641191d 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-c1-premium.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-c1-premium.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-c1-pro.c b/clang/test/Driver/print-enabled-extensions/aarch64-c1-pro.c index d31a598463267..833a67d0035e2 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-c1-pro.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-c1-pro.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-c1-ultra.c b/clang/test/Driver/print-enabled-extensions/aarch64-c1-ultra.c index d3ab7d92eca92..85e609fd13f27 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-c1-ultra.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-c1-ultra.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a320.c b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a320.c index eed89039f3a19..71338d4f679ae 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a320.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a320.c @@ -26,7 +26,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension @@ -57,4 +56,3 @@ // CHECK-NEXT: FEAT_VHE Enable Armv8.1-A Virtual Host extension // CHECK-NEXT: FEAT_WFxT Enable Armv8.7-A WFET and WFIT instruction // CHECK-NEXT: FEAT_XS Enable Armv8.7-A limited-TLB-maintenance instruction - 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 5c5f9ba81b5b8..a31428fb9fd5b 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension 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 d68fc6e744a29..1d82d4548bd09 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions 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 b7f0ae500ee5e..380586b69fcaf 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions 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 8f7139afeca67..dcb9301e339b4 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a720ae.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions 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 7c5e7c3624f69..2d531ed1b1dd6 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a725.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions 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 09ed3f285481b..c846604a340f4 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions 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 3969c0922c894..31667440c25ec 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-x925.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c b/clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c index e0802b3866cc8..119e24dee559c 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c @@ -35,7 +35,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-gb10.c b/clang/test/Driver/print-enabled-extensions/aarch64-gb10.c index f482a1bd1a31e..4b1d0013094c6 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-gb10.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-gb10.c @@ -28,7 +28,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-hip12.c b/clang/test/Driver/print-enabled-extensions/aarch64-hip12.c index 6370303909839..8494b01967bc6 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-hip12.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-hip12.c @@ -30,7 +30,6 @@ // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons // CHECK-NEXT: FEAT_HBC Enable Armv8.8-A Hinted Conditional Branches Extension -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension 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 9819a8388f039..ac695755c36f2 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c @@ -27,7 +27,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions 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 f400d5bc3596e..3dfa448a99161 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c @@ -28,7 +28,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension 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 67d8377e95227..f8a6596305c8d 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c @@ -29,7 +29,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-olympus.c b/clang/test/Driver/print-enabled-extensions/aarch64-olympus.c index c50c0b130307b..6eb255c2202ab 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-olympus.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-olympus.c @@ -35,7 +35,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/clang/test/Driver/print-enabled-extensions/aarch64-rigel.c b/clang/test/Driver/print-enabled-extensions/aarch64-rigel.c index a8a85a74445e7..c39825c0fb988 100644 --- a/clang/test/Driver/print-enabled-extensions/aarch64-rigel.c +++ b/clang/test/Driver/print-enabled-extensions/aarch64-rigel.c @@ -35,7 +35,6 @@ // CHECK-NEXT: FEAT_FRINTTS Enable FRInt[32|64][Z|X] instructions that round a floating-point number to an integer (in FP format) forcing it to fit into a 32- or 64-bit int // CHECK-NEXT: FEAT_FlagM Enable Armv8.4-A Flag Manipulation instructions // CHECK-NEXT: FEAT_FlagM2 Enable alternative NZCV format for floating point comparisons -// CHECK-NEXT: FEAT_HCX Enable Armv8.7-A HCRX_EL2 system register // CHECK-NEXT: FEAT_I8MM Enable Matrix Multiply Int8 Extension // CHECK-NEXT: FEAT_JSCVT Enable Armv8.3-A JavaScript FP conversion instructions // CHECK-NEXT: FEAT_LOR Enable Armv8.1-A Limited Ordering Regions extension diff --git a/llvm/lib/Target/AArch64/AArch64Features.td b/llvm/lib/Target/AArch64/AArch64Features.td index 7cb7cd32f673b..59e841792155d 100644 --- a/llvm/lib/Target/AArch64/AArch64Features.td +++ b/llvm/lib/Target/AArch64/AArch64Features.td @@ -303,9 +303,6 @@ def FeatureXS : Extension<"xs", "XS", "FEAT_XS", def FeatureWFxT : ExtensionWithMArch<"wfxt", "WFxT", "FEAT_WFxT", "Enable Armv8.7-A WFET and WFIT instruction">; -def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX", - "Enable Armv8.7-A HCRX_EL2 system register">; - def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64", "FEAT_LS64, FEAT_LS64_V, FEAT_LS64_ACCDATA", "Enable Armv8.7-A LD64B/ST64B Accelerator Extension">; @@ -1065,7 +1062,7 @@ def HasV8_6aOps : Architecture64<8, 6, "a", "v8.6a", FeatureEnhancedCounterVirtualization, FeatureMatMulInt8], !listconcat(HasV8_5aOps.DefaultExts, [FeatureBF16, FeatureMatMulInt8])>; def HasV8_7aOps : Architecture64<8, 7, "a", "v8.7a", - [HasV8_6aOps, FeatureXS, FeatureWFxT, FeatureHCX], + [HasV8_6aOps, FeatureXS, FeatureWFxT], !listconcat(HasV8_6aOps.DefaultExts, [FeatureWFxT, FeatureSPE_EEF])>; def HasV8_8aOps : Architecture64<8, 8, "a", "v8.8a", [HasV8_7aOps, FeatureHBC, FeatureMOPS, FeatureNMI], diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td b/llvm/lib/Target/AArch64/AArch64Processors.td index f8b344c61ba1e..e71aa4d2779e6 100644 --- a/llvm/lib/Target/AArch64/AArch64Processors.td +++ b/llvm/lib/Target/AArch64/AArch64Processors.td @@ -835,7 +835,7 @@ def ProcessorFeatures { FeatureRAS, FeatureSEL2, FeatureTRACEV8_4, FeatureAltFPCmp, FeatureFRInt3264, FeatureMTE, FeatureFineGrainedTraps, - FeatureHCX, FeatureRCPC3, FeatureETE, + FeatureRCPC3, FeatureETE, FeatureSVEBitPerm, FeatureSVE2, FeatureTRBE, FeatureSME, FeatureSME2]; list<SubtargetFeature> A65 = [HasV8_2aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, @@ -917,7 +917,7 @@ def ProcessorFeatures { FeatureAM, FeatureRAS, FeatureSEL2, FeatureTRACEV8_4, FeatureAltFPCmp, FeatureFRInt3264, FeatureMTE, - FeatureFineGrainedTraps, FeatureHCX, + FeatureFineGrainedTraps, FeatureSPE_EEF, FeatureRCPC3, FeatureETE, FeatureSVEBitPerm, FeatureSVE2, FeatureTRBE, FeatureSME, FeatureSME2]; @@ -992,7 +992,7 @@ def ProcessorFeatures { FeatureRAS, FeatureSEL2, FeatureTRACEV8_4, FeatureAltFPCmp, FeatureFRInt3264, FeatureMTE, FeatureFineGrainedTraps, - FeatureHCX, FeatureSPE_EEF, FeatureRCPC3, + FeatureSPE_EEF, FeatureRCPC3, FeatureETE, FeatureSVEBitPerm, FeatureSVE2, FeatureTRBE, FeatureSME, FeatureSME2]; @@ -1007,7 +1007,7 @@ def ProcessorFeatures { FeatureSEL2, FeatureTRACEV8_4, FeatureAltFPCmp, FeatureFRInt3264, FeatureMTE, FeatureFineGrainedTraps, - FeatureHCX, FeatureSPE_EEF, FeatureRCPC3, + FeatureSPE_EEF, FeatureRCPC3, FeatureETE, FeatureSVEBitPerm, FeatureSVE2, FeatureTRBE, FeatureSME, FeatureSME2]; list<SubtargetFeature> A64FX = [HasV8_2aOps, FeatureFPARMv8, FeatureNEON, @@ -1069,7 +1069,6 @@ def ProcessorFeatures { list<SubtargetFeature> AppleA16 = [HasV8_6aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureSHA3, FeatureFullFP16, FeatureFP16FML, - FeatureHCX, FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, FeaturePAuth, FeatureFPAC, FeatureRAS, FeatureRCPC, FeatureRDM, @@ -1077,7 +1076,6 @@ def ProcessorFeatures { list<SubtargetFeature> AppleA17 = [HasV8_6aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8, FeatureNEON, FeaturePerfMon, FeatureSHA3, FeatureFullFP16, FeatureFP16FML, - FeatureHCX, FeatureComplxNum, FeatureCRC, FeatureJS, FeatureLSE, FeaturePAuth, FeatureFPAC, FeatureRAS, FeatureRCPC, FeatureRDM, diff --git a/llvm/lib/Target/AArch64/AArch64SystemOperands.td b/llvm/lib/Target/AArch64/AArch64SystemOperands.td index b394cd1eca38a..bbe6c39a562c4 100644 --- a/llvm/lib/Target/AArch64/AArch64SystemOperands.td +++ b/llvm/lib/Target/AArch64/AArch64SystemOperands.td @@ -1257,9 +1257,7 @@ def : RWSysReg<"ACTLR_EL12", 0b11, 0b101, 0b0001, 0b0000, 0b001>; def : RWSysReg<"ACTLR_EL2", 0b11, 0b100, 0b0001, 0b0000, 0b001>; def : RWSysReg<"ACTLR_EL3", 0b11, 0b110, 0b0001, 0b0000, 0b001>; def : RWSysReg<"HCR_EL2", 0b11, 0b100, 0b0001, 0b0001, 0b000>; -def : RWSysReg<"HCRX_EL2", 0b11, 0b100, 0b0001, 0b0010, 0b010> { - let Requires = [{ {AArch64::FeatureHCX} }]; -} +def : RWSysReg<"HCRX_EL2", 0b11, 0b100, 0b0001, 0b0010, 0b010>; def : RWSysReg<"SCR_EL3", 0b11, 0b110, 0b0001, 0b0001, 0b000>; def : RWSysReg<"MDCR_EL2", 0b11, 0b100, 0b0001, 0b0001, 0b001>; def : RWSysReg<"SDER32_EL3", 0b11, 0b110, 0b0001, 0b0001, 0b001>; diff --git a/llvm/test/MC/AArch64/armv8.7a-hcx.s b/llvm/test/MC/AArch64/armv8.7a-hcx.s index d89d6af7b54b8..35086793ace38 100644 --- a/llvm/test/MC/AArch64/armv8.7a-hcx.s +++ b/llvm/test/MC/AArch64/armv8.7a-hcx.s @@ -1,12 +1,7 @@ -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+hcx < %s 2>%t | FileCheck %s -// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.7a < %s 2>%t | FileCheck %s -// RUN: not llvm-mc -triple aarch64-none-linux-gnu < %s 2> %t -// RUN: FileCheck --check-prefix=CHECK-NO-HCX-ERR %s < %t +// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding < %s | FileCheck %s mrs x2, HCRX_EL2 // CHECK: mrs x2, HCRX_EL2 // encoding: [0x42,0x12,0x3c,0xd5] -// CHECK-NO-HCX-ERR: [[@LINE-2]]:11: error: expected readable system register msr HCRX_EL2, x3 // CHECK: msr HCRX_EL2, x3 // encoding: [0x43,0x12,0x1c,0xd5] -// CHECK-NO-HCX-ERR: [[@LINE-2]]:7: error: expected writable system register diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt b/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt index 9582131e6fdf2..ef68349f2c505 100644 --- a/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt +++ b/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt @@ -1,11 +1,7 @@ -# RUN: llvm-mc -triple=aarch64 -mattr=+hcx -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -mattr=+v8.7a -disassemble %s | FileCheck %s -# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck --check-prefix=CHECK-NO-HCX %s +# RUN: llvm-mc -triple=aarch64 -disassemble %s | FileCheck %s [0x42,0x12,0x3c,0xd5] # CHECK: mrs x2, HCRX_EL2 -# CHECK-NO-HCX: mrs x2, S3_4_C1_C2_2 [0x43,0x12,0x1c,0xd5] # CHECK: msr HCRX_EL2, x3 -# CHECK-NO-HCX: msr S3_4_C1_C2_2, x3 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
