[llvm] [AArch64] Remove apple-a7-sysreg. (PR #102709)
Ahmed Bougacha via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 9 18:03:00 PDT 2024
https://github.com/ahmedbougacha created https://github.com/llvm/llvm-project/pull/102709
This feature provided CPM_IOACC_CTL_EL3, a lone system register that has been carried over since the original ARM64 implementation, where it was the only processor-specific register in a long list of architectural sysregs. We don't need it here.
It's been used as a generic processor-specific sysreg in tests, but the functionality they target is now better covered in other more exhaustive tests.
>From 2e18e04e488456e377c6afc55de0f831a1013675 Mon Sep 17 00:00:00 2001
From: Ahmed Bougacha <ahmed at bougacha.org>
Date: Fri, 9 Aug 2024 17:39:17 -0700
Subject: [PATCH] [AArch64] Remove apple-a7-sysreg.
This feature provided CPM_IOACC_CTL_EL3, a lone system register that has
been carried over since the original ARM64 implementation, where it was
the only processor-specific register in a long list of architectural
sysregs. We don't need it here.
It's been used as a generic processor-specific sysreg in tests, but the
functionality they target is now better covered in other more exhaustive
tests.
---
llvm/lib/Target/AArch64/AArch64Features.td | 3 ---
llvm/lib/Target/AArch64/AArch64Processors.td | 2 +-
llvm/lib/Target/AArch64/AArch64SystemOperands.td | 5 -----
.../CodeGen/AArch64/print-mrs-system-register.ll | 11 -----------
.../MC/AArch64/arm64-target-specific-sysreg.s | 10 ----------
.../AArch64/Inputs/print-mrs.obj.macho-aarch64 | Bin 348 -> 0 bytes
.../MachO/AArch64/macho-print-mrs.test | 3 ---
7 files changed, 1 insertion(+), 33 deletions(-)
delete mode 100644 llvm/test/CodeGen/AArch64/print-mrs-system-register.ll
delete mode 100644 llvm/test/MC/AArch64/arm64-target-specific-sysreg.s
delete mode 100644 llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/print-mrs.obj.macho-aarch64
delete mode 100644 llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test
diff --git a/llvm/lib/Target/AArch64/AArch64Features.td b/llvm/lib/Target/AArch64/AArch64Features.td
index 2aa74deb0e850c..7b1efdac01e663 100644
--- a/llvm/lib/Target/AArch64/AArch64Features.td
+++ b/llvm/lib/Target/AArch64/AArch64Features.td
@@ -720,9 +720,6 @@ def FeatureTaggedGlobals : SubtargetFeature<"tagged-globals",
"true", "Use an instruction sequence for taking the address of a global "
"that allows a memory tag in the upper address bits">;
-def FeatureAppleA7SysReg : SubtargetFeature<"apple-a7-sysreg", "HasAppleA7SysReg", "true",
- "Apple A7 (the CPU formerly known as Cyclone)">;
-
def FeatureEL2VMSA : SubtargetFeature<"el2vmsa", "HasEL2VMSA", "true",
"Enable Exception Level 2 Virtual Memory System Architecture">;
diff --git a/llvm/lib/Target/AArch64/AArch64Processors.td b/llvm/lib/Target/AArch64/AArch64Processors.td
index 52b5c8a0903ea6..83f7fa761e00ea 100644
--- a/llvm/lib/Target/AArch64/AArch64Processors.td
+++ b/llvm/lib/Target/AArch64/AArch64Processors.td
@@ -835,7 +835,7 @@ def ProcessorFeatures {
FeatureFullFP16, FeatureCRC, FeatureLSE, FeatureRAS, FeatureRDM,
FeatureFPARMv8];
list<SubtargetFeature> AppleA7 = [HasV8_0aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8,
- FeatureNEON,FeaturePerfMon, FeatureAppleA7SysReg];
+ FeatureNEON,FeaturePerfMon];
list<SubtargetFeature> AppleA10 = [HasV8_0aOps, FeatureSHA2, FeatureAES, FeatureFPARMv8,
FeatureNEON, FeaturePerfMon, FeatureCRC,
FeatureRDM, FeaturePAN, FeatureLOR, FeatureVH];
diff --git a/llvm/lib/Target/AArch64/AArch64SystemOperands.td b/llvm/lib/Target/AArch64/AArch64SystemOperands.td
index 0b5bc97674c768..e8353251e1357a 100644
--- a/llvm/lib/Target/AArch64/AArch64SystemOperands.td
+++ b/llvm/lib/Target/AArch64/AArch64SystemOperands.td
@@ -1746,11 +1746,6 @@ foreach n = 0-31 in {
let Requires = [{ {AArch64::FeatureSPE_EEF} }] in
def : RWSysReg<"PMSNEVFR_EL1", 0b11, 0b000, 0b1001, 0b1001, 0b001>;
-// Cyclone specific system registers
-// Op0 Op1 CRn CRm Op2
-let Requires = [{ {AArch64::FeatureAppleA7SysReg} }] in
-def : RWSysReg<"CPM_IOACC_CTL_EL3", 0b11, 0b111, 0b1111, 0b0010, 0b000>;
-
// Scalable Matrix Extension (SME)
// Op0 Op1 CRn CRm Op2
let Requires = [{ {AArch64::FeatureSME} }] in {
diff --git a/llvm/test/CodeGen/AArch64/print-mrs-system-register.ll b/llvm/test/CodeGen/AArch64/print-mrs-system-register.ll
deleted file mode 100644
index 3411ed6161bdbd..00000000000000
--- a/llvm/test/CodeGen/AArch64/print-mrs-system-register.ll
+++ /dev/null
@@ -1,11 +0,0 @@
-; RUN: llc -mtriple=arm64-apple-darwin %s -o - | FileCheck %s
-
-; CHECK: mrs x0, CPM_IOACC_CTL_EL3
-
-define void @foo1() #0 {
-entry:
- tail call void asm sideeffect "mrs x0, cpm_ioacc_ctl_el3", ""()
- ret void
-}
-
-attributes #0 = { "target-cpu"="cyclone" }
diff --git a/llvm/test/MC/AArch64/arm64-target-specific-sysreg.s b/llvm/test/MC/AArch64/arm64-target-specific-sysreg.s
deleted file mode 100644
index 05cea3ac2da55f..00000000000000
--- a/llvm/test/MC/AArch64/arm64-target-specific-sysreg.s
+++ /dev/null
@@ -1,10 +0,0 @@
-// RUN: not llvm-mc -triple arm64 -mcpu=generic -show-encoding < %s 2>&1 | \
-// RUN: FileCheck %s --check-prefix=CHECK-GENERIC
-//
-// RUN: llvm-mc -triple arm64 -mcpu=cyclone -show-encoding < %s 2>&1 | \
-// RUN: FileCheck %s --check-prefix=CHECK-CYCLONE
-
-msr CPM_IOACC_CTL_EL3, x0
-
-// CHECK-GENERIC: error: expected writable system register or pstate
-// CHECK-CYCLONE: msr CPM_IOACC_CTL_EL3, x0 // encoding: [0x00,0xf2,0x1f,0xd5]
diff --git a/llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/print-mrs.obj.macho-aarch64 b/llvm/test/tools/llvm-objdump/MachO/AArch64/Inputs/print-mrs.obj.macho-aarch64
deleted file mode 100644
index 06cb13d07dafc5fa60ab0981ef0d3a22a371e835..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 348
zcmX^A>+L at t1_nk3AOI1}Fopt%!N4F1#52Gw>;zCR7$|^EU|@jp*@2=U3>9XGk1t8B
zD1oR2k at 4{%t`Q*!K8yv^4>FGlCJ3Tg7#fhdAUO#j)`6<?0n!3MJ~t2t05J%F?1o_!
uv%s=M5})j^GB7j*9bk^X2J#Od$UrCnG5L}B4Do6C`9=&mCAkF#ASD3PO%vDv
diff --git a/llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test b/llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test
deleted file mode 100644
index cd40f0e849c5e8..00000000000000
--- a/llvm/test/tools/llvm-objdump/MachO/AArch64/macho-print-mrs.test
+++ /dev/null
@@ -1,3 +0,0 @@
-RUN: llvm-objdump -d -m --no-show-raw-insn %p/Inputs/print-mrs.obj.macho-aarch64 | FileCheck %s
-
-CHECK: 0: mrs x0, CPM_IOACC_CTL_EL3
More information about the llvm-commits
mailing list