kvx: Add a testcase for bundles with KVXMAXBUNDLEWORDS syllables
authorPaul Iannetta <piannetta@kalrayinc.com>
Thu, 7 Sep 2023 15:27:31 +0000 (17:27 +0200)
committerAlan Modra <amodra@gmail.com>
Thu, 7 Sep 2023 22:19:09 +0000 (07:49 +0930)
* testsuite/gas/kvx/fat-bundles.s: New test.
* testsuite/gas/kvx/kv3-1-fat-bundles.d: New test.
* testsuite/gas/kvx/kv3-2-fat-bundles.d: New test.

gas/testsuite/gas/kvx/fat-bundles.s [new file with mode: 0644]
gas/testsuite/gas/kvx/kv3-1-fat-bundles.d [new file with mode: 0644]
gas/testsuite/gas/kvx/kv3-2-fat-bundles.d [new file with mode: 0644]

diff --git a/gas/testsuite/gas/kvx/fat-bundles.s b/gas/testsuite/gas/kvx/fat-bundles.s
new file mode 100644 (file)
index 0000000..8119c60
--- /dev/null
@@ -0,0 +1,13 @@
+# The bundles in this file all have 8 syllables.
+
+       addd $r0 = $r0, 123456789010    # 1 ALU + 2 Immediate Extensions
+       addd $r0 = $r0, 123456789010    # 1 ALU + 2 Immediate Extensions
+       addd $r1 = $r2, 1234            # 1 ALU + 1 Immediate Extension
+       ;;
+       igoto $r0                       # 1 BCU
+       xmt44d $a0a1a2a3 = $a0a1a2a3    # 1 TCA
+       addd $r0 = $r0, 1234            # 1 ALU + 1 Immediate Extension
+       addd $r0 = $r0, 12345678901     # 1 ALU + 1 Immediate Extension
+       fmuld $r1 = $r2, $r3            # 1 MAU
+       lwz $r0 = 0[$r0]                # 1 LSU
+       ;;
diff --git a/gas/testsuite/gas/kvx/kv3-1-fat-bundles.d b/gas/testsuite/gas/kvx/kv3-1-fat-bundles.d
new file mode 100644 (file)
index 0000000..1f80e04
--- /dev/null
@@ -0,0 +1,20 @@
+#as: -march=kv3-1
+#objdump: -d
+#source: fat-bundles.s
+.*\/fat-bundles.o:     file format elf64-kvx
+
+
+Disassembly of section .text:
+
+0000000000000000 <.text>:
+   0:  82 34 04 e1 80 84 00 e1                                 addd \$r1 = \$r2, 1234 \(0x4d2\)
+   8:  80 84 00 e1 01 00 00 80 46 a6 2f 8f                     addd \$r0 = \$r0, 123456789010 \(0x1cbe991a12\)
+  14:  00 00 00 88 46 a6 2f 97 00 00 00 10                     addd \$r0 = \$r0, 123456789010 \(0x1cbe991a12\);;
+
+  20:  00 00 d8 8f                                             igoto \$r0
+  24:  00 00 0c 84                                             xmt44d \$a0a1a2a3 = \$a0a1a2a3
+  28:  80 34 00 e1 40 0d 00 e1                                 addd \$r0 = \$r0, 1234 \(0x4d2\)
+  30:  c2 70 05 d8 00 00 00 b0                                 addd \$r0 = \$r0, 12345678901 \(0x2dfdc1c35\)
+  38:  01 00 00 80                                             fmuld \$r1 = \$r2, \$r3
+  3c:  07 f7 b7 08                                             lwz \$r0 = 0 \(0x0\)\[\$r0\];;
+
diff --git a/gas/testsuite/gas/kvx/kv3-2-fat-bundles.d b/gas/testsuite/gas/kvx/kv3-2-fat-bundles.d
new file mode 100644 (file)
index 0000000..54717eb
--- /dev/null
@@ -0,0 +1,20 @@
+#as: -march=kv3-2
+#objdump: -d
+#source: fat-bundles.s
+.*\/fat-bundles.o:     file format elf64-kvx
+
+
+Disassembly of section .text:
+
+0000000000000000 <.text>:
+   0:  82 34 04 e2 80 84 00 e2                                 addd \$r1 = \$r2, 1234 \(0x4d2\)
+   8:  80 84 00 e2 01 00 00 80 46 a6 2f 8f                     addd \$r0 = \$r0, 123456789010 \(0x1cbe991a12\)
+  14:  00 00 00 88 46 a6 2f 97 00 00 00 10                     addd \$r0 = \$r0, 123456789010 \(0x1cbe991a12\);;
+
+  20:  00 00 d8 8f                                             igoto \$r0
+  24:  00 10 05 87                                             xcopyv.td \$a0a1a2a3 = \$a0a1a2a3
+  28:  80 34 00 e2 40 0d 00 e2                                 addd \$r0 = \$r0, 1234 \(0x4d2\)
+  30:  c2 70 05 d8 00 00 00 b0                                 addd \$r0 = \$r0, 12345678901 \(0x2dfdc1c35\)
+  38:  01 00 00 80                                             fmuld \$r1 = \$r2, \$r3
+  3c:  07 f7 b7 08                                             lwz \$r0 = 0 \(0x0\)\[\$r0\];;
+