[PATCH 21/43] aarch64: Add new test advsimd-scalar-shift-immediate.d

Alice Carlotti alice.carlotti@arm.com
Mon Apr 21 21:22:38 GMT 2025


All instructions were previously untested.


diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.d b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.d
new file mode 100644
index 0000000000000000000000000000000000000000..8a511fccc713610b4795f7ae376216d5e50bfb47
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.d
@@ -0,0 +1,173 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+:	5f400400 	sshr	d0, d0, #64
+ *[0-9a-f]+:	5f40041f 	sshr	d31, d0, #64
+ *[0-9a-f]+:	5f4007e0 	sshr	d0, d31, #64
+ *[0-9a-f]+:	5f7f0400 	sshr	d0, d0, #1
+ *[0-9a-f]+:	5f401400 	ssra	d0, d0, #64
+ *[0-9a-f]+:	5f40141f 	ssra	d31, d0, #64
+ *[0-9a-f]+:	5f4017e0 	ssra	d0, d31, #64
+ *[0-9a-f]+:	5f7f1400 	ssra	d0, d0, #1
+ *[0-9a-f]+:	5f402400 	srshr	d0, d0, #64
+ *[0-9a-f]+:	5f40241f 	srshr	d31, d0, #64
+ *[0-9a-f]+:	5f4027e0 	srshr	d0, d31, #64
+ *[0-9a-f]+:	5f7f2400 	srshr	d0, d0, #1
+ *[0-9a-f]+:	5f403400 	srsra	d0, d0, #64
+ *[0-9a-f]+:	5f40341f 	srsra	d31, d0, #64
+ *[0-9a-f]+:	5f4037e0 	srsra	d0, d31, #64
+ *[0-9a-f]+:	5f7f3400 	srsra	d0, d0, #1
+ *[0-9a-f]+:	5f405400 	shl	d0, d0, #0
+ *[0-9a-f]+:	5f40541f 	shl	d31, d0, #0
+ *[0-9a-f]+:	5f4057e0 	shl	d0, d31, #0
+ *[0-9a-f]+:	5f7f5400 	shl	d0, d0, #63
+ *[0-9a-f]+:	5f087400 	sqshl	b0, b0, #0
+ *[0-9a-f]+:	5f08741f 	sqshl	b31, b0, #0
+ *[0-9a-f]+:	5f0877e0 	sqshl	b0, b31, #0
+ *[0-9a-f]+:	5f0f7400 	sqshl	b0, b0, #7
+ *[0-9a-f]+:	5f107400 	sqshl	h0, h0, #0
+ *[0-9a-f]+:	5f10741f 	sqshl	h31, h0, #0
+ *[0-9a-f]+:	5f1077e0 	sqshl	h0, h31, #0
+ *[0-9a-f]+:	5f1f7400 	sqshl	h0, h0, #15
+ *[0-9a-f]+:	5f207400 	sqshl	s0, s0, #0
+ *[0-9a-f]+:	5f20741f 	sqshl	s31, s0, #0
+ *[0-9a-f]+:	5f2077e0 	sqshl	s0, s31, #0
+ *[0-9a-f]+:	5f3f7400 	sqshl	s0, s0, #31
+ *[0-9a-f]+:	5f407400 	sqshl	d0, d0, #0
+ *[0-9a-f]+:	5f40741f 	sqshl	d31, d0, #0
+ *[0-9a-f]+:	5f4077e0 	sqshl	d0, d31, #0
+ *[0-9a-f]+:	5f7f7400 	sqshl	d0, d0, #63
+ *[0-9a-f]+:	5f089400 	sqshrn	b0, h0, #8
+ *[0-9a-f]+:	5f08941f 	sqshrn	b31, h0, #8
+ *[0-9a-f]+:	5f0897e0 	sqshrn	b0, h31, #8
+ *[0-9a-f]+:	5f0f9400 	sqshrn	b0, h0, #1
+ *[0-9a-f]+:	5f109400 	sqshrn	h0, s0, #16
+ *[0-9a-f]+:	5f10941f 	sqshrn	h31, s0, #16
+ *[0-9a-f]+:	5f1097e0 	sqshrn	h0, s31, #16
+ *[0-9a-f]+:	5f1f9400 	sqshrn	h0, s0, #1
+ *[0-9a-f]+:	5f209400 	sqshrn	s0, d0, #32
+ *[0-9a-f]+:	5f20941f 	sqshrn	s31, d0, #32
+ *[0-9a-f]+:	5f2097e0 	sqshrn	s0, d31, #32
+ *[0-9a-f]+:	5f3f9400 	sqshrn	s0, d0, #1
+ *[0-9a-f]+:	5f089c00 	sqrshrn	b0, h0, #8
+ *[0-9a-f]+:	5f089c1f 	sqrshrn	b31, h0, #8
+ *[0-9a-f]+:	5f089fe0 	sqrshrn	b0, h31, #8
+ *[0-9a-f]+:	5f0f9c00 	sqrshrn	b0, h0, #1
+ *[0-9a-f]+:	5f109c00 	sqrshrn	h0, s0, #16
+ *[0-9a-f]+:	5f109c1f 	sqrshrn	h31, s0, #16
+ *[0-9a-f]+:	5f109fe0 	sqrshrn	h0, s31, #16
+ *[0-9a-f]+:	5f1f9c00 	sqrshrn	h0, s0, #1
+ *[0-9a-f]+:	5f209c00 	sqrshrn	s0, d0, #32
+ *[0-9a-f]+:	5f209c1f 	sqrshrn	s31, d0, #32
+ *[0-9a-f]+:	5f209fe0 	sqrshrn	s0, d31, #32
+ *[0-9a-f]+:	5f3f9c00 	sqrshrn	s0, d0, #1
+ *[0-9a-f]+:	7f400400 	ushr	d0, d0, #64
+ *[0-9a-f]+:	7f40041f 	ushr	d31, d0, #64
+ *[0-9a-f]+:	7f4007e0 	ushr	d0, d31, #64
+ *[0-9a-f]+:	7f7f0400 	ushr	d0, d0, #1
+ *[0-9a-f]+:	7f401400 	usra	d0, d0, #64
+ *[0-9a-f]+:	7f40141f 	usra	d31, d0, #64
+ *[0-9a-f]+:	7f4017e0 	usra	d0, d31, #64
+ *[0-9a-f]+:	7f7f1400 	usra	d0, d0, #1
+ *[0-9a-f]+:	7f402400 	urshr	d0, d0, #64
+ *[0-9a-f]+:	7f40241f 	urshr	d31, d0, #64
+ *[0-9a-f]+:	7f4027e0 	urshr	d0, d31, #64
+ *[0-9a-f]+:	7f7f2400 	urshr	d0, d0, #1
+ *[0-9a-f]+:	7f403400 	ursra	d0, d0, #64
+ *[0-9a-f]+:	7f40341f 	ursra	d31, d0, #64
+ *[0-9a-f]+:	7f4037e0 	ursra	d0, d31, #64
+ *[0-9a-f]+:	7f7f3400 	ursra	d0, d0, #1
+ *[0-9a-f]+:	7f404400 	sri	d0, d0, #64
+ *[0-9a-f]+:	7f40441f 	sri	d31, d0, #64
+ *[0-9a-f]+:	7f4047e0 	sri	d0, d31, #64
+ *[0-9a-f]+:	7f7f4400 	sri	d0, d0, #1
+ *[0-9a-f]+:	7f405400 	sli	d0, d0, #0
+ *[0-9a-f]+:	7f40541f 	sli	d31, d0, #0
+ *[0-9a-f]+:	7f4057e0 	sli	d0, d31, #0
+ *[0-9a-f]+:	7f7f5400 	sli	d0, d0, #63
+ *[0-9a-f]+:	7f086400 	sqshlu	b0, b0, #0
+ *[0-9a-f]+:	7f08641f 	sqshlu	b31, b0, #0
+ *[0-9a-f]+:	7f0867e0 	sqshlu	b0, b31, #0
+ *[0-9a-f]+:	7f0f6400 	sqshlu	b0, b0, #7
+ *[0-9a-f]+:	7f106400 	sqshlu	h0, h0, #0
+ *[0-9a-f]+:	7f10641f 	sqshlu	h31, h0, #0
+ *[0-9a-f]+:	7f1067e0 	sqshlu	h0, h31, #0
+ *[0-9a-f]+:	7f1f6400 	sqshlu	h0, h0, #15
+ *[0-9a-f]+:	7f206400 	sqshlu	s0, s0, #0
+ *[0-9a-f]+:	7f20641f 	sqshlu	s31, s0, #0
+ *[0-9a-f]+:	7f2067e0 	sqshlu	s0, s31, #0
+ *[0-9a-f]+:	7f3f6400 	sqshlu	s0, s0, #31
+ *[0-9a-f]+:	7f406400 	sqshlu	d0, d0, #0
+ *[0-9a-f]+:	7f40641f 	sqshlu	d31, d0, #0
+ *[0-9a-f]+:	7f4067e0 	sqshlu	d0, d31, #0
+ *[0-9a-f]+:	7f7f6400 	sqshlu	d0, d0, #63
+ *[0-9a-f]+:	7f087400 	uqshl	b0, b0, #0
+ *[0-9a-f]+:	7f08741f 	uqshl	b31, b0, #0
+ *[0-9a-f]+:	7f0877e0 	uqshl	b0, b31, #0
+ *[0-9a-f]+:	7f0f7400 	uqshl	b0, b0, #7
+ *[0-9a-f]+:	7f107400 	uqshl	h0, h0, #0
+ *[0-9a-f]+:	7f10741f 	uqshl	h31, h0, #0
+ *[0-9a-f]+:	7f1077e0 	uqshl	h0, h31, #0
+ *[0-9a-f]+:	7f1f7400 	uqshl	h0, h0, #15
+ *[0-9a-f]+:	7f207400 	uqshl	s0, s0, #0
+ *[0-9a-f]+:	7f20741f 	uqshl	s31, s0, #0
+ *[0-9a-f]+:	7f2077e0 	uqshl	s0, s31, #0
+ *[0-9a-f]+:	7f3f7400 	uqshl	s0, s0, #31
+ *[0-9a-f]+:	7f407400 	uqshl	d0, d0, #0
+ *[0-9a-f]+:	7f40741f 	uqshl	d31, d0, #0
+ *[0-9a-f]+:	7f4077e0 	uqshl	d0, d31, #0
+ *[0-9a-f]+:	7f7f7400 	uqshl	d0, d0, #63
+ *[0-9a-f]+:	7f088400 	sqshrun	b0, h0, #8
+ *[0-9a-f]+:	7f08841f 	sqshrun	b31, h0, #8
+ *[0-9a-f]+:	7f0887e0 	sqshrun	b0, h31, #8
+ *[0-9a-f]+:	7f0f8400 	sqshrun	b0, h0, #1
+ *[0-9a-f]+:	7f108400 	sqshrun	h0, s0, #16
+ *[0-9a-f]+:	7f10841f 	sqshrun	h31, s0, #16
+ *[0-9a-f]+:	7f1087e0 	sqshrun	h0, s31, #16
+ *[0-9a-f]+:	7f1f8400 	sqshrun	h0, s0, #1
+ *[0-9a-f]+:	7f208400 	sqshrun	s0, d0, #32
+ *[0-9a-f]+:	7f20841f 	sqshrun	s31, d0, #32
+ *[0-9a-f]+:	7f2087e0 	sqshrun	s0, d31, #32
+ *[0-9a-f]+:	7f3f8400 	sqshrun	s0, d0, #1
+ *[0-9a-f]+:	7f088c00 	sqrshrun	b0, h0, #8
+ *[0-9a-f]+:	7f088c1f 	sqrshrun	b31, h0, #8
+ *[0-9a-f]+:	7f088fe0 	sqrshrun	b0, h31, #8
+ *[0-9a-f]+:	7f0f8c00 	sqrshrun	b0, h0, #1
+ *[0-9a-f]+:	7f108c00 	sqrshrun	h0, s0, #16
+ *[0-9a-f]+:	7f108c1f 	sqrshrun	h31, s0, #16
+ *[0-9a-f]+:	7f108fe0 	sqrshrun	h0, s31, #16
+ *[0-9a-f]+:	7f1f8c00 	sqrshrun	h0, s0, #1
+ *[0-9a-f]+:	7f208c00 	sqrshrun	s0, d0, #32
+ *[0-9a-f]+:	7f208c1f 	sqrshrun	s31, d0, #32
+ *[0-9a-f]+:	7f208fe0 	sqrshrun	s0, d31, #32
+ *[0-9a-f]+:	7f3f8c00 	sqrshrun	s0, d0, #1
+ *[0-9a-f]+:	7f089400 	uqshrn	b0, h0, #8
+ *[0-9a-f]+:	7f08941f 	uqshrn	b31, h0, #8
+ *[0-9a-f]+:	7f0897e0 	uqshrn	b0, h31, #8
+ *[0-9a-f]+:	7f0f9400 	uqshrn	b0, h0, #1
+ *[0-9a-f]+:	7f109400 	uqshrn	h0, s0, #16
+ *[0-9a-f]+:	7f10941f 	uqshrn	h31, s0, #16
+ *[0-9a-f]+:	7f1097e0 	uqshrn	h0, s31, #16
+ *[0-9a-f]+:	7f1f9400 	uqshrn	h0, s0, #1
+ *[0-9a-f]+:	7f209400 	uqshrn	s0, d0, #32
+ *[0-9a-f]+:	7f20941f 	uqshrn	s31, d0, #32
+ *[0-9a-f]+:	7f2097e0 	uqshrn	s0, d31, #32
+ *[0-9a-f]+:	7f3f9400 	uqshrn	s0, d0, #1
+ *[0-9a-f]+:	7f089c00 	uqrshrn	b0, h0, #8
+ *[0-9a-f]+:	7f089c1f 	uqrshrn	b31, h0, #8
+ *[0-9a-f]+:	7f089fe0 	uqrshrn	b0, h31, #8
+ *[0-9a-f]+:	7f0f9c00 	uqrshrn	b0, h0, #1
+ *[0-9a-f]+:	7f109c00 	uqrshrn	h0, s0, #16
+ *[0-9a-f]+:	7f109c1f 	uqrshrn	h31, s0, #16
+ *[0-9a-f]+:	7f109fe0 	uqrshrn	h0, s31, #16
+ *[0-9a-f]+:	7f1f9c00 	uqrshrn	h0, s0, #1
+ *[0-9a-f]+:	7f209c00 	uqrshrn	s0, d0, #32
+ *[0-9a-f]+:	7f209c1f 	uqrshrn	s31, d0, #32
+ *[0-9a-f]+:	7f209fe0 	uqrshrn	s0, d31, #32
+ *[0-9a-f]+:	7f3f9c00 	uqrshrn	s0, d0, #1
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.s b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.s
new file mode 100644
index 0000000000000000000000000000000000000000..bddc9cb2a1a0c1b7711710f1a10b3ce8c5046660
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.s
@@ -0,0 +1,183 @@
+	sshr	d0, d0, #64
+	sshr	d31, d0, #64
+	sshr	d0, d31, #64
+	sshr	d0, d0, #1
+
+	ssra	d0, d0, #64
+	ssra	d31, d0, #64
+	ssra	d0, d31, #64
+	ssra	d0, d0, #1
+
+	srshr	d0, d0, #64
+	srshr	d31, d0, #64
+	srshr	d0, d31, #64
+	srshr	d0, d0, #1
+
+	srsra	d0, d0, #64
+	srsra	d31, d0, #64
+	srsra	d0, d31, #64
+	srsra	d0, d0, #1
+
+	shl	d0, d0, #0
+	shl	d31, d0, #0
+	shl	d0, d31, #0
+	shl	d0, d0, #63
+
+	sqshl	b0, b0, #0
+	sqshl	b31, b0, #0
+	sqshl	b0, b31, #0
+	sqshl	b0, b0, #7
+	sqshl	h0, h0, #0
+	sqshl	h31, h0, #0
+	sqshl	h0, h31, #0
+	sqshl	h0, h0, #15
+	sqshl	s0, s0, #0
+	sqshl	s31, s0, #0
+	sqshl	s0, s31, #0
+	sqshl	s0, s0, #31
+	sqshl	d0, d0, #0
+	sqshl	d31, d0, #0
+	sqshl	d0, d31, #0
+	sqshl	d0, d0, #63
+
+	sqshrn	b0, h0, #8
+	sqshrn	b31, h0, #8
+	sqshrn	b0, h31, #8
+	sqshrn	b0, h0, #1
+	sqshrn	h0, s0, #16
+	sqshrn	h31, s0, #16
+	sqshrn	h0, s31, #16
+	sqshrn	h0, s0, #1
+	sqshrn	s0, d0, #32
+	sqshrn	s31, d0, #32
+	sqshrn	s0, d31, #32
+	sqshrn	s0, d0, #1
+
+	sqrshrn	b0, h0, #8
+	sqrshrn	b31, h0, #8
+	sqrshrn	b0, h31, #8
+	sqrshrn	b0, h0, #1
+	sqrshrn	h0, s0, #16
+	sqrshrn	h31, s0, #16
+	sqrshrn	h0, s31, #16
+	sqrshrn	h0, s0, #1
+	sqrshrn	s0, d0, #32
+	sqrshrn	s31, d0, #32
+	sqrshrn	s0, d31, #32
+	sqrshrn	s0, d0, #1
+
+	ushr	d0, d0, #64
+	ushr	d31, d0, #64
+	ushr	d0, d31, #64
+	ushr	d0, d0, #1
+
+	usra	d0, d0, #64
+	usra	d31, d0, #64
+	usra	d0, d31, #64
+	usra	d0, d0, #1
+
+	urshr	d0, d0, #64
+	urshr	d31, d0, #64
+	urshr	d0, d31, #64
+	urshr	d0, d0, #1
+
+	ursra	d0, d0, #64
+	ursra	d31, d0, #64
+	ursra	d0, d31, #64
+	ursra	d0, d0, #1
+
+	sri	d0, d0, #64
+	sri	d31, d0, #64
+	sri	d0, d31, #64
+	sri	d0, d0, #1
+
+	sli	d0, d0, #0
+	sli	d31, d0, #0
+	sli	d0, d31, #0
+	sli	d0, d0, #63
+
+	sqshlu	b0, b0, #0
+	sqshlu	b31, b0, #0
+	sqshlu	b0, b31, #0
+	sqshlu	b0, b0, #7
+	sqshlu	h0, h0, #0
+	sqshlu	h31, h0, #0
+	sqshlu	h0, h31, #0
+	sqshlu	h0, h0, #15
+	sqshlu	s0, s0, #0
+	sqshlu	s31, s0, #0
+	sqshlu	s0, s31, #0
+	sqshlu	s0, s0, #31
+	sqshlu	d0, d0, #0
+	sqshlu	d31, d0, #0
+	sqshlu	d0, d31, #0
+	sqshlu	d0, d0, #63
+
+	uqshl	b0, b0, #0
+	uqshl	b31, b0, #0
+	uqshl	b0, b31, #0
+	uqshl	b0, b0, #7
+	uqshl	h0, h0, #0
+	uqshl	h31, h0, #0
+	uqshl	h0, h31, #0
+	uqshl	h0, h0, #15
+	uqshl	s0, s0, #0
+	uqshl	s31, s0, #0
+	uqshl	s0, s31, #0
+	uqshl	s0, s0, #31
+	uqshl	d0, d0, #0
+	uqshl	d31, d0, #0
+	uqshl	d0, d31, #0
+	uqshl	d0, d0, #63
+
+	sqshrun	b0, h0, #8
+	sqshrun	b31, h0, #8
+	sqshrun	b0, h31, #8
+	sqshrun	b0, h0, #1
+	sqshrun	h0, s0, #16
+	sqshrun	h31, s0, #16
+	sqshrun	h0, s31, #16
+	sqshrun	h0, s0, #1
+	sqshrun	s0, d0, #32
+	sqshrun	s31, d0, #32
+	sqshrun	s0, d31, #32
+	sqshrun	s0, d0, #1
+
+	sqrshrun	b0, h0, #8
+	sqrshrun	b31, h0, #8
+	sqrshrun	b0, h31, #8
+	sqrshrun	b0, h0, #1
+	sqrshrun	h0, s0, #16
+	sqrshrun	h31, s0, #16
+	sqrshrun	h0, s31, #16
+	sqrshrun	h0, s0, #1
+	sqrshrun	s0, d0, #32
+	sqrshrun	s31, d0, #32
+	sqrshrun	s0, d31, #32
+	sqrshrun	s0, d0, #1
+
+	uqshrn	b0, h0, #8
+	uqshrn	b31, h0, #8
+	uqshrn	b0, h31, #8
+	uqshrn	b0, h0, #1
+	uqshrn	h0, s0, #16
+	uqshrn	h31, s0, #16
+	uqshrn	h0, s31, #16
+	uqshrn	h0, s0, #1
+	uqshrn	s0, d0, #32
+	uqshrn	s31, d0, #32
+	uqshrn	s0, d31, #32
+	uqshrn	s0, d0, #1
+
+	uqrshrn	b0, h0, #8
+	uqrshrn	b31, h0, #8
+	uqrshrn	b0, h31, #8
+	uqrshrn	b0, h0, #1
+	uqrshrn	h0, s0, #16
+	uqrshrn	h31, s0, #16
+	uqrshrn	h0, s31, #16
+	uqrshrn	h0, s0, #1
+	uqrshrn	s0, d0, #32
+	uqrshrn	s31, d0, #32
+	uqrshrn	s0, d31, #32
+	uqrshrn	s0, d0, #1



More information about the Binutils mailing list