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

Reply via email to