]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
aarch64: Add new test advsimd-scalar-three-same.d
authorAlice Carlotti <alice.carlotti@arm.com>
Sun, 20 Apr 2025 22:02:42 +0000 (23:02 +0100)
committerAlice Carlotti <alice.carlotti@arm.com>
Fri, 9 May 2025 19:27:20 +0000 (20:27 +0100)
All instructions were previously untested.

gas/testsuite/gas/aarch64/advsimd-scalar-three-same.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/advsimd-scalar-three-same.s [new file with mode: 0644]

diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.d b/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.d
new file mode 100644 (file)
index 0000000..31acbaa
--- /dev/null
@@ -0,0 +1,201 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*:     file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+:   5e200c00        sqadd   b0, b0, b0
+ *[0-9a-f]+:   5e200c1f        sqadd   b31, b0, b0
+ *[0-9a-f]+:   5e200fe0        sqadd   b0, b31, b0
+ *[0-9a-f]+:   5e3f0c00        sqadd   b0, b0, b31
+ *[0-9a-f]+:   5e600c00        sqadd   h0, h0, h0
+ *[0-9a-f]+:   5e600c1f        sqadd   h31, h0, h0
+ *[0-9a-f]+:   5e600fe0        sqadd   h0, h31, h0
+ *[0-9a-f]+:   5e7f0c00        sqadd   h0, h0, h31
+ *[0-9a-f]+:   5ea00c00        sqadd   s0, s0, s0
+ *[0-9a-f]+:   5ea00c1f        sqadd   s31, s0, s0
+ *[0-9a-f]+:   5ea00fe0        sqadd   s0, s31, s0
+ *[0-9a-f]+:   5ebf0c00        sqadd   s0, s0, s31
+ *[0-9a-f]+:   5ee00c00        sqadd   d0, d0, d0
+ *[0-9a-f]+:   5ee00c1f        sqadd   d31, d0, d0
+ *[0-9a-f]+:   5ee00fe0        sqadd   d0, d31, d0
+ *[0-9a-f]+:   5eff0c00        sqadd   d0, d0, d31
+ *[0-9a-f]+:   5e202c00        sqsub   b0, b0, b0
+ *[0-9a-f]+:   5e202c1f        sqsub   b31, b0, b0
+ *[0-9a-f]+:   5e202fe0        sqsub   b0, b31, b0
+ *[0-9a-f]+:   5e3f2c00        sqsub   b0, b0, b31
+ *[0-9a-f]+:   5e602c00        sqsub   h0, h0, h0
+ *[0-9a-f]+:   5e602c1f        sqsub   h31, h0, h0
+ *[0-9a-f]+:   5e602fe0        sqsub   h0, h31, h0
+ *[0-9a-f]+:   5e7f2c00        sqsub   h0, h0, h31
+ *[0-9a-f]+:   5ea02c00        sqsub   s0, s0, s0
+ *[0-9a-f]+:   5ea02c1f        sqsub   s31, s0, s0
+ *[0-9a-f]+:   5ea02fe0        sqsub   s0, s31, s0
+ *[0-9a-f]+:   5ebf2c00        sqsub   s0, s0, s31
+ *[0-9a-f]+:   5ee02c00        sqsub   d0, d0, d0
+ *[0-9a-f]+:   5ee02c1f        sqsub   d31, d0, d0
+ *[0-9a-f]+:   5ee02fe0        sqsub   d0, d31, d0
+ *[0-9a-f]+:   5eff2c00        sqsub   d0, d0, d31
+ *[0-9a-f]+:   5e204c00        sqshl   b0, b0, b0
+ *[0-9a-f]+:   5e204c1f        sqshl   b31, b0, b0
+ *[0-9a-f]+:   5e204fe0        sqshl   b0, b31, b0
+ *[0-9a-f]+:   5e3f4c00        sqshl   b0, b0, b31
+ *[0-9a-f]+:   5e604c00        sqshl   h0, h0, h0
+ *[0-9a-f]+:   5e604c1f        sqshl   h31, h0, h0
+ *[0-9a-f]+:   5e604fe0        sqshl   h0, h31, h0
+ *[0-9a-f]+:   5e7f4c00        sqshl   h0, h0, h31
+ *[0-9a-f]+:   5ea04c00        sqshl   s0, s0, s0
+ *[0-9a-f]+:   5ea04c1f        sqshl   s31, s0, s0
+ *[0-9a-f]+:   5ea04fe0        sqshl   s0, s31, s0
+ *[0-9a-f]+:   5ebf4c00        sqshl   s0, s0, s31
+ *[0-9a-f]+:   5ee04c00        sqshl   d0, d0, d0
+ *[0-9a-f]+:   5ee04c1f        sqshl   d31, d0, d0
+ *[0-9a-f]+:   5ee04fe0        sqshl   d0, d31, d0
+ *[0-9a-f]+:   5eff4c00        sqshl   d0, d0, d31
+ *[0-9a-f]+:   5e205c00        sqrshl  b0, b0, b0
+ *[0-9a-f]+:   5e205c1f        sqrshl  b31, b0, b0
+ *[0-9a-f]+:   5e205fe0        sqrshl  b0, b31, b0
+ *[0-9a-f]+:   5e3f5c00        sqrshl  b0, b0, b31
+ *[0-9a-f]+:   5e605c00        sqrshl  h0, h0, h0
+ *[0-9a-f]+:   5e605c1f        sqrshl  h31, h0, h0
+ *[0-9a-f]+:   5e605fe0        sqrshl  h0, h31, h0
+ *[0-9a-f]+:   5e7f5c00        sqrshl  h0, h0, h31
+ *[0-9a-f]+:   5ea05c00        sqrshl  s0, s0, s0
+ *[0-9a-f]+:   5ea05c1f        sqrshl  s31, s0, s0
+ *[0-9a-f]+:   5ea05fe0        sqrshl  s0, s31, s0
+ *[0-9a-f]+:   5ebf5c00        sqrshl  s0, s0, s31
+ *[0-9a-f]+:   5ee05c00        sqrshl  d0, d0, d0
+ *[0-9a-f]+:   5ee05c1f        sqrshl  d31, d0, d0
+ *[0-9a-f]+:   5ee05fe0        sqrshl  d0, d31, d0
+ *[0-9a-f]+:   5eff5c00        sqrshl  d0, d0, d31
+ *[0-9a-f]+:   5e60b400        sqdmulh h0, h0, h0
+ *[0-9a-f]+:   5e60b41f        sqdmulh h31, h0, h0
+ *[0-9a-f]+:   5e60b7e0        sqdmulh h0, h31, h0
+ *[0-9a-f]+:   5e7fb400        sqdmulh h0, h0, h31
+ *[0-9a-f]+:   5ea0b400        sqdmulh s0, s0, s0
+ *[0-9a-f]+:   5ea0b41f        sqdmulh s31, s0, s0
+ *[0-9a-f]+:   5ea0b7e0        sqdmulh s0, s31, s0
+ *[0-9a-f]+:   5ebfb400        sqdmulh s0, s0, s31
+ *[0-9a-f]+:   5ee03400        cmgt    d0, d0, d0
+ *[0-9a-f]+:   5ee0341f        cmgt    d31, d0, d0
+ *[0-9a-f]+:   5ee037e0        cmgt    d0, d31, d0
+ *[0-9a-f]+:   5eff3400        cmgt    d0, d0, d31
+ *[0-9a-f]+:   5ee03c00        cmge    d0, d0, d0
+ *[0-9a-f]+:   5ee03c1f        cmge    d31, d0, d0
+ *[0-9a-f]+:   5ee03fe0        cmge    d0, d31, d0
+ *[0-9a-f]+:   5eff3c00        cmge    d0, d0, d31
+ *[0-9a-f]+:   5ee04400        sshl    d0, d0, d0
+ *[0-9a-f]+:   5ee0441f        sshl    d31, d0, d0
+ *[0-9a-f]+:   5ee047e0        sshl    d0, d31, d0
+ *[0-9a-f]+:   5eff4400        sshl    d0, d0, d31
+ *[0-9a-f]+:   5ee05400        srshl   d0, d0, d0
+ *[0-9a-f]+:   5ee0541f        srshl   d31, d0, d0
+ *[0-9a-f]+:   5ee057e0        srshl   d0, d31, d0
+ *[0-9a-f]+:   5eff5400        srshl   d0, d0, d31
+ *[0-9a-f]+:   5ee08400        add     d0, d0, d0
+ *[0-9a-f]+:   5ee0841f        add     d31, d0, d0
+ *[0-9a-f]+:   5ee087e0        add     d0, d31, d0
+ *[0-9a-f]+:   5eff8400        add     d0, d0, d31
+ *[0-9a-f]+:   5ee08c00        cmtst   d0, d0, d0
+ *[0-9a-f]+:   5ee08c1f        cmtst   d31, d0, d0
+ *[0-9a-f]+:   5ee08fe0        cmtst   d0, d31, d0
+ *[0-9a-f]+:   5eff8c00        cmtst   d0, d0, d31
+ *[0-9a-f]+:   7e200c00        uqadd   b0, b0, b0
+ *[0-9a-f]+:   7e200c1f        uqadd   b31, b0, b0
+ *[0-9a-f]+:   7e200fe0        uqadd   b0, b31, b0
+ *[0-9a-f]+:   7e3f0c00        uqadd   b0, b0, b31
+ *[0-9a-f]+:   7e600c00        uqadd   h0, h0, h0
+ *[0-9a-f]+:   7e600c1f        uqadd   h31, h0, h0
+ *[0-9a-f]+:   7e600fe0        uqadd   h0, h31, h0
+ *[0-9a-f]+:   7e7f0c00        uqadd   h0, h0, h31
+ *[0-9a-f]+:   7ea00c00        uqadd   s0, s0, s0
+ *[0-9a-f]+:   7ea00c1f        uqadd   s31, s0, s0
+ *[0-9a-f]+:   7ea00fe0        uqadd   s0, s31, s0
+ *[0-9a-f]+:   7ebf0c00        uqadd   s0, s0, s31
+ *[0-9a-f]+:   7ee00c00        uqadd   d0, d0, d0
+ *[0-9a-f]+:   7ee00c1f        uqadd   d31, d0, d0
+ *[0-9a-f]+:   7ee00fe0        uqadd   d0, d31, d0
+ *[0-9a-f]+:   7eff0c00        uqadd   d0, d0, d31
+ *[0-9a-f]+:   7e202c00        uqsub   b0, b0, b0
+ *[0-9a-f]+:   7e202c1f        uqsub   b31, b0, b0
+ *[0-9a-f]+:   7e202fe0        uqsub   b0, b31, b0
+ *[0-9a-f]+:   7e3f2c00        uqsub   b0, b0, b31
+ *[0-9a-f]+:   7e602c00        uqsub   h0, h0, h0
+ *[0-9a-f]+:   7e602c1f        uqsub   h31, h0, h0
+ *[0-9a-f]+:   7e602fe0        uqsub   h0, h31, h0
+ *[0-9a-f]+:   7e7f2c00        uqsub   h0, h0, h31
+ *[0-9a-f]+:   7ea02c00        uqsub   s0, s0, s0
+ *[0-9a-f]+:   7ea02c1f        uqsub   s31, s0, s0
+ *[0-9a-f]+:   7ea02fe0        uqsub   s0, s31, s0
+ *[0-9a-f]+:   7ebf2c00        uqsub   s0, s0, s31
+ *[0-9a-f]+:   7ee02c00        uqsub   d0, d0, d0
+ *[0-9a-f]+:   7ee02c1f        uqsub   d31, d0, d0
+ *[0-9a-f]+:   7ee02fe0        uqsub   d0, d31, d0
+ *[0-9a-f]+:   7eff2c00        uqsub   d0, d0, d31
+ *[0-9a-f]+:   7e204c00        uqshl   b0, b0, b0
+ *[0-9a-f]+:   7e204c1f        uqshl   b31, b0, b0
+ *[0-9a-f]+:   7e204fe0        uqshl   b0, b31, b0
+ *[0-9a-f]+:   7e3f4c00        uqshl   b0, b0, b31
+ *[0-9a-f]+:   7e604c00        uqshl   h0, h0, h0
+ *[0-9a-f]+:   7e604c1f        uqshl   h31, h0, h0
+ *[0-9a-f]+:   7e604fe0        uqshl   h0, h31, h0
+ *[0-9a-f]+:   7e7f4c00        uqshl   h0, h0, h31
+ *[0-9a-f]+:   7ea04c00        uqshl   s0, s0, s0
+ *[0-9a-f]+:   7ea04c1f        uqshl   s31, s0, s0
+ *[0-9a-f]+:   7ea04fe0        uqshl   s0, s31, s0
+ *[0-9a-f]+:   7ebf4c00        uqshl   s0, s0, s31
+ *[0-9a-f]+:   7ee04c00        uqshl   d0, d0, d0
+ *[0-9a-f]+:   7ee04c1f        uqshl   d31, d0, d0
+ *[0-9a-f]+:   7ee04fe0        uqshl   d0, d31, d0
+ *[0-9a-f]+:   7eff4c00        uqshl   d0, d0, d31
+ *[0-9a-f]+:   7e205c00        uqrshl  b0, b0, b0
+ *[0-9a-f]+:   7e205c1f        uqrshl  b31, b0, b0
+ *[0-9a-f]+:   7e205fe0        uqrshl  b0, b31, b0
+ *[0-9a-f]+:   7e3f5c00        uqrshl  b0, b0, b31
+ *[0-9a-f]+:   7e605c00        uqrshl  h0, h0, h0
+ *[0-9a-f]+:   7e605c1f        uqrshl  h31, h0, h0
+ *[0-9a-f]+:   7e605fe0        uqrshl  h0, h31, h0
+ *[0-9a-f]+:   7e7f5c00        uqrshl  h0, h0, h31
+ *[0-9a-f]+:   7ea05c00        uqrshl  s0, s0, s0
+ *[0-9a-f]+:   7ea05c1f        uqrshl  s31, s0, s0
+ *[0-9a-f]+:   7ea05fe0        uqrshl  s0, s31, s0
+ *[0-9a-f]+:   7ebf5c00        uqrshl  s0, s0, s31
+ *[0-9a-f]+:   7ee05c00        uqrshl  d0, d0, d0
+ *[0-9a-f]+:   7ee05c1f        uqrshl  d31, d0, d0
+ *[0-9a-f]+:   7ee05fe0        uqrshl  d0, d31, d0
+ *[0-9a-f]+:   7eff5c00        uqrshl  d0, d0, d31
+ *[0-9a-f]+:   7e60b400        sqrdmulh        h0, h0, h0
+ *[0-9a-f]+:   7e60b41f        sqrdmulh        h31, h0, h0
+ *[0-9a-f]+:   7e60b7e0        sqrdmulh        h0, h31, h0
+ *[0-9a-f]+:   7e7fb400        sqrdmulh        h0, h0, h31
+ *[0-9a-f]+:   7ea0b400        sqrdmulh        s0, s0, s0
+ *[0-9a-f]+:   7ea0b41f        sqrdmulh        s31, s0, s0
+ *[0-9a-f]+:   7ea0b7e0        sqrdmulh        s0, s31, s0
+ *[0-9a-f]+:   7ebfb400        sqrdmulh        s0, s0, s31
+ *[0-9a-f]+:   7ee03400        cmhi    d0, d0, d0
+ *[0-9a-f]+:   7ee0341f        cmhi    d31, d0, d0
+ *[0-9a-f]+:   7ee037e0        cmhi    d0, d31, d0
+ *[0-9a-f]+:   7eff3400        cmhi    d0, d0, d31
+ *[0-9a-f]+:   7ee03c00        cmhs    d0, d0, d0
+ *[0-9a-f]+:   7ee03c1f        cmhs    d31, d0, d0
+ *[0-9a-f]+:   7ee03fe0        cmhs    d0, d31, d0
+ *[0-9a-f]+:   7eff3c00        cmhs    d0, d0, d31
+ *[0-9a-f]+:   7ee04400        ushl    d0, d0, d0
+ *[0-9a-f]+:   7ee0441f        ushl    d31, d0, d0
+ *[0-9a-f]+:   7ee047e0        ushl    d0, d31, d0
+ *[0-9a-f]+:   7eff4400        ushl    d0, d0, d31
+ *[0-9a-f]+:   7ee05400        urshl   d0, d0, d0
+ *[0-9a-f]+:   7ee0541f        urshl   d31, d0, d0
+ *[0-9a-f]+:   7ee057e0        urshl   d0, d31, d0
+ *[0-9a-f]+:   7eff5400        urshl   d0, d0, d31
+ *[0-9a-f]+:   7ee08400        sub     d0, d0, d0
+ *[0-9a-f]+:   7ee0841f        sub     d31, d0, d0
+ *[0-9a-f]+:   7ee087e0        sub     d0, d31, d0
+ *[0-9a-f]+:   7eff8400        sub     d0, d0, d31
+ *[0-9a-f]+:   7ee08c00        cmeq    d0, d0, d0
+ *[0-9a-f]+:   7ee08c1f        cmeq    d31, d0, d0
+ *[0-9a-f]+:   7ee08fe0        cmeq    d0, d31, d0
+ *[0-9a-f]+:   7eff8c00        cmeq    d0, d0, d31
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.s b/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.s
new file mode 100644 (file)
index 0000000..7015bce
--- /dev/null
@@ -0,0 +1,213 @@
+       sqadd   b0, b0, b0
+       sqadd   b31, b0, b0
+       sqadd   b0, b31, b0
+       sqadd   b0, b0, b31
+       sqadd   h0, h0, h0
+       sqadd   h31, h0, h0
+       sqadd   h0, h31, h0
+       sqadd   h0, h0, h31
+       sqadd   s0, s0, s0
+       sqadd   s31, s0, s0
+       sqadd   s0, s31, s0
+       sqadd   s0, s0, s31
+       sqadd   d0, d0, d0
+       sqadd   d31, d0, d0
+       sqadd   d0, d31, d0
+       sqadd   d0, d0, d31
+
+       sqsub   b0, b0, b0
+       sqsub   b31, b0, b0
+       sqsub   b0, b31, b0
+       sqsub   b0, b0, b31
+       sqsub   h0, h0, h0
+       sqsub   h31, h0, h0
+       sqsub   h0, h31, h0
+       sqsub   h0, h0, h31
+       sqsub   s0, s0, s0
+       sqsub   s31, s0, s0
+       sqsub   s0, s31, s0
+       sqsub   s0, s0, s31
+       sqsub   d0, d0, d0
+       sqsub   d31, d0, d0
+       sqsub   d0, d31, d0
+       sqsub   d0, d0, d31
+
+       sqshl   b0, b0, b0
+       sqshl   b31, b0, b0
+       sqshl   b0, b31, b0
+       sqshl   b0, b0, b31
+       sqshl   h0, h0, h0
+       sqshl   h31, h0, h0
+       sqshl   h0, h31, h0
+       sqshl   h0, h0, h31
+       sqshl   s0, s0, s0
+       sqshl   s31, s0, s0
+       sqshl   s0, s31, s0
+       sqshl   s0, s0, s31
+       sqshl   d0, d0, d0
+       sqshl   d31, d0, d0
+       sqshl   d0, d31, d0
+       sqshl   d0, d0, d31
+
+       sqrshl  b0, b0, b0
+       sqrshl  b31, b0, b0
+       sqrshl  b0, b31, b0
+       sqrshl  b0, b0, b31
+       sqrshl  h0, h0, h0
+       sqrshl  h31, h0, h0
+       sqrshl  h0, h31, h0
+       sqrshl  h0, h0, h31
+       sqrshl  s0, s0, s0
+       sqrshl  s31, s0, s0
+       sqrshl  s0, s31, s0
+       sqrshl  s0, s0, s31
+       sqrshl  d0, d0, d0
+       sqrshl  d31, d0, d0
+       sqrshl  d0, d31, d0
+       sqrshl  d0, d0, d31
+
+       sqdmulh h0, h0, h0
+       sqdmulh h31, h0, h0
+       sqdmulh h0, h31, h0
+       sqdmulh h0, h0, h31
+       sqdmulh s0, s0, s0
+       sqdmulh s31, s0, s0
+       sqdmulh s0, s31, s0
+       sqdmulh s0, s0, s31
+
+       cmgt    d0, d0, d0
+       cmgt    d31, d0, d0
+       cmgt    d0, d31, d0
+       cmgt    d0, d0, d31
+
+       cmge    d0, d0, d0
+       cmge    d31, d0, d0
+       cmge    d0, d31, d0
+       cmge    d0, d0, d31
+
+       sshl    d0, d0, d0
+       sshl    d31, d0, d0
+       sshl    d0, d31, d0
+       sshl    d0, d0, d31
+
+       srshl   d0, d0, d0
+       srshl   d31, d0, d0
+       srshl   d0, d31, d0
+       srshl   d0, d0, d31
+
+       add     d0, d0, d0
+       add     d31, d0, d0
+       add     d0, d31, d0
+       add     d0, d0, d31
+
+       cmtst   d0, d0, d0
+       cmtst   d31, d0, d0
+       cmtst   d0, d31, d0
+       cmtst   d0, d0, d31
+
+       uqadd   b0, b0, b0
+       uqadd   b31, b0, b0
+       uqadd   b0, b31, b0
+       uqadd   b0, b0, b31
+       uqadd   h0, h0, h0
+       uqadd   h31, h0, h0
+       uqadd   h0, h31, h0
+       uqadd   h0, h0, h31
+       uqadd   s0, s0, s0
+       uqadd   s31, s0, s0
+       uqadd   s0, s31, s0
+       uqadd   s0, s0, s31
+       uqadd   d0, d0, d0
+       uqadd   d31, d0, d0
+       uqadd   d0, d31, d0
+       uqadd   d0, d0, d31
+
+       uqsub   b0, b0, b0
+       uqsub   b31, b0, b0
+       uqsub   b0, b31, b0
+       uqsub   b0, b0, b31
+       uqsub   h0, h0, h0
+       uqsub   h31, h0, h0
+       uqsub   h0, h31, h0
+       uqsub   h0, h0, h31
+       uqsub   s0, s0, s0
+       uqsub   s31, s0, s0
+       uqsub   s0, s31, s0
+       uqsub   s0, s0, s31
+       uqsub   d0, d0, d0
+       uqsub   d31, d0, d0
+       uqsub   d0, d31, d0
+       uqsub   d0, d0, d31
+
+       uqshl   b0, b0, b0
+       uqshl   b31, b0, b0
+       uqshl   b0, b31, b0
+       uqshl   b0, b0, b31
+       uqshl   h0, h0, h0
+       uqshl   h31, h0, h0
+       uqshl   h0, h31, h0
+       uqshl   h0, h0, h31
+       uqshl   s0, s0, s0
+       uqshl   s31, s0, s0
+       uqshl   s0, s31, s0
+       uqshl   s0, s0, s31
+       uqshl   d0, d0, d0
+       uqshl   d31, d0, d0
+       uqshl   d0, d31, d0
+       uqshl   d0, d0, d31
+
+       uqrshl  b0, b0, b0
+       uqrshl  b31, b0, b0
+       uqrshl  b0, b31, b0
+       uqrshl  b0, b0, b31
+       uqrshl  h0, h0, h0
+       uqrshl  h31, h0, h0
+       uqrshl  h0, h31, h0
+       uqrshl  h0, h0, h31
+       uqrshl  s0, s0, s0
+       uqrshl  s31, s0, s0
+       uqrshl  s0, s31, s0
+       uqrshl  s0, s0, s31
+       uqrshl  d0, d0, d0
+       uqrshl  d31, d0, d0
+       uqrshl  d0, d31, d0
+       uqrshl  d0, d0, d31
+
+       sqrdmulh        h0, h0, h0
+       sqrdmulh        h31, h0, h0
+       sqrdmulh        h0, h31, h0
+       sqrdmulh        h0, h0, h31
+       sqrdmulh        s0, s0, s0
+       sqrdmulh        s31, s0, s0
+       sqrdmulh        s0, s31, s0
+       sqrdmulh        s0, s0, s31
+
+       cmhi    d0, d0, d0
+       cmhi    d31, d0, d0
+       cmhi    d0, d31, d0
+       cmhi    d0, d0, d31
+
+       cmhs    d0, d0, d0
+       cmhs    d31, d0, d0
+       cmhs    d0, d31, d0
+       cmhs    d0, d0, d31
+
+       ushl    d0, d0, d0
+       ushl    d31, d0, d0
+       ushl    d0, d31, d0
+       ushl    d0, d0, d31
+
+       urshl   d0, d0, d0
+       urshl   d31, d0, d0
+       urshl   d0, d31, d0
+       urshl   d0, d0, d31
+
+       sub     d0, d0, d0
+       sub     d31, d0, d0
+       sub     d0, d31, d0
+       sub     d0, d0, d31
+
+       cmeq    d0, d0, d0
+       cmeq    d31, d0, d0
+       cmeq    d0, d31, d0
+       cmeq    d0, d0, d31