aboutsummaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJim Wilson <jimw@sifive.com>2019-07-05 15:19:11 +0800
committerJim Wilson <jimw@sifive.com>2019-07-05 15:19:11 +0800
commit98602811d838077269e361e9d807fe530c780011 (patch)
treeadddb9536e0ae27b31da8d1ae46e64fab62cda67 /gas/testsuite
parenta0b6cbf69db7427cfdf054092062fcf82eef9a58 (diff)
downloadgdb-98602811d838077269e361e9d807fe530c780011.zip
gdb-98602811d838077269e361e9d807fe530c780011.tar.gz
gdb-98602811d838077269e361e9d807fe530c780011.tar.bz2
Kito's 5-part patch set to improve .insn support.
From Kito Cheng <kito.cheng@sifive.com> gas/ChangeLog * doc/c-riscv.texi (Instruction Formats): Add r4 type. * testsuite/gas/riscv/insn.d: Add testcase for r4 type. * testsuite/gas/riscv/insn.s: Ditto. * doc/c-riscv.texi (Instruction Formats): Add b and j type. * testsuite/gas/riscv/insn.d: Add test case for b and j type. * testsuite/gas/riscv/insn.s: Ditto. * testsuite/gas/riscv/insn.s: Correct instruction type for load and store. * testsuite/gas/riscv/insn.d: Using regular expression to match address. * doc/c-riscv.texi (Instruction Formats): Fix encoding table for SB type and fix typo. opcode/ChangeLog * riscv-opc.c (riscv_insn_types): Add r4 type. * riscv-opc.c (riscv_insn_types): Add b and j type. * opcodes/riscv-opc.c (riscv_insn_types): Remove incorrect format for sb type and correct s type.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/riscv/insn.d99
-rw-r--r--gas/testsuite/gas/riscv/insn.s19
2 files changed, 70 insertions, 48 deletions
diff --git a/gas/testsuite/gas/riscv/insn.d b/gas/testsuite/gas/riscv/insn.d
index a1474c9..47b3a8e 100644
--- a/gas/testsuite/gas/riscv/insn.d
+++ b/gas/testsuite/gas/riscv/insn.d
@@ -7,46 +7,59 @@
Disassembly of section .text:
0+000 <target>:
-[ ]+0:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+4:[ ]+00d58513[ ]+addi[ ]+a0,a1,13
-[ ]+8:[ ]+00a58567[ ]+jalr[ ]+a0,10\(a1\)
-[ ]+c:[ ]+00458503[ ]+lb[ ]+a0,4\(a1\)
-[ ]+10:[ ]+feb508e3[ ]+beq[ ]+a0,a1,0 \<target\>
-[ ]+10: R_RISCV_BRANCH[ ]+target
-[ ]+14:[ ]+00a58223[ ]+sb[ ]+a0,4\(a1\)
-[ ]+18:[ ]+00fff537[ ]+lui[ ]+a0,0xfff
-[ ]+1c:[ ]+fe5ff56f[ ]+jal[ ]+a0,0 \<target\>
-[ ]+1c: R_RISCV_JAL[ ]+target
-[ ]+20:[ ]+0511[ ]+addi[ ]+a0,a0,4
-[ ]+22:[ ]+852e[ ]+mv[ ]+a0,a1
-[ ]+24:[ ]+002c[ ]+addi[ ]+a1,sp,8
-[ ]+26:[ ]+dde9[ ]+beqz[ ]+a1,0 \<target\>
-[ ]+26: R_RISCV_RVC_BRANCH[ ]+target
-[ ]+28:[ ]+bfe1[ ]+j[ ]+0 \<target\>
-[ ]+28: R_RISCV_RVC_JUMP[ ]+target
-[ ]+2a:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+2e:[ ]+00d58513[ ]+addi[ ]+a0,a1,13
-[ ]+32:[ ]+00a58567[ ]+jalr[ ]+a0,10\(a1\)
-[ ]+36:[ ]+00458503[ ]+lb[ ]+a0,4\(a1\)
-[ ]+3a:[ ]+fcb503e3[ ]+beq[ ]+a0,a1,0 \<target\>
-[ ]+3a: R_RISCV_BRANCH[ ]+target
-[ ]+3e:[ ]+00a58223[ ]+sb[ ]+a0,4\(a1\)
-[ ]+42:[ ]+00fff537[ ]+lui[ ]+a0,0xfff
-[ ]+46:[ ]+fbbff56f[ ]+jal[ ]+a0,0 \<target\>
-[ ]+46: R_RISCV_JAL[ ]+target
-[ ]+4a:[ ]+0511[ ]+addi[ ]+a0,a0,4
-[ ]+4c:[ ]+852e[ ]+mv[ ]+a0,a1
-[ ]+4e:[ ]+002c[ ]+addi[ ]+a1,sp,8
-[ ]+50:[ ]+8d6d[ ]+and[ ]+a0,a0,a1
-[ ]+52:[ ]+d5dd[ ]+beqz[ ]+a1,0 \<target\>
-[ ]+52: R_RISCV_RVC_BRANCH[ ]+target
-[ ]+54:[ ]+b775[ ]+j[ ]+0 \<target\>
-[ ]+54: R_RISCV_RVC_JUMP[ ]+target
-[ ]+56:[ ]+68c58543[ ]+fmadd.s[ ]+fa0,fa1,fa2,fa3,rne
-[ ]+5a:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+5e:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+62:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+66:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+6a:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+6e:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
-[ ]+72:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00d58513[ ]+addi[ ]+a0,a1,13
+[^:]+:[ ]+00a58567[ ]+jalr[ ]+a0,10\(a1\)
+[^:]+:[ ]+00458503[ ]+lb[ ]+a0,4\(a1\)
+[^:]+:[ ]+feb508e3[ ]+beq[ ]+a0,a1,0 \<target\>
+[^:]+: R_RISCV_BRANCH[ ]+target
+[^:]+:[ ]+feb506e3[ ]+beq[ ]+a0,a1,0 \<target\>
+[^:]+: R_RISCV_BRANCH[ ]+target
+[^:]+:[ ]+00a58223[ ]+sb[ ]+a0,4\(a1\)
+[^:]+:[ ]+00fff537[ ]+lui[ ]+a0,0xfff
+[^:]+:[ ]+fe1ff56f[ ]+jal[ ]+a0,0 \<target\>
+[^:]+: R_RISCV_JAL[ ]+target
+[^:]+:[ ]+fddff56f[ ]+jal[ ]+a0,0 \<target\>
+[^:]+: R_RISCV_JAL[ ]+target
+[^:]+:[ ]+0511[ ]+addi[ ]+a0,a0,4
+[^:]+:[ ]+852e[ ]+mv[ ]+a0,a1
+[^:]+:[ ]+002c[ ]+addi[ ]+a1,sp,8
+[^:]+:[ ]+d9e9[ ]+beqz[ ]+a1,0 \<target\>
+[^:]+: R_RISCV_RVC_BRANCH[ ]+target
+[^:]+:[ ]+bfc1[ ]+j[ ]+0 \<target\>
+[^:]+: R_RISCV_RVC_JUMP[ ]+target
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00d58513[ ]+addi[ ]+a0,a1,13
+[^:]+:[ ]+00a58567[ ]+jalr[ ]+a0,10\(a1\)
+[^:]+:[ ]+00458503[ ]+lb[ ]+a0,4\(a1\)
+[^:]+:[ ]+fab50fe3[ ]+beq[ ]+a0,a1,0 \<target\>
+[^:]+: R_RISCV_BRANCH[ ]+target
+[^:]+:[ ]+fab50de3[ ]+beq[ ]+a0,a1,0 \<target\>
+[^:]+: R_RISCV_BRANCH[ ]+target
+[^:]+:[ ]+00a58223[ ]+sb[ ]+a0,4\(a1\)
+[^:]+:[ ]+00fff537[ ]+lui[ ]+a0,0xfff
+[^:]+:[ ]+fafff56f[ ]+jal[ ]+a0,0 \<target\>
+[^:]+: R_RISCV_JAL[ ]+target
+[^:]+:[ ]+fabff56f[ ]+jal[ ]+a0,0 \<target\>
+[^:]+: R_RISCV_JAL[ ]+target
+[^:]+:[ ]+0511[ ]+addi[ ]+a0,a0,4
+[^:]+:[ ]+852e[ ]+mv[ ]+a0,a1
+[^:]+:[ ]+002c[ ]+addi[ ]+a1,sp,8
+[^:]+:[ ]+8d6d[ ]+and[ ]+a0,a0,a1
+[^:]+:[ ]+ddd9[ ]+beqz[ ]+a1,0 \<target\>
+[^:]+: R_RISCV_RVC_BRANCH[ ]+target
+[^:]+:[ ]+bf71[ ]+j[ ]+0 \<target\>
+[^:]+: R_RISCV_RVC_JUMP[ ]+target
+[^:]+:[ ]+68c58543[ ]+fmadd.s[ ]+fa0,fa1,fa2,fa3,rne
+[^:]+:[ ]+68c58543[ ]+fmadd.s[ ]+fa0,fa1,fa2,fa3,rne
+[^:]+:[ ]+68c58543[ ]+fmadd.s[ ]+fa0,fa1,fa2,fa3,rne
+[^:]+:[ ]+68c58543[ ]+fmadd.s[ ]+fa0,fa1,fa2,fa3,rne
+[^:]+:[ ]+68c58543[ ]+fmadd.s[ ]+fa0,fa1,fa2,fa3,rne
+[^:]+:[ ]+68c58543[ ]+fmadd.s[ ]+fa0,fa1,fa2,fa3,rne
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
+[^:]+:[ ]+00c58533[ ]+add[ ]+a0,a1,a2
diff --git a/gas/testsuite/gas/riscv/insn.s b/gas/testsuite/gas/riscv/insn.s
index 13e5417..6c08f49 100644
--- a/gas/testsuite/gas/riscv/insn.s
+++ b/gas/testsuite/gas/riscv/insn.s
@@ -2,11 +2,13 @@ target:
.insn r 0x33, 0, 0, a0, a1, a2
.insn i 0x13, 0, a0, a1, 13
.insn i 0x67, 0, a0, 10(a1)
- .insn s 0x3, 0, a0, 4(a1)
+ .insn i 0x3, 0, a0, 4(a1)
.insn sb 0x63, 0, a0, a1, target
- .insn sb 0x23, 0, a0, 4(a1)
+ .insn b 0x63, 0, a0, a1, target
+ .insn s 0x23, 0, a0, 4(a1)
.insn u 0x37, a0, 0xfff
.insn uj 0x6f, a0, target
+ .insn j 0x6f, a0, target
.insn ci 0x1, 0x0, a0, 4
.insn cr 0x2, 0x8, a0, a1
@@ -17,11 +19,13 @@ target:
.insn r OP, 0, 0, a0, a1, a2
.insn i OP_IMM, 0, a0, a1, 13
.insn i JALR, 0, a0, 10(a1)
- .insn s LOAD, 0, a0, 4(a1)
+ .insn i LOAD, 0, a0, 4(a1)
.insn sb BRANCH, 0, a0, a1, target
- .insn sb STORE, 0, a0, 4(a1)
+ .insn b BRANCH, 0, a0, a1, target
+ .insn s STORE, 0, a0, 4(a1)
.insn u LUI, a0, 0xfff
.insn uj JAL, a0, target
+ .insn j JAL, a0, target
.insn ci C1, 0x0, a0, 4
.insn cr C2, 0x8, a0, a1
@@ -30,7 +34,12 @@ target:
.insn cb C1, 0x6, a1, target
.insn cj C1, 0x5, target
- .insn r MADD, 0, 0, a0, a1, a2, a3
+ .insn r MADD, 0, 0, a0, a1, a2, a3
+ .insn r4 MADD, 0, 0, a0, a1, a2, a3
+ .insn r4 MADD, 0, 0, fa0, a1, a2, a3
+ .insn r4 MADD, 0, 0, fa0, fa1, a2, a3
+ .insn r4 MADD, 0, 0, fa0, fa1, fa2, a3
+ .insn r4 MADD, 0, 0, fa0, fa1, fa2, fa3
.insn r 0x33, 0, 0, fa0, a1, a2
.insn r 0x33, 0, 0, a0, fa1, a2
.insn r 0x33, 0, 0, fa0, fa1, a2