https://github.com/jthackray updated 
https://github.com/llvm/llvm-project/pull/208019

>From 77a08d12d20395541b51c507f46b96ca79e53eee Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <[email protected]>
Date: Tue, 7 Jul 2026 16:14:11 +0100
Subject: [PATCH 1/4] [AArch64][llvm] Allow +hcx to be specified as optional
 for Armv8.6

The `HCRX_EL2` system register can be accessed if FEAT_HCX is
implemented, and is optional from Armv8.6 (and mandatory in Armv8.7).

Allow `clang -march=armv8.6-a+hcx` by making FeatureHCX an
optional argument.
---
 clang/test/CIR/CodeGen/attr-target-aarch64.c           | 4 ++--
 clang/test/CodeGen/AArch64/targetattr.c                | 2 +-
 clang/test/Driver/print-supported-extensions-aarch64.c | 1 +
 llvm/lib/Target/AArch64/AArch64Features.td             | 4 ++--
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/clang/test/CIR/CodeGen/attr-target-aarch64.c 
b/clang/test/CIR/CodeGen/attr-target-aarch64.c
index 769c11e9ab688..f0b09b9d8029b 100644
--- a/clang/test/CIR/CodeGen/attr-target-aarch64.c
+++ b/clang/test/CIR/CodeGen/attr-target-aarch64.c
@@ -239,6 +239,6 @@ void applem4(void) {}
 
 // CIR:      cir.func{{.*}} @applem4()
 // CIR-SAME: "cir.target-cpu" = "apple-m4"
-// CIR-SAME: "cir.target-features" = 
"+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
+// CIR-SAME: "cir.target-features" = 
"+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+hcx,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
 // LLVM-DAG: define{{.*}} void @applem4(){{.*}} #[[ATTR_APPLEM4:[0-9]+]]
-// LLVM-DAG: attributes #[[ATTR_APPLEM4]] = 
{{.*}}"target-cpu"="apple-m4"{{.*}}"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
+// LLVM-DAG: attributes #[[ATTR_APPLEM4]] = 
{{.*}}"target-cpu"="apple-m4"{{.*}}"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+hcx,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
diff --git a/clang/test/CodeGen/AArch64/targetattr.c 
b/clang/test/CodeGen/AArch64/targetattr.c
index fb4f72411ed0c..3b3531947a58b 100644
--- a/clang/test/CodeGen/AArch64/targetattr.c
+++ b/clang/test/CodeGen/AArch64/targetattr.c
@@ -234,7 +234,7 @@ __arm_locally_streaming void plussmelocallystreaming(void)  
{}
 // CHECK: attributes #[[ATTR15]] = { noinline nounwind optnone 
vscale_range(1,16) "branch-target-enforcement" "guarded-control-stack" 
"no-trapping-math"="true" "sign-return-address"="non-leaf" 
"sign-return-address-key"="a_key" "stack-protector-buffer-size"="8" 
"target-cpu"="neoverse-n1" 
"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+spe,+ssbs,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a"
 "tune-cpu"="cortex-a710" }
 // CHECK: attributes #[[ATTR16]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" }
 // CHECK: attributes #[[ATTR17]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" 
"target-features"="-v9.3a" }
-// CHECK: attributes #[[ATTR18]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" 
"target-cpu"="apple-m4" 
"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
 }
+// CHECK: attributes #[[ATTR18]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" 
"target-cpu"="apple-m4" 
"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+hcx,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
 }
 // CHECK: attributes #[[ATTR19]] = { noinline nounwind optnone 
vscale_range(1,16) "aarch64_pstate_sm_enabled" "no-trapping-math"="true" 
"stack-protector-buffer-size"="8" 
"target-features"="+bf16,+fp-armv8,+fullfp16,+neon,+sme" }
 // CHECK: attributes #[[ATTR20]] = { noinline nounwind optnone 
vscale_range(1,16) "aarch64_pstate_sm_body" "no-trapping-math"="true" 
"stack-protector-buffer-size"="8" 
"target-features"="+bf16,+fp-armv8,+fullfp16,+neon,+sme" }
 //.
diff --git a/clang/test/Driver/print-supported-extensions-aarch64.c 
b/clang/test/Driver/print-supported-extensions-aarch64.c
index 1e2882550c81f..f27063fedc152 100644
--- a/clang/test/Driver/print-supported-extensions-aarch64.c
+++ b/clang/test/Driver/print-supported-extensions-aarch64.c
@@ -38,6 +38,7 @@
 // CHECK-NEXT:     gcie                FEAT_GCIE                               
               Enable GICv5 (Generic Interrupt Controller) CPU Interface 
Extension
 // CHECK-NEXT:     gcs                 FEAT_GCS                                
               Enable Armv9.4-A Guarded Call Stack Extension
 // CHECK-NEXT:     hbc                 FEAT_HBC                                
               Enable Armv8.8-A Hinted Conditional Branches Extension
+// CHECK-NEXT:     hcx                 FEAT_HCX                                
               Enable Armv8.7-A HCRX_EL2 system register
 // CHECK-NEXT:     hinte               FEAT_HINTE                              
               Enable extended A64 hint instruction space
 // CHECK-NEXT:     i8mm                FEAT_I8MM                               
               Enable Matrix Multiply Int8 Extension
 // CHECK-NEXT:     ite                 FEAT_ITE                                
               Enable Armv9.4-A Instrumentation Extension
diff --git a/llvm/lib/Target/AArch64/AArch64Features.td 
b/llvm/lib/Target/AArch64/AArch64Features.td
index 7cb7cd32f673b..c3ffea5e5e82f 100644
--- a/llvm/lib/Target/AArch64/AArch64Features.td
+++ b/llvm/lib/Target/AArch64/AArch64Features.td
@@ -303,7 +303,7 @@ 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",
+def FeatureHCX : ExtensionWithMArch<"hcx", "HCX", "FEAT_HCX",
   "Enable Armv8.7-A HCRX_EL2 system register">;
 
 def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64",
@@ -1066,7 +1066,7 @@ def HasV8_6aOps : Architecture64<8, 6, "a", "v8.6a",
   !listconcat(HasV8_5aOps.DefaultExts, [FeatureBF16, FeatureMatMulInt8])>;
 def HasV8_7aOps : Architecture64<8, 7, "a", "v8.7a",
   [HasV8_6aOps, FeatureXS, FeatureWFxT, FeatureHCX],
-  !listconcat(HasV8_6aOps.DefaultExts, [FeatureWFxT, FeatureSPE_EEF])>;
+  !listconcat(HasV8_6aOps.DefaultExts, [FeatureWFxT, FeatureHCX, 
FeatureSPE_EEF])>;
 def HasV8_8aOps : Architecture64<8, 8, "a", "v8.8a",
   [HasV8_7aOps, FeatureHBC, FeatureMOPS, FeatureNMI],
   !listconcat(HasV8_7aOps.DefaultExts, [FeatureMOPS, FeatureHBC])>;

>From 5a30011a5e766d343d62ee79f8d73aa7fce78f92 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <[email protected]>
Date: Mon, 13 Jul 2026 12:14:18 +0100
Subject: [PATCH 2/4] fixup! Okay, change PR so we just remover the gating from
 sys reg and leave FEAT_HCX in the code

---
 clang/test/CIR/CodeGen/attr-target-aarch64.c           | 4 ++--
 clang/test/CodeGen/AArch64/targetattr.c                | 2 +-
 clang/test/Driver/print-supported-extensions-aarch64.c | 1 -
 llvm/lib/Target/AArch64/AArch64Features.td             | 4 ++--
 llvm/lib/Target/AArch64/AArch64SystemOperands.td       | 4 +---
 llvm/test/MC/AArch64/armv8.7a-hcx.s                    | 5 +----
 llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt     | 4 +---
 7 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/clang/test/CIR/CodeGen/attr-target-aarch64.c 
b/clang/test/CIR/CodeGen/attr-target-aarch64.c
index f0b09b9d8029b..769c11e9ab688 100644
--- a/clang/test/CIR/CodeGen/attr-target-aarch64.c
+++ b/clang/test/CIR/CodeGen/attr-target-aarch64.c
@@ -239,6 +239,6 @@ void applem4(void) {}
 
 // CIR:      cir.func{{.*}} @applem4()
 // CIR-SAME: "cir.target-cpu" = "apple-m4"
-// CIR-SAME: "cir.target-features" = 
"+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+hcx,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
+// CIR-SAME: "cir.target-features" = 
"+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
 // LLVM-DAG: define{{.*}} void @applem4(){{.*}} #[[ATTR_APPLEM4:[0-9]+]]
-// LLVM-DAG: attributes #[[ATTR_APPLEM4]] = 
{{.*}}"target-cpu"="apple-m4"{{.*}}"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+hcx,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
+// LLVM-DAG: attributes #[[ATTR_APPLEM4]] = 
{{.*}}"target-cpu"="apple-m4"{{.*}}"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
diff --git a/clang/test/CodeGen/AArch64/targetattr.c 
b/clang/test/CodeGen/AArch64/targetattr.c
index 3b3531947a58b..fb4f72411ed0c 100644
--- a/clang/test/CodeGen/AArch64/targetattr.c
+++ b/clang/test/CodeGen/AArch64/targetattr.c
@@ -234,7 +234,7 @@ __arm_locally_streaming void plussmelocallystreaming(void)  
{}
 // CHECK: attributes #[[ATTR15]] = { noinline nounwind optnone 
vscale_range(1,16) "branch-target-enforcement" "guarded-control-stack" 
"no-trapping-math"="true" "sign-return-address"="non-leaf" 
"sign-return-address-key"="a_key" "stack-protector-buffer-size"="8" 
"target-cpu"="neoverse-n1" 
"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+spe,+ssbs,+sve,+sve2,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8a"
 "tune-cpu"="cortex-a710" }
 // CHECK: attributes #[[ATTR16]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" }
 // CHECK: attributes #[[ATTR17]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" 
"target-features"="-v9.3a" }
-// CHECK: attributes #[[ATTR18]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" 
"target-cpu"="apple-m4" 
"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+hcx,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
 }
+// CHECK: attributes #[[ATTR18]] = { noinline nounwind optnone 
"no-trapping-math"="true" "stack-protector-buffer-size"="8" 
"target-cpu"="apple-m4" 
"target-features"="+aes,+bf16,+bti,+ccidx,+complxnum,+crc,+dit,+dotprod,+flagm,+fp-armv8,+fp16fml,+fpac,+fullfp16,+i8mm,+jsconv,+lse,+neon,+pauth,+perfmon,+predres,+ras,+rcpc,+rdm,+sb,+sha2,+sha3,+sme,+sme-f64f64,+sme-i16i64,+sme2,+spe-eef,+ssbs,+v8.1a,+v8.2a,+v8.3a,+v8.4a,+v8.5a,+v8.6a,+v8.7a,+v8a,+wfxt"
 }
 // CHECK: attributes #[[ATTR19]] = { noinline nounwind optnone 
vscale_range(1,16) "aarch64_pstate_sm_enabled" "no-trapping-math"="true" 
"stack-protector-buffer-size"="8" 
"target-features"="+bf16,+fp-armv8,+fullfp16,+neon,+sme" }
 // CHECK: attributes #[[ATTR20]] = { noinline nounwind optnone 
vscale_range(1,16) "aarch64_pstate_sm_body" "no-trapping-math"="true" 
"stack-protector-buffer-size"="8" 
"target-features"="+bf16,+fp-armv8,+fullfp16,+neon,+sme" }
 //.
diff --git a/clang/test/Driver/print-supported-extensions-aarch64.c 
b/clang/test/Driver/print-supported-extensions-aarch64.c
index f27063fedc152..1e2882550c81f 100644
--- a/clang/test/Driver/print-supported-extensions-aarch64.c
+++ b/clang/test/Driver/print-supported-extensions-aarch64.c
@@ -38,7 +38,6 @@
 // CHECK-NEXT:     gcie                FEAT_GCIE                               
               Enable GICv5 (Generic Interrupt Controller) CPU Interface 
Extension
 // CHECK-NEXT:     gcs                 FEAT_GCS                                
               Enable Armv9.4-A Guarded Call Stack Extension
 // CHECK-NEXT:     hbc                 FEAT_HBC                                
               Enable Armv8.8-A Hinted Conditional Branches Extension
-// CHECK-NEXT:     hcx                 FEAT_HCX                                
               Enable Armv8.7-A HCRX_EL2 system register
 // CHECK-NEXT:     hinte               FEAT_HINTE                              
               Enable extended A64 hint instruction space
 // CHECK-NEXT:     i8mm                FEAT_I8MM                               
               Enable Matrix Multiply Int8 Extension
 // CHECK-NEXT:     ite                 FEAT_ITE                                
               Enable Armv9.4-A Instrumentation Extension
diff --git a/llvm/lib/Target/AArch64/AArch64Features.td 
b/llvm/lib/Target/AArch64/AArch64Features.td
index c3ffea5e5e82f..7cb7cd32f673b 100644
--- a/llvm/lib/Target/AArch64/AArch64Features.td
+++ b/llvm/lib/Target/AArch64/AArch64Features.td
@@ -303,7 +303,7 @@ def FeatureXS : Extension<"xs", "XS", "FEAT_XS",
 def FeatureWFxT : ExtensionWithMArch<"wfxt", "WFxT", "FEAT_WFxT",
   "Enable Armv8.7-A WFET and WFIT instruction">;
 
-def FeatureHCX : ExtensionWithMArch<"hcx", "HCX", "FEAT_HCX",
+def FeatureHCX : Extension<"hcx", "HCX", "FEAT_HCX",
   "Enable Armv8.7-A HCRX_EL2 system register">;
 
 def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64",
@@ -1066,7 +1066,7 @@ def HasV8_6aOps : Architecture64<8, 6, "a", "v8.6a",
   !listconcat(HasV8_5aOps.DefaultExts, [FeatureBF16, FeatureMatMulInt8])>;
 def HasV8_7aOps : Architecture64<8, 7, "a", "v8.7a",
   [HasV8_6aOps, FeatureXS, FeatureWFxT, FeatureHCX],
-  !listconcat(HasV8_6aOps.DefaultExts, [FeatureWFxT, FeatureHCX, 
FeatureSPE_EEF])>;
+  !listconcat(HasV8_6aOps.DefaultExts, [FeatureWFxT, FeatureSPE_EEF])>;
 def HasV8_8aOps : Architecture64<8, 8, "a", "v8.8a",
   [HasV8_7aOps, FeatureHBC, FeatureMOPS, FeatureNMI],
   !listconcat(HasV8_7aOps.DefaultExts, [FeatureMOPS, FeatureHBC])>;
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..8e2bac8633916 100644
--- a/llvm/test/MC/AArch64/armv8.7a-hcx.s
+++ b/llvm/test/MC/AArch64/armv8.7a-hcx.s
@@ -1,12 +1,9 @@
 // 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 2>%t | 
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..04df9ec23fa37 100644
--- a/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt
+++ b/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt
@@ -1,11 +1,9 @@
 # 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

>From c324cd339afd5c039cec97fa3b4939c25a1a97ca Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <[email protected]>
Date: Mon, 13 Jul 2026 13:26:41 +0100
Subject: [PATCH 3/4] fixup! Remove superfluous testcases

---
 llvm/test/MC/AArch64/armv8.7a-hcx.s                | 2 --
 llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt | 2 --
 2 files changed, 4 deletions(-)

diff --git a/llvm/test/MC/AArch64/armv8.7a-hcx.s 
b/llvm/test/MC/AArch64/armv8.7a-hcx.s
index 8e2bac8633916..1c3ff2e681af6 100644
--- a/llvm/test/MC/AArch64/armv8.7a-hcx.s
+++ b/llvm/test/MC/AArch64/armv8.7a-hcx.s
@@ -1,5 +1,3 @@
-// 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: llvm-mc -triple aarch64-none-linux-gnu -show-encoding < %s 2>%t | 
FileCheck %s
 
   mrs x2, HCRX_EL2
diff --git a/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt 
b/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt
index 04df9ec23fa37..ef68349f2c505 100644
--- a/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt
+++ b/llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt
@@ -1,5 +1,3 @@
-# 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 %s
 
 [0x42,0x12,0x3c,0xd5]

>From 59716d28f5db3856faecfa71430f395ce287d884 Mon Sep 17 00:00:00 2001
From: Jonathan Thackray <[email protected]>
Date: Mon, 13 Jul 2026 13:49:27 +0100
Subject: [PATCH 4/4] fixup! Deprecate FEAT_HCX in message

---
 clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c   | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c   | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-apple-a16.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-apple-a17.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-apple-m4.c   | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-apple-m5.c   | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-armv8.7-a.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-armv8.8-a.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-armv8.9-a.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-armv9.2-a.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-armv9.3-a.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-c1-nano.c    | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-c1-premium.c | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-c1-pro.c     | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-c1-ultra.c   | 2 +-
 .../test/Driver/print-enabled-extensions/aarch64-cortex-a320.c  | 2 +-
 .../test/Driver/print-enabled-extensions/aarch64-cortex-a520.c  | 2 +-
 .../Driver/print-enabled-extensions/aarch64-cortex-a520ae.c     | 2 +-
 .../test/Driver/print-enabled-extensions/aarch64-cortex-a720.c  | 2 +-
 .../Driver/print-enabled-extensions/aarch64-cortex-a720ae.c     | 2 +-
 .../test/Driver/print-enabled-extensions/aarch64-cortex-a725.c  | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-cortex-x4.c  | 2 +-
 .../test/Driver/print-enabled-extensions/aarch64-cortex-x925.c  | 2 +-
 .../Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c    | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-gb10.c       | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-hip12.c      | 2 +-
 .../test/Driver/print-enabled-extensions/aarch64-neoverse-n3.c  | 2 +-
 .../test/Driver/print-enabled-extensions/aarch64-neoverse-v3.c  | 2 +-
 .../Driver/print-enabled-extensions/aarch64-neoverse-v3ae.c     | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-olympus.c    | 2 +-
 clang/test/Driver/print-enabled-extensions/aarch64-rigel.c      | 2 +-
 llvm/lib/Target/AArch64/AArch64Features.td                      | 2 +-
 34 files changed, 34 insertions(+), 34 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..507a145c83531 100644
--- a/clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
+++ b/clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
@@ -27,7 +27,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..340f3026a4190 100644
--- a/clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c
+++ b/clang/test/Driver/print-enabled-extensions/aarch64-ampere1c.c
@@ -30,7 +30,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..6f539fa6f271e 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..4b911e37d4251 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..4f7b47bc7507f 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..3091fd3be5230 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..64b6d2e38f487 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..fc68e3197ba91 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..5cebaf22975ef 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..7e939251785e6 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..61747c81a6a66 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..45ad6dff8fdea 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..b4468e1c816be 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..b1440fdfd4376 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..75627593b9aea 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..2c8f158305a9f 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..9031bbd22bf3b 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..1d19e87783184 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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-a520.c 
b/clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
index 5c5f9ba81b5b8..ec9bd57e2f46a 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..dc17a6002edd7 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..73a85fbde9ed1 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..30889afc21001 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..b237402806dc5 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..9f322c3493eaa 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..4aece391014e5 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..43c50f78b5b13 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..210db86018c37 100644
--- a/clang/test/Driver/print-enabled-extensions/aarch64-gb10.c
+++ b/clang/test/Driver/print-enabled-extensions/aarch64-gb10.c
@@ -28,7 +28,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..a0541f2696453 100644
--- a/clang/test/Driver/print-enabled-extensions/aarch64-hip12.c
+++ b/clang/test/Driver/print-enabled-extensions/aarch64-hip12.c
@@ -30,7 +30,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..bb1703d2e9ed1 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..64e7c7c37289f 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..8ddfd3c390757 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,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..647f28b9c86af 100644
--- a/clang/test/Driver/print-enabled-extensions/aarch64-olympus.c
+++ b/clang/test/Driver/print-enabled-extensions/aarch64-olympus.c
@@ -35,7 +35,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..1b37fbae4136a 100644
--- a/clang/test/Driver/print-enabled-extensions/aarch64-rigel.c
+++ b/clang/test/Driver/print-enabled-extensions/aarch64-rigel.c
@@ -35,7 +35,7 @@
 // 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_HCX                                               
Accepted for backwards compatibility; has no effect
 // 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..c8a5ed20ad939 100644
--- a/llvm/lib/Target/AArch64/AArch64Features.td
+++ b/llvm/lib/Target/AArch64/AArch64Features.td
@@ -304,7 +304,7 @@ 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">;
+  "Accepted for backwards compatibility; has no effect">;
 
 def FeatureLS64 : ExtensionWithMArch<"ls64", "LS64",
   "FEAT_LS64, FEAT_LS64_V, FEAT_LS64_ACCDATA",

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to