[PATCH] D141689: [AArch64] Update 2 RME MEC instruction encodings
Keith Walker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 13 06:46:31 PST 2023
keith.walker.arm created this revision.
keith.walker.arm added reviewers: lenary, vhscampos.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
keith.walker.arm requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
The encodings of these 2 RME MEC instructions are
incorrect and need swapping:
- DC CIPAE
- DC CIGDPAE
The correct encoding is:
Operation op0 op1 CRn CRm op2
DC CIPAE, Xt 0b01 0b100 0b0111 0b1110 0b000
DC CIGDPAE, Xt 0b01 0b100 0b0111 0b1110 0b111
https://reviews.llvm.org/D141689
Files:
llvm/lib/Target/AArch64/AArch64SystemOperands.td
llvm/test/MC/AArch64/armv9a-mec.s
llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
Index: llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
===================================================================
--- llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
+++ llvm/test/MC/Disassembler/AArch64/armv9a-mec.txt
@@ -47,9 +47,9 @@
[0x20,0xaa,0x1e,0xd5]
# CHECK: msr MECID_RL_A_EL3, x0
# CHECK-NO-MEC: msr S3_6_C10_C10_1, x0
-[0x00,0x7e,0x0c,0xd5]
-# CHECK: dc cigdpae, x0
-# CHECK-NO-MEC: sys #4, c7, c14, #0, x0
[0xe0,0x7e,0x0c,0xd5]
-# CHECK: dc cipae, x0
+# CHECK: dc cigdpae, x0
# CHECK-NO-MEC: sys #4, c7, c14, #7, x0
+[0x00,0x7e,0x0c,0xd5]
+# CHECK: dc cipae, x0
+# CHECK-NO-MEC: sys #4, c7, c14, #0, x0
Index: llvm/test/MC/AArch64/armv9a-mec.s
===================================================================
--- llvm/test/MC/AArch64/armv9a-mec.s
+++ llvm/test/MC/AArch64/armv9a-mec.s
@@ -49,8 +49,8 @@
// CHECK-NO-MEC: [[@LINE-2]]:15: error: expected writable system register or pstate
dc cigdpae, x0
-// CHECK: dc cigdpae, x0 // encoding: [0x00,0x7e,0x0c,0xd5]
+// CHECK: dc cigdpae, x0 // encoding: [0xe0,0x7e,0x0c,0xd5]
// CHECK-NO-MEC: [[@LINE-2]]:14: error: DC CIGDPAE requires: mec
dc cipae, x0
-// CHECK: dc cipae, x0 // encoding: [0xe0,0x7e,0x0c,0xd5]
+// CHECK: dc cipae, x0 // encoding: [0x00,0x7e,0x0c,0xd5]
// CHECK-NO-MEC: [[@LINE-2]]:14: error: DC CIPAE requires: mec
Index: llvm/lib/Target/AArch64/AArch64SystemOperands.td
===================================================================
--- llvm/lib/Target/AArch64/AArch64SystemOperands.td
+++ llvm/lib/Target/AArch64/AArch64SystemOperands.td
@@ -168,8 +168,8 @@
}
let Requires = [{ {AArch64::FeatureMEC} }] in {
-def : DC<"CIGDPAE", 0b100, 0b0111, 0b1110, 0b000>;
-def : DC<"CIPAE", 0b100, 0b0111, 0b1110, 0b111>;
+def : DC<"CIPAE", 0b100, 0b0111, 0b1110, 0b000>;
+def : DC<"CIGDPAE", 0b100, 0b0111, 0b1110, 0b111>;
}
//===----------------------------------------------------------------------===//
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141689.488986.patch
Type: text/x-patch
Size: 1993 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230113/feb8aa41/attachment.bin>
More information about the llvm-commits
mailing list