RISC-V: Better support for long instructions (tests)
authorTsukasa OI <research_trasio@irq.a4lg.com>
Fri, 18 Nov 2022 07:47:42 +0000 (07:47 +0000)
committerTsukasa OI <research_trasio@irq.a4lg.com>
Mon, 28 Nov 2022 01:03:19 +0000 (01:03 +0000)
This commit tests both (assembler and disassembler) fixes of "Better support
for long instructions".

gas/ChangeLog:

* testsuite/gas/riscv/insn.s: Add testcases such that big number
handling is required and should be disassembled as long ".byte"
sequence with correct instruction bits.
* testsuite/gas/riscv/insn.d: Likewise.
* testsuite/gas/riscv/insn-na.d: Likewise.
* testsuite/gas/riscv/insn-dwarf.d: Likewise.

gas/testsuite/gas/riscv/insn-dwarf.d
gas/testsuite/gas/riscv/insn-na.d
gas/testsuite/gas/riscv/insn.d
gas/testsuite/gas/riscv/insn.s

index 89dc8d58ff0989f96e564b241c1aec864d1b9430..b8bd42dff18c699d3caa7cbae90c9e327c146aa0 100644 (file)
@@ -74,5 +74,13 @@ insn.s +69 +0xf6.*
 insn.s +70 +0xfe.*
 insn.s +71 +0x108.*
 insn.s +72 +0x114.*
-insn.s +- +0x12a
+insn.s +74 +0x12a.*
+insn.s +75 +0x134.*
+insn.s +76 +0x13e.*
+insn.s +77 +0x154.*
+insn.s +78 +0x16a.*
+insn.s +79 +0x180.*
+insn.s +80 +0x196.*
+insn.s +81 +0x1ac.*
+insn.s +- +0x1c2
 #pass
index 66dce71ebc2123c76990ccec89674d1bcd3511e2..6928ba9ba0f2e42c993110fd8c039793b0e2886b 100644 (file)
@@ -73,3 +73,11 @@ Disassembly of section .text:
 [^:]+:[        ]+007f 0000 0000 0000 0000[     ]+[._a-z].*
 [^:]+:[        ]+0000107f 00000000 00000000[   ]+[._a-z].*
 [^:]+:[        ]+607f 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000[       ]+[._a-z].*
+[^:]+:[        ]+007f 0000 0000 0000 8000[     ]+\.byte[       ]+0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80
+[^:]+:[        ]+007f 0000 0000 0000 8000[     ]+\.byte[       ]+0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80
+[^:]+:[        ]+607f 89ab 4567 0123 3210 7654 ba98 fedc 0000 0000 0000[       ]+\.byte[       ]+0x7f, 0x60, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+[^:]+:[        ]+607f 89ab 4567 0123 3210 7654 ba98 fedc 0000 0000 0000[       ]+\.byte[       ]+0x7f, 0x60, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+[^:]+:[        ]+607f 33cc 55aa cdef 89ab 4567 0123 3210 7654 ba98 00dc[       ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0x00
+[^:]+:[        ]+607f 33cc 55aa cdef 89ab 4567 0123 3210 7654 ba98 00dc[       ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0x00
+[^:]+:[        ]+607f 33cc 55aa cdef 89ab 4567 0123 3210 7654 ba98 fedc[       ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe
+[^:]+:[        ]+607f 33cc 55aa cdef 89ab 4567 0123 3210 7654 ba98 fedc[       ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe
index 2e5d35b3970215fac4de2c24130ad983a55472e2..b25bc35553fd4137466d405a207e2f792956f052 100644 (file)
@@ -92,3 +92,25 @@ Disassembly of section .text:
 [^:]+:[        ]+607f 0000 0000 0000[  ]+[._a-z].*
 [^:]+:[        ]+0000 0000 0000 0000 ?
 [^:]+:[        ]+0000 0000 0000 ?
+[^:]+:[        ]+007f 0000 0000 0000[  ]+\.byte[       ]+0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80
+[^:]+:[        ]+8000 ?
+[^:]+:[        ]+007f 0000 0000 0000[  ]+\.byte[       ]+0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80
+[^:]+:[        ]+8000 ?
+[^:]+:[        ]+607f 89ab 4567 0123[  ]+\.byte[       ]+0x7f, 0x60, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+[^:]+:[        ]+3210 7654 ba98 fedc ?
+[^:]+:[        ]+0000 0000 0000 ?
+[^:]+:[        ]+607f 89ab 4567 0123[  ]+\.byte[       ]+0x7f, 0x60, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+[^:]+:[        ]+3210 7654 ba98 fedc ?
+[^:]+:[        ]+0000 0000 0000 ?
+[^:]+:[        ]+607f 33cc 55aa cdef[  ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0x00
+[^:]+:[        ]+89ab 4567 0123 3210 ?
+[^:]+:[        ]+7654 ba98 00dc ?
+[^:]+:[        ]+607f 33cc 55aa cdef[  ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0x00
+[^:]+:[        ]+89ab 4567 0123 3210 ?
+[^:]+:[        ]+7654 ba98 00dc ?
+[^:]+:[        ]+607f 33cc 55aa cdef[  ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe
+[^:]+:[        ]+89ab 4567 0123 3210 ?
+[^:]+:[        ]+7654 ba98 fedc ?
+[^:]+:[        ]+607f 33cc 55aa cdef[  ]+\.byte[       ]+0x7f, 0x60, 0xcc, 0x33, 0xaa, 0x55, 0xef, 0xcd, 0xab, 0x89, 0x67, 0x45, 0x23, 0x01, 0x10, 0x32, 0x54, 0x76, 0x98, 0xba, 0xdc, 0xfe
+[^:]+:[        ]+89ab 4567 0123 3210 ?
+[^:]+:[        ]+7654 ba98 fedc ?
index 94f62fe5672e6210d89f9d0377d097f6d1b28428..48db59b14e884ba5caa46e26d40aedf74009fe6e 100644 (file)
@@ -70,3 +70,12 @@ target:
        .insn 10, 0x007f
        .insn 12, 0x107f
        .insn 22, 0x607f
+
+       .insn 0x8000000000000000007f
+       .insn 10, 0x8000000000000000007f
+       .insn 0x000000000000fedcba98765432100123456789ab607f
+       .insn 22, 0x000000000000fedcba98765432100123456789ab607f
+       .insn 0x00dcba98765432100123456789abcdef55aa33cc607f
+       .insn 22, 0x00dcba98765432100123456789abcdef55aa33cc607f
+       .insn 0xfedcba98765432100123456789abcdef55aa33cc607f
+       .insn 22, 0xfedcba98765432100123456789abcdef55aa33cc607f