aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlice Carlotti <alice.carlotti@arm.com>2025-04-20 23:08:30 +0100
committerAlice Carlotti <alice.carlotti@arm.com>2025-05-09 20:27:21 +0100
commit0d0437c738f7ec5583c460e0d2bd96b8579276e4 (patch)
tree457440709c5ef106655706d4075080c18dbb25bc
parent7e5de6cc9202b3e60a0bec954a59e3550923d710 (diff)
downloadbinutils-0d0437c738f7ec5583c460e0d2bd96b8579276e4.zip
binutils-0d0437c738f7ec5583c460e0d2bd96b8579276e4.tar.gz
binutils-0d0437c738f7ec5583c460e0d2bd96b8579276e4.tar.bz2
aarch64: Add new test dp-general-one-source.d
rev16 and the 64-bit rev/rev64 instructions were already tested, but are included here as part of the same encoding group.
-rw-r--r--gas/testsuite/gas/aarch64/dp-general-one-source.d45
-rw-r--r--gas/testsuite/gas/aarch64/dp-general-one-source.s43
2 files changed, 88 insertions, 0 deletions
diff --git a/gas/testsuite/gas/aarch64/dp-general-one-source.d b/gas/testsuite/gas/aarch64/dp-general-one-source.d
new file mode 100644
index 0000000..56d4700
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dp-general-one-source.d
@@ -0,0 +1,45 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 5ac00000 rbit w0, w0
+ *[0-9a-f]+: 5ac0001f rbit wzr, w0
+ *[0-9a-f]+: 5ac003e0 rbit w0, wzr
+ *[0-9a-f]+: dac00000 rbit x0, x0
+ *[0-9a-f]+: dac0001f rbit xzr, x0
+ *[0-9a-f]+: dac003e0 rbit x0, xzr
+ *[0-9a-f]+: 5ac00400 rev16 w0, w0
+ *[0-9a-f]+: 5ac0041f rev16 wzr, w0
+ *[0-9a-f]+: 5ac007e0 rev16 w0, wzr
+ *[0-9a-f]+: dac00400 rev16 x0, x0
+ *[0-9a-f]+: dac0041f rev16 xzr, x0
+ *[0-9a-f]+: dac007e0 rev16 x0, xzr
+ *[0-9a-f]+: 5ac00800 rev w0, w0
+ *[0-9a-f]+: 5ac0081f rev wzr, w0
+ *[0-9a-f]+: 5ac00be0 rev w0, wzr
+ *[0-9a-f]+: dac00800 rev32 x0, x0
+ *[0-9a-f]+: dac0081f rev32 xzr, x0
+ *[0-9a-f]+: dac00be0 rev32 x0, xzr
+ *[0-9a-f]+: dac00c00 rev x0, x0
+ *[0-9a-f]+: dac00c1f rev xzr, x0
+ *[0-9a-f]+: dac00fe0 rev x0, xzr
+ *[0-9a-f]+: dac00c00 rev x0, x0
+ *[0-9a-f]+: dac00c1f rev xzr, x0
+ *[0-9a-f]+: dac00fe0 rev x0, xzr
+ *[0-9a-f]+: 5ac01000 clz w0, w0
+ *[0-9a-f]+: 5ac0101f clz wzr, w0
+ *[0-9a-f]+: 5ac013e0 clz w0, wzr
+ *[0-9a-f]+: dac01000 clz x0, x0
+ *[0-9a-f]+: dac0101f clz xzr, x0
+ *[0-9a-f]+: dac013e0 clz x0, xzr
+ *[0-9a-f]+: 5ac01400 cls w0, w0
+ *[0-9a-f]+: 5ac0141f cls wzr, w0
+ *[0-9a-f]+: 5ac017e0 cls w0, wzr
+ *[0-9a-f]+: dac01400 cls x0, x0
+ *[0-9a-f]+: dac0141f cls xzr, x0
+ *[0-9a-f]+: dac017e0 cls x0, xzr
diff --git a/gas/testsuite/gas/aarch64/dp-general-one-source.s b/gas/testsuite/gas/aarch64/dp-general-one-source.s
new file mode 100644
index 0000000..5bdb754
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dp-general-one-source.s
@@ -0,0 +1,43 @@
+ rbit w0, w0
+ rbit wzr, w0
+ rbit w0, wzr
+ rbit x0, x0
+ rbit xzr, x0
+ rbit x0, xzr
+
+ rev16 w0, w0
+ rev16 wzr, w0
+ rev16 w0, wzr
+ rev16 x0, x0
+ rev16 xzr, x0
+ rev16 x0, xzr
+
+ rev w0, w0
+ rev wzr, w0
+ rev w0, wzr
+
+ rev32 x0, x0
+ rev32 xzr, x0
+ rev32 x0, xzr
+
+ rev x0, x0
+ rev xzr, x0
+ rev x0, xzr
+
+ rev64 x0, x0
+ rev64 xzr, x0
+ rev64 x0, xzr
+
+ clz w0, w0
+ clz wzr, w0
+ clz w0, wzr
+ clz x0, x0
+ clz xzr, x0
+ clz x0, xzr
+
+ cls w0, w0
+ cls wzr, w0
+ cls w0, wzr
+ cls x0, x0
+ cls xzr, x0
+ cls x0, xzr