aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-11-27 15:39:12 +0000
committerMatthew Wahab <matthew.wahab@arm.com>2015-11-27 15:39:12 +0000
commit64357d2e04994ba161b4a99ef2bc45db0c180ea0 (patch)
treeac8dc52a020827c68bda9666800e021c6dbcdb1b /gas
parentd685192a58d4c198633bd0e69cfe0a114576e98a (diff)
downloadgdb-64357d2e04994ba161b4a99ef2bc45db0c180ea0.zip
gdb-64357d2e04994ba161b4a99ef2bc45db0c180ea0.tar.gz
gdb-64357d2e04994ba161b4a99ef2bc45db0c180ea0.tar.bz2
[AArch64] Add ARMv8.2 instruction alias REV64.
This patch adds the alias REV64 <Rd>, <Rs> as an alias for REV <Rd>, <Rs>. However, REV is still the preferred form for the instruction. gas/testsuite/ 2015-11-27 Matthew Wahab <matthew.wahab@arm.com> * gas/aarch64/alias-2.d: Add tests for REV. * gas/aarch64/alias-2.s: Likewise. opcodes/ 2015-11-27 Matthew Wahab <matthew.wahab@arm.com> * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. * aarch64-tbl.h (aarchr64_opcode_table): Update "rev", add "rev64". Change-Id: I331567c8d3618ba9fec1673c6e0b5977222dde61
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog5
-rw-r--r--gas/testsuite/gas/aarch64/alias-2.d12
-rw-r--r--gas/testsuite/gas/aarch64/alias-2.s12
3 files changed, 29 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 29e501a..1f1b863 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2015-11-27 Matthew Wahab <matthew.wahab@arm.com>
+ * gas/aarch64/alias-2.d: Add tests for REV.
+ * gas/aarch64/alias-2.s: Likewise.
+
+2015-11-27 Matthew Wahab <matthew.wahab@arm.com>
+
* gas/aarch64/alias-2.d: New.
* gas/aarch64/alias-2.s: New.
diff --git a/gas/testsuite/gas/aarch64/alias-2.d b/gas/testsuite/gas/aarch64/alias-2.d
index 92ed58f..64a94a4 100644
--- a/gas/testsuite/gas/aarch64/alias-2.d
+++ b/gas/testsuite/gas/aarch64/alias-2.d
@@ -96,3 +96,15 @@ Disassembly of section \.text:
[0-9a-f]+: b3611fff bfc xzr, #31, #8
[0-9a-f]+: b3403be0 bfxil x0, xzr, #0, #15
[0-9a-f]+: b3613bff bfc xzr, #31, #15
+ [0-9a-f]+: dac00fe0 rev x0, xzr
+ [0-9a-f]+: dac00c20 rev x0, x1
+ [0-9a-f]+: dac00c3f rev xzr, x1
+ [0-9a-f]+: dac00fff rev xzr, xzr
+ [0-9a-f]+: dac007e0 rev16 x0, xzr
+ [0-9a-f]+: dac00420 rev16 x0, x1
+ [0-9a-f]+: dac0043f rev16 xzr, x1
+ [0-9a-f]+: dac007ff rev16 xzr, xzr
+ [0-9a-f]+: dac00fe0 rev x0, xzr
+ [0-9a-f]+: dac00c20 rev x0, x1
+ [0-9a-f]+: dac00c3f rev xzr, x1
+ [0-9a-f]+: dac00fff rev xzr, xzr
diff --git a/gas/testsuite/gas/aarch64/alias-2.s b/gas/testsuite/gas/aarch64/alias-2.s
index d952c97..86b561d 100644
--- a/gas/testsuite/gas/aarch64/alias-2.s
+++ b/gas/testsuite/gas/aarch64/alias-2.s
@@ -15,6 +15,14 @@
bfc xzr, #\imm, #\width
.endm
+ /* <rev> [Xd|xzr], [Xr|xzr] */
+ .macro rev_inst op
+ \op x0, xzr
+ \op x0, x1
+ \op xzr, x1
+ \op xzr, xzr
+ .endm
+
.text
.irp op, bfm, bfi
.irp imm, 1, 16, 31
@@ -29,3 +37,7 @@
bfc_inst \imm, \width
.endr
.endr
+
+ .irp op, rev, rev16, rev64
+ rev_inst \op
+ .endr