aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlice Carlotti <alice.carlotti@arm.com>2025-04-20 23:12:35 +0100
committerAlice Carlotti <alice.carlotti@arm.com>2025-05-09 20:27:21 +0100
commite82ff7a58146621a20a0467dcd4843cb8c08912d (patch)
tree133b7b22f174af611cad13c3eb3e9f1062c5abe5
parentf495cce64504db4b66a23479022c887fa04a1242 (diff)
downloadbinutils-e82ff7a58146621a20a0467dcd4843cb8c08912d.zip
binutils-e82ff7a58146621a20a0467dcd4843cb8c08912d.tar.gz
binutils-e82ff7a58146621a20a0467dcd4843cb8c08912d.tar.bz2
aarch64: Add new test mov-wide.d
Only movn was previously untested.
-rw-r--r--gas/testsuite/gas/aarch64/mov-wide.d46
-rw-r--r--gas/testsuite/gas/aarch64/mov-wide.s40
2 files changed, 86 insertions, 0 deletions
diff --git a/gas/testsuite/gas/aarch64/mov-wide.d b/gas/testsuite/gas/aarch64/mov-wide.d
new file mode 100644
index 0000000..6627902
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/mov-wide.d
@@ -0,0 +1,46 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 12800000 mov w0, #0xffffffff // #-1
+ *[0-9a-f]+: 1280001f mov wzr, #0xffffffff // #-1
+ *[0-9a-f]+: 129fffe0 movn w0, #0xffff
+ *[0-9a-f]+: 12a00000 movn w0, #0x0, lsl #16
+ *[0-9a-f]+: 92800000 mov x0, #0xffffffffffffffff // #-1
+ *[0-9a-f]+: 9280001f mov xzr, #0xffffffffffffffff // #-1
+ *[0-9a-f]+: 929fffe0 mov x0, #0xffffffffffff0000 // #-65536
+ *[0-9a-f]+: 92e00000 movn x0, #0x0, lsl #48
+ *[0-9a-f]+: 52800000 mov w0, #0x0 // #0
+ *[0-9a-f]+: 5280001f mov wzr, #0x0 // #0
+ *[0-9a-f]+: 529fffe0 mov w0, #0xffff // #65535
+ *[0-9a-f]+: 52a00000 movz w0, #0x0, lsl #16
+ *[0-9a-f]+: d2800000 mov x0, #0x0 // #0
+ *[0-9a-f]+: d280001f mov xzr, #0x0 // #0
+ *[0-9a-f]+: d29fffe0 mov x0, #0xffff // #65535
+ *[0-9a-f]+: d2e00000 movz x0, #0x0, lsl #48
+ *[0-9a-f]+: 72800000 movk w0, #0x0
+ *[0-9a-f]+: 7280001f movk wzr, #0x0
+ *[0-9a-f]+: 729fffe0 movk w0, #0xffff
+ *[0-9a-f]+: 72a00000 movk w0, #0x0, lsl #16
+ *[0-9a-f]+: f2800000 movk x0, #0x0
+ *[0-9a-f]+: f280001f movk xzr, #0x0
+ *[0-9a-f]+: f29fffe0 movk x0, #0xffff
+ *[0-9a-f]+: f2e00000 movk x0, #0x0, lsl #48
+ *[0-9a-f]+: 52800000 mov w0, #0x0 // #0
+ *[0-9a-f]+: 5280001f mov wzr, #0x0 // #0
+ *[0-9a-f]+: 529fffe0 mov w0, #0xffff // #65535
+ *[0-9a-f]+: 52bfffe0 mov w0, #0xffff0000 // #-65536
+ *[0-9a-f]+: 12800000 mov w0, #0xffffffff // #-1
+ *[0-9a-f]+: 12b00000 mov w0, #0x7fffffff // #2147483647
+ *[0-9a-f]+: d2800000 mov x0, #0x0 // #0
+ *[0-9a-f]+: d280001f mov xzr, #0x0 // #0
+ *[0-9a-f]+: d29fffe0 mov x0, #0xffff // #65535
+ *[0-9a-f]+: d2ffffe0 mov x0, #0xffff000000000000 // #-281474976710656
+ *[0-9a-f]+: 92800000 mov x0, #0xffffffffffffffff // #-1
+ *[0-9a-f]+: 929fffe0 mov x0, #0xffffffffffff0000 // #-65536
+ *[0-9a-f]+: 92ffffe0 mov x0, #0xffffffffffff // #281474976710655
diff --git a/gas/testsuite/gas/aarch64/mov-wide.s b/gas/testsuite/gas/aarch64/mov-wide.s
new file mode 100644
index 0000000..058e23e
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/mov-wide.s
@@ -0,0 +1,40 @@
+ movn w0, #0
+ movn wzr, #0, lsl #0
+ movn w0, #65535
+ movn w0, #0, lsl #16
+ movn x0, #0
+ movn xzr, #0, lsl #0
+ movn x0, #65535
+ movn x0, #0, lsl #48
+
+ movz w0, #0
+ movz wzr, #0, lsl #0
+ movz w0, #65535
+ movz w0, #0, lsl #16
+ movz x0, #0
+ movz xzr, #0, lsl #0
+ movz x0, #65535
+ movz x0, #0, lsl #48
+
+ movk w0, #0
+ movk wzr, #0, lsl #0
+ movk w0, #65535
+ movk w0, #0, lsl #16
+ movk x0, #0
+ movk xzr, #0, lsl #0
+ movk x0, #65535
+ movk x0, #0, lsl #48
+
+ mov w0, #0
+ mov wzr, #0
+ mov w0, #65535
+ mov w0, #4294901760
+ mov w0, #-1
+ mov w0, #2147483647
+ mov x0, #0
+ mov xzr, #0
+ mov x0, #65535
+ mov x0, #18446462598732840960
+ mov x0, #-1
+ mov x0, #-65536
+ mov x0, #281474976710655