[PATCH 32/43] aarch64: Add new test mov-wide.d

Alice Carlotti alice.carlotti@arm.com
Mon Apr 21 21:26:09 GMT 2025


Only movn was previously untested.


diff --git a/gas/testsuite/gas/aarch64/mov-wide.d b/gas/testsuite/gas/aarch64/mov-wide.d
new file mode 100644
index 0000000000000000000000000000000000000000..66279027ab0ee371c394c91a2491477186b6fb75
--- /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 0000000000000000000000000000000000000000..058e23ef4fe4474cc5b89efb2abefcf13cf1639d
--- /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



More information about the Binutils mailing list