[llvm] a918ffe - [AArch64] Implement TRBMPAM_EL1 system register (#102485)

via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 9 03:59:45 PDT 2024


Author: Jonathan Thackray
Date: 2024-08-09T11:59:40+01:00
New Revision: a918ffefb1983a49f0b0f3b28325cfa6530ec08f

URL: https://github.com/llvm/llvm-project/commit/a918ffefb1983a49f0b0f3b28325cfa6530ec08f
DIFF: https://github.com/llvm/llvm-project/commit/a918ffefb1983a49f0b0f3b28325cfa6530ec08f.diff

LOG: [AArch64] Implement TRBMPAM_EL1 system register (#102485)

Implement TRBMPAM_EL1 system register, which was noticed to be missing

Added: 
    

Modified: 
    llvm/lib/Target/AArch64/AArch64SystemOperands.td
    llvm/test/MC/AArch64/trbe-sysreg.s
    llvm/test/MC/Disassembler/AArch64/trbe.txt

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AArch64/AArch64SystemOperands.td b/llvm/lib/Target/AArch64/AArch64SystemOperands.td
index 0b5bc97674c768..cd6e6bffda10bc 100644
--- a/llvm/lib/Target/AArch64/AArch64SystemOperands.td
+++ b/llvm/lib/Target/AArch64/AArch64SystemOperands.td
@@ -1669,6 +1669,7 @@ def : RWSysReg<"TRBPTR_EL1",    0b11, 0b000, 0b1001, 0b1011, 0b001>;
 def : RWSysReg<"TRBBASER_EL1",  0b11, 0b000, 0b1001, 0b1011, 0b010>;
 def : RWSysReg<"TRBSR_EL1",     0b11, 0b000, 0b1001, 0b1011, 0b011>;
 def : RWSysReg<"TRBMAR_EL1",    0b11, 0b000, 0b1001, 0b1011, 0b100>;
+def : RWSysReg<"TRBMPAM_EL1",   0b11, 0b000, 0b1001, 0b1011, 0b101>;
 def : RWSysReg<"TRBTRG_EL1",    0b11, 0b000, 0b1001, 0b1011, 0b110>;
 def : ROSysReg<"TRBIDR_EL1",    0b11, 0b000, 0b1001, 0b1011, 0b111>;
 } // FeatureTRBE

diff  --git a/llvm/test/MC/AArch64/trbe-sysreg.s b/llvm/test/MC/AArch64/trbe-sysreg.s
index f9ba076200bbf2..bf02856e5a69d8 100644
--- a/llvm/test/MC/AArch64/trbe-sysreg.s
+++ b/llvm/test/MC/AArch64/trbe-sysreg.s
@@ -8,6 +8,7 @@ mrs x0, TRBPTR_EL1
 mrs x0, TRBBASER_EL1
 mrs x0, TRBSR_EL1
 mrs x0, TRBMAR_EL1
+mrs x0, TRBMPAM_EL1
 mrs x0, TRBTRG_EL1
 mrs x0, TRBIDR_EL1
 
@@ -16,6 +17,7 @@ mrs x0, TRBIDR_EL1
 // CHECK: mrs x0, TRBBASER_EL1  // encoding: [0x40,0x9b,0x38,0xd5]
 // CHECK: mrs x0, TRBSR_EL1     // encoding: [0x60,0x9b,0x38,0xd5]
 // CHECK: mrs x0, TRBMAR_EL1    // encoding: [0x80,0x9b,0x38,0xd5]
+// CHECK: mrs x0, TRBMPAM_EL1   // encoding: [0xa0,0x9b,0x38,0xd5]
 // CHECK: mrs x0, TRBTRG_EL1    // encoding: [0xc0,0x9b,0x38,0xd5]
 // CHECK: mrs x0, TRBIDR_EL1    // encoding: [0xe0,0x9b,0x38,0xd5]
 
@@ -25,6 +27,7 @@ msr TRBPTR_EL1, x0
 msr TRBBASER_EL1, x0
 msr TRBSR_EL1, x0
 msr TRBMAR_EL1, x0
+msr TRBMPAM_EL1, x0
 msr TRBTRG_EL1, x0
 
 // CHECK: msr TRBLIMITR_EL1, x0 // encoding: [0x00,0x9b,0x18,0xd5]
@@ -32,4 +35,5 @@ msr TRBTRG_EL1, x0
 // CHECK: msr TRBBASER_EL1, x0  // encoding: [0x40,0x9b,0x18,0xd5]
 // CHECK: msr TRBSR_EL1, x0     // encoding: [0x60,0x9b,0x18,0xd5]
 // CHECK: msr TRBMAR_EL1, x0    // encoding: [0x80,0x9b,0x18,0xd5]
+// CHECK: msr TRBMPAM_EL1, x0   // encoding: [0xa0,0x9b,0x18,0xd5]
 // CHECK: msr TRBTRG_EL1, x0    // encoding: [0xc0,0x9b,0x18,0xd5]

diff  --git a/llvm/test/MC/Disassembler/AArch64/trbe.txt b/llvm/test/MC/Disassembler/AArch64/trbe.txt
index 936b2d3070f7d0..551eae221e408a 100644
--- a/llvm/test/MC/Disassembler/AArch64/trbe.txt
+++ b/llvm/test/MC/Disassembler/AArch64/trbe.txt
@@ -8,6 +8,7 @@
 [0x40,0x9b,0x38,0xd5]
 [0x60,0x9b,0x38,0xd5]
 [0x80,0x9b,0x38,0xd5]
+[0xa0,0x9b,0x38,0xd5]
 [0xc0,0x9b,0x38,0xd5]
 [0xe0,0x9b,0x38,0xd5]
 
@@ -16,6 +17,7 @@
 # CHECK: mrs x0, TRBBASER_EL1
 # CHECK: mrs x0, TRBSR_EL1
 # CHECK: mrs x0, TRBMAR_EL1
+# CHECK: mrs x0, TRBMPAM_EL1
 # CHECK: mrs x0, TRBTRG_EL1
 # CHECK: mrs x0, TRBIDR_EL1
 
@@ -25,6 +27,7 @@
 [0x40,0x9b,0x18,0xd5]
 [0x60,0x9b,0x18,0xd5]
 [0x80,0x9b,0x18,0xd5]
+[0xa0,0x9b,0x18,0xd5]
 [0xc0,0x9b,0x18,0xd5]
 
 # CHECK: msr TRBLIMITR_EL1, x0
@@ -32,4 +35,5 @@
 # CHECK: msr TRBBASER_EL1, x0
 # CHECK: msr TRBSR_EL1, x0
 # CHECK: msr TRBMAR_EL1, x0
+# CHECK: msr TRBMPAM_EL1, x0
 # CHECK: msr TRBTRG_EL1, x0


        


More information about the llvm-commits mailing list