aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorTsukasa OI <research_trasio@irq.a4lg.com>2022-05-27 20:25:53 +0900
committerTsukasa OI <research_trasio@irq.a4lg.com>2022-09-30 15:10:27 +0000
commit38cb335c7645d70eff612efd33ba5e52d9591802 (patch)
tree6329f48d53a956e5566d979c7b312d2d11fa6ce1 /gas
parenta6eeb20a42a854f9127dcf1a0b54ed8c4f50f27c (diff)
downloadfsf-binutils-gdb-38cb335c7645d70eff612efd33ba5e52d9591802.zip
fsf-binutils-gdb-38cb335c7645d70eff612efd33ba5e52d9591802.tar.gz
fsf-binutils-gdb-38cb335c7645d70eff612efd33ba5e52d9591802.tar.bz2
RISC-V: Reorganize and enhance 'Zfinx' tests
This commit adds certain test cases for 'Zfinx'/'Zdinx'/'Zqinx' extensions and reorganizes them, fixing coding style while improving coverage. This is partially based on jiawei's 'Zhinx' testcases. gas/ChangeLog: * testsuite/gas/riscv/zfinx.s: Use different registers for better encode space testing. Make indentation consistent. Add tests for instruction with rounding mode. Change march to minimum required extensions. Remove source line. * testsuite/gas/riscv/zfinx.d: Likewise. * testsuite/gas/riscv/zdinx.s: Likewise. * testsuite/gas/riscv/zdinx.d: Likewise. * testsuite/gas/riscv/zqinx.s: Likewise. Also use even-numbered registers to use valid register pairs. * testsuite/gas/riscv/zqinx.d: Likewise. Signed-off-by: Tsukasa OI <research_trasio@irq.a4lg.com> Signed-off-by: jiawei <jiawei@iscas.ac.cn>
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/gas/riscv/zdinx.d29
-rw-r--r--gas/testsuite/gas/riscv/zdinx.s45
-rw-r--r--gas/testsuite/gas/riscv/zfinx.d26
-rw-r--r--gas/testsuite/gas/riscv/zfinx.s41
-rw-r--r--gas/testsuite/gas/riscv/zqinx.d86
-rw-r--r--gas/testsuite/gas/riscv/zqinx.s86
6 files changed, 207 insertions, 106 deletions
diff --git a/gas/testsuite/gas/riscv/zdinx.d b/gas/testsuite/gas/riscv/zdinx.d
index 3e4c1a7..d41c39b 100644
--- a/gas/testsuite/gas/riscv/zdinx.d
+++ b/gas/testsuite/gas/riscv/zdinx.d
@@ -1,5 +1,4 @@
-#as: -march=rv64ima_zdinx
-#source: zdinx.s
+#as: -march=rv64i_zdinx
#objdump: -dr
.*:[ ]+file format .*
@@ -8,26 +7,42 @@ Disassembly of section .text:
0+000 <target>:
[ ]+[0-9a-f]+:[ ]+02c5f553[ ]+fadd.d[ ]+a0,a1,a2
+[ ]+[0-9a-f]+:[ ]+02c58553[ ]+fadd.d[ ]+a0,a1,a2,rne
[ ]+[0-9a-f]+:[ ]+0ac5f553[ ]+fsub.d[ ]+a0,a1,a2
+[ ]+[0-9a-f]+:[ ]+0ac58553[ ]+fsub.d[ ]+a0,a1,a2,rne
[ ]+[0-9a-f]+:[ ]+12c5f553[ ]+fmul.d[ ]+a0,a1,a2
+[ ]+[0-9a-f]+:[ ]+12c58553[ ]+fmul.d[ ]+a0,a1,a2,rne
[ ]+[0-9a-f]+:[ ]+1ac5f553[ ]+fdiv.d[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+5a057553[ ]+fsqrt.d[ ]+a0,a0
+[ ]+[0-9a-f]+:[ ]+1ac58553[ ]+fdiv.d[ ]+a0,a1,a2,rne
+[ ]+[0-9a-f]+:[ ]+5a05f553[ ]+fsqrt.d[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+5a058553[ ]+fsqrt.d[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+2ac58553[ ]+fmin.d[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+2ac59553[ ]+fmax.d[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+6ac5f543[ ]+fmadd.d[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+6ac58543[ ]+fmadd.d[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+6ac5f54f[ ]+fnmadd.d[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+6ac5854f[ ]+fnmadd.d[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+6ac5f547[ ]+fmsub.d[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+6ac58547[ ]+fmsub.d[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+6ac5f54b[ ]+fnmsub.d[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+6ac5854b[ ]+fnmsub.d[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+c205f553[ ]+fcvt.w.d[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c2058553[ ]+fcvt.w.d[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+c215f553[ ]+fcvt.wu.d[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c2158553[ ]+fcvt.wu.d[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+c225f553[ ]+fcvt.l.d[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c2258553[ ]+fcvt.l.d[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+c235f553[ ]+fcvt.lu.d[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+4015f553[ ]+fcvt.s.d[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+42058553[ ]+fcvt.d.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c2358553[ ]+fcvt.lu.d[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+d2058553[ ]+fcvt.d.w[ ]+a0,a1
[ ]+[0-9a-f]+:[ ]+d2158553[ ]+fcvt.d.wu[ ]+a0,a1
[ ]+[0-9a-f]+:[ ]+d225f553[ ]+fcvt.d.l[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+d2258553[ ]+fcvt.d.l[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+d235f553[ ]+fcvt.d.lu[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+d2358553[ ]+fcvt.d.lu[ ]+a0,a1,rne
+[ ]+[0-9a-f]+:[ ]+42058553[ ]+fcvt.d.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+4015f553[ ]+fcvt.s.d[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+40158553[ ]+fcvt.s.d[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+22c58553[ ]+fsgnj.d[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+22c59553[ ]+fsgnjn.d[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+22c5a553[ ]+fsgnjx.d[ ]+a0,a1,a2
@@ -36,6 +51,6 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+a2c58553[ ]+fle.d[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+a2b61553[ ]+flt.d[ ]+a0,a2,a1
[ ]+[0-9a-f]+:[ ]+a2b60553[ ]+fle.d[ ]+a0,a2,a1
-[ ]+[0-9a-f]+:[ ]+22a51553[ ]+fneg.d[ ]+a0,a0
-[ ]+[0-9a-f]+:[ ]+22a52553[ ]+fabs.d[ ]+a0,a0
+[ ]+[0-9a-f]+:[ ]+22b59553[ ]+fneg.d[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+22b5a553[ ]+fabs.d[ ]+a0,a1
[ ]+[0-9a-f]+:[ ]+e2059553[ ]+fclass.d[ ]+a0,a1
diff --git a/gas/testsuite/gas/riscv/zdinx.s b/gas/testsuite/gas/riscv/zdinx.s
index c427d98..be9a47f 100644
--- a/gas/testsuite/gas/riscv/zdinx.s
+++ b/gas/testsuite/gas/riscv/zdinx.s
@@ -1,33 +1,52 @@
target:
fadd.d a0, a1, a2
+ fadd.d a0, a1, a2, rne
fsub.d a0, a1, a2
+ fsub.d a0, a1, a2, rne
fmul.d a0, a1, a2
+ fmul.d a0, a1, a2, rne
fdiv.d a0, a1, a2
- fsqrt.d a0, a0
+ fdiv.d a0, a1, a2, rne
+ fsqrt.d a0, a1
+ fsqrt.d a0, a1, rne
fmin.d a0, a1, a2
fmax.d a0, a1, a2
- fmadd.d a0, a1, a2, a3
+ fmadd.d a0, a1, a2, a3
+ fmadd.d a0, a1, a2, a3, rne
fnmadd.d a0, a1, a2, a3
- fmsub.d a0, a1, a2, a3
+ fnmadd.d a0, a1, a2, a3, rne
+ fmsub.d a0, a1, a2, a3
+ fmsub.d a0, a1, a2, a3, rne
fnmsub.d a0, a1, a2, a3
+ fnmsub.d a0, a1, a2, a3, rne
+
fcvt.w.d a0, a1
+ fcvt.w.d a0, a1, rne
fcvt.wu.d a0, a1
+ fcvt.wu.d a0, a1, rne
fcvt.l.d a0, a1
+ fcvt.l.d a0, a1, rne
fcvt.lu.d a0, a1
- fcvt.s.d a0, a1
- fcvt.d.s a0, a1
+ fcvt.lu.d a0, a1, rne
fcvt.d.w a0, a1
fcvt.d.wu a0, a1
fcvt.d.l a0, a1
+ fcvt.d.l a0, a1, rne
fcvt.d.lu a0, a1
- fsgnj.d a0, a1, a2
+ fcvt.d.lu a0, a1, rne
+
+ fcvt.d.s a0, a1
+ fcvt.s.d a0, a1
+ fcvt.s.d a0, a1, rne
+
+ fsgnj.d a0, a1, a2
fsgnjn.d a0, a1, a2
fsgnjx.d a0, a1, a2
- feq.d a0, a1, a2
- flt.d a0, a1, a2
- fle.d a0, a1, a2
- fgt.d a0, a1, a2
- fge.d a0, a1, a2
- fneg.d a0, a0
- fabs.d a0, a0
+ feq.d a0, a1, a2
+ flt.d a0, a1, a2
+ fle.d a0, a1, a2
+ fgt.d a0, a1, a2
+ fge.d a0, a1, a2
+ fneg.d a0, a1
+ fabs.d a0, a1
fclass.d a0, a1
diff --git a/gas/testsuite/gas/riscv/zfinx.d b/gas/testsuite/gas/riscv/zfinx.d
index d5499aa..3e99b76 100644
--- a/gas/testsuite/gas/riscv/zfinx.d
+++ b/gas/testsuite/gas/riscv/zfinx.d
@@ -1,5 +1,4 @@
-#as: -march=rv64ima_zfinx
-#source: zfinx.s
+#as: -march=rv64i_zfinx
#objdump: -dr
.*:[ ]+file format .*
@@ -8,24 +7,41 @@ Disassembly of section .text:
0+000 <target>:
[ ]+[0-9a-f]+:[ ]+00c5f553[ ]+fadd.s[ ]+a0,a1,a2
+[ ]+[0-9a-f]+:[ ]+00c58553[ ]+fadd.s[ ]+a0,a1,a2,rne
[ ]+[0-9a-f]+:[ ]+08c5f553[ ]+fsub.s[ ]+a0,a1,a2
+[ ]+[0-9a-f]+:[ ]+08c58553[ ]+fsub.s[ ]+a0,a1,a2,rne
[ ]+[0-9a-f]+:[ ]+10c5f553[ ]+fmul.s[ ]+a0,a1,a2
+[ ]+[0-9a-f]+:[ ]+10c58553[ ]+fmul.s[ ]+a0,a1,a2,rne
[ ]+[0-9a-f]+:[ ]+18c5f553[ ]+fdiv.s[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+58057553[ ]+fsqrt.s[ ]+a0,a0
+[ ]+[0-9a-f]+:[ ]+18c58553[ ]+fdiv.s[ ]+a0,a1,a2,rne
+[ ]+[0-9a-f]+:[ ]+5805f553[ ]+fsqrt.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+58058553[ ]+fsqrt.s[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+28c58553[ ]+fmin.s[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+28c59553[ ]+fmax.s[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+68c5f543[ ]+fmadd.s[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+68c58543[ ]+fmadd.s[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+68c5f54f[ ]+fnmadd.s[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+68c5854f[ ]+fnmadd.s[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+68c5f547[ ]+fmsub.s[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+68c58547[ ]+fmsub.s[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+68c5f54b[ ]+fnmsub.s[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+68c5854b[ ]+fnmsub.s[ ]+a0,a1,a2,a3,rne
[ ]+[0-9a-f]+:[ ]+c005f553[ ]+fcvt.w.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c0058553[ ]+fcvt.w.s[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+c015f553[ ]+fcvt.wu.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c0158553[ ]+fcvt.wu.s[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+c025f553[ ]+fcvt.l.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c0258553[ ]+fcvt.l.s[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+c035f553[ ]+fcvt.lu.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+c0358553[ ]+fcvt.lu.s[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+d005f553[ ]+fcvt.s.w[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+d0058553[ ]+fcvt.s.w[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+d015f553[ ]+fcvt.s.wu[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+d0158553[ ]+fcvt.s.wu[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+d025f553[ ]+fcvt.s.l[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+d0258553[ ]+fcvt.s.l[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+d035f553[ ]+fcvt.s.lu[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+d0358553[ ]+fcvt.s.lu[ ]+a0,a1,rne
[ ]+[0-9a-f]+:[ ]+20c58553[ ]+fsgnj.s[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+20c59553[ ]+fsgnjn.s[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+20c5a553[ ]+fsgnjx.s[ ]+a0,a1,a2
@@ -34,6 +50,6 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+a0c58553[ ]+fle.s[ ]+a0,a1,a2
[ ]+[0-9a-f]+:[ ]+a0b61553[ ]+flt.s[ ]+a0,a2,a1
[ ]+[0-9a-f]+:[ ]+a0b60553[ ]+fle.s[ ]+a0,a2,a1
-[ ]+[0-9a-f]+:[ ]+20a51553[ ]+fneg.s[ ]+a0,a0
-[ ]+[0-9a-f]+:[ ]+20a52553[ ]+fabs.s[ ]+a0,a0
+[ ]+[0-9a-f]+:[ ]+20b59553[ ]+fneg.s[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+20b5a553[ ]+fabs.s[ ]+a0,a1
[ ]+[0-9a-f]+:[ ]+e0059553[ ]+fclass.s[ ]+a0,a1
diff --git a/gas/testsuite/gas/riscv/zfinx.s b/gas/testsuite/gas/riscv/zfinx.s
index af50490..6687f31 100644
--- a/gas/testsuite/gas/riscv/zfinx.s
+++ b/gas/testsuite/gas/riscv/zfinx.s
@@ -1,31 +1,50 @@
target:
fadd.s a0, a1, a2
+ fadd.s a0, a1, a2, rne
fsub.s a0, a1, a2
+ fsub.s a0, a1, a2, rne
fmul.s a0, a1, a2
+ fmul.s a0, a1, a2, rne
fdiv.s a0, a1, a2
- fsqrt.s a0, a0
+ fdiv.s a0, a1, a2, rne
+ fsqrt.s a0, a1
+ fsqrt.s a0, a1, rne
fmin.s a0, a1, a2
fmax.s a0, a1, a2
- fmadd.s a0, a1, a2, a3
+ fmadd.s a0, a1, a2, a3
+ fmadd.s a0, a1, a2, a3, rne
fnmadd.s a0, a1, a2, a3
- fmsub.s a0, a1, a2, a3
+ fnmadd.s a0, a1, a2, a3, rne
+ fmsub.s a0, a1, a2, a3
+ fmsub.s a0, a1, a2, a3, rne
fnmsub.s a0, a1, a2, a3
+ fnmsub.s a0, a1, a2, a3, rne
+
fcvt.w.s a0, a1
+ fcvt.w.s a0, a1, rne
fcvt.wu.s a0, a1
+ fcvt.wu.s a0, a1, rne
fcvt.l.s a0, a1
+ fcvt.l.s a0, a1, rne
fcvt.lu.s a0, a1
+ fcvt.lu.s a0, a1, rne
fcvt.s.w a0, a1
+ fcvt.s.w a0, a1, rne
fcvt.s.wu a0, a1
+ fcvt.s.wu a0, a1, rne
fcvt.s.l a0, a1
+ fcvt.s.l a0, a1, rne
fcvt.s.lu a0, a1
- fsgnj.s a0, a1, a2
+ fcvt.s.lu a0, a1, rne
+
+ fsgnj.s a0, a1, a2
fsgnjn.s a0, a1, a2
fsgnjx.s a0, a1, a2
- feq.s a0, a1, a2
- flt.s a0, a1, a2
- fle.s a0, a1, a2
- fgt.s a0, a1, a2
- fge.s a0, a1, a2
- fneg.s a0, a0
- fabs.s a0, a0
+ feq.s a0, a1, a2
+ flt.s a0, a1, a2
+ fle.s a0, a1, a2
+ fgt.s a0, a1, a2
+ fge.s a0, a1, a2
+ fneg.s a0, a1
+ fabs.s a0, a1
fclass.s a0, a1
diff --git a/gas/testsuite/gas/riscv/zqinx.d b/gas/testsuite/gas/riscv/zqinx.d
index c1a0920..224bc82 100644
--- a/gas/testsuite/gas/riscv/zqinx.d
+++ b/gas/testsuite/gas/riscv/zqinx.d
@@ -1,5 +1,4 @@
-#as: -march=rv64ima_zqinx
-#source: zqinx.s
+#as: -march=rv64i_zqinx
#objdump: -dr
.*:[ ]+file format .*
@@ -7,37 +6,52 @@
Disassembly of section .text:
0+000 <target>:
-[ ]+[0-9a-f]+:[ ]+06c5f553[ ]+fadd.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+0ec5f553[ ]+fsub.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+16c5f553[ ]+fmul.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+1ec5f553[ ]+fdiv.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+5e057553[ ]+fsqrt.q[ ]+a0,a0
-[ ]+[0-9a-f]+:[ ]+2ec58553[ ]+fmin.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+2ec59553[ ]+fmax.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+6ec5f543[ ]+fmadd.q[ ]+a0,a1,a2,a3
-[ ]+[0-9a-f]+:[ ]+6ec5f54f[ ]+fnmadd.q[ ]+a0,a1,a2,a3
-[ ]+[0-9a-f]+:[ ]+6ec5f547[ ]+fmsub.q[ ]+a0,a1,a2,a3
-[ ]+[0-9a-f]+:[ ]+6ec5f54b[ ]+fnmsub.q[ ]+a0,a1,a2,a3
-[ ]+[0-9a-f]+:[ ]+c605f553[ ]+fcvt.w.q[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+c615f553[ ]+fcvt.wu.q[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+c625f553[ ]+fcvt.l.q[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+c635f553[ ]+fcvt.lu.q[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+4035f553[ ]+fcvt.s.q[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+4235f553[ ]+fcvt.d.q[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+46058553[ ]+fcvt.q.s[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+46158553[ ]+fcvt.q.d[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+d6058553[ ]+fcvt.q.w[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+d6158553[ ]+fcvt.q.wu[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+d6258553[ ]+fcvt.q.l[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+d6358553[ ]+fcvt.q.lu[ ]+a0,a1
-[ ]+[0-9a-f]+:[ ]+26c58553[ ]+fsgnj.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+26c59553[ ]+fsgnjn.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+26c5a553[ ]+fsgnjx.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+a6c5a553[ ]+feq.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+a6c59553[ ]+flt.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+a6c58553[ ]+fle.q[ ]+a0,a1,a2
-[ ]+[0-9a-f]+:[ ]+a6b61553[ ]+flt.q[ ]+a0,a2,a1
-[ ]+[0-9a-f]+:[ ]+a6b60553[ ]+fle.q[ ]+a0,a2,a1
-[ ]+[0-9a-f]+:[ ]+26a51553[ ]+fneg.q[ ]+a0,a0
-[ ]+[0-9a-f]+:[ ]+26a52553[ ]+fabs.q[ ]+a0,a0
-[ ]+[0-9a-f]+:[ ]+e6059553[ ]+fclass.q[ ]+a0,a1
+[ ]+[0-9a-f]+:[ ]+06e67553[ ]+fadd.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+06e60553[ ]+fadd.q[ ]+a0,a2,a4,rne
+[ ]+[0-9a-f]+:[ ]+0ee67553[ ]+fsub.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+0ee60553[ ]+fsub.q[ ]+a0,a2,a4,rne
+[ ]+[0-9a-f]+:[ ]+16e67553[ ]+fmul.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+16e60553[ ]+fmul.q[ ]+a0,a2,a4,rne
+[ ]+[0-9a-f]+:[ ]+1ee67553[ ]+fdiv.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+1ee60553[ ]+fdiv.q[ ]+a0,a2,a4,rne
+[ ]+[0-9a-f]+:[ ]+5e067553[ ]+fsqrt.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+5e060553[ ]+fsqrt.q[ ]+a0,a2,rne
+[ ]+[0-9a-f]+:[ ]+2ee60553[ ]+fmin.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+2ee61553[ ]+fmax.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+86e67543[ ]+fmadd.q[ ]+a0,a2,a4,a6
+[ ]+[0-9a-f]+:[ ]+86e60543[ ]+fmadd.q[ ]+a0,a2,a4,a6,rne
+[ ]+[0-9a-f]+:[ ]+86e6754f[ ]+fnmadd.q[ ]+a0,a2,a4,a6
+[ ]+[0-9a-f]+:[ ]+86e6054f[ ]+fnmadd.q[ ]+a0,a2,a4,a6,rne
+[ ]+[0-9a-f]+:[ ]+86e67547[ ]+fmsub.q[ ]+a0,a2,a4,a6
+[ ]+[0-9a-f]+:[ ]+86e60547[ ]+fmsub.q[ ]+a0,a2,a4,a6,rne
+[ ]+[0-9a-f]+:[ ]+86e6754b[ ]+fnmsub.q[ ]+a0,a2,a4,a6
+[ ]+[0-9a-f]+:[ ]+86e6054b[ ]+fnmsub.q[ ]+a0,a2,a4,a6,rne
+[ ]+[0-9a-f]+:[ ]+c6067553[ ]+fcvt.w.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+c6060553[ ]+fcvt.w.q[ ]+a0,a2,rne
+[ ]+[0-9a-f]+:[ ]+c6167553[ ]+fcvt.wu.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+c6160553[ ]+fcvt.wu.q[ ]+a0,a2,rne
+[ ]+[0-9a-f]+:[ ]+c6267553[ ]+fcvt.l.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+c6260553[ ]+fcvt.l.q[ ]+a0,a2,rne
+[ ]+[0-9a-f]+:[ ]+c6367553[ ]+fcvt.lu.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+c6360553[ ]+fcvt.lu.q[ ]+a0,a2,rne
+[ ]+[0-9a-f]+:[ ]+d6060553[ ]+fcvt.q.w[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+d6160553[ ]+fcvt.q.wu[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+d6260553[ ]+fcvt.q.l[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+d6360553[ ]+fcvt.q.lu[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+46060553[ ]+fcvt.q.s[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+46160553[ ]+fcvt.q.d[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+40367553[ ]+fcvt.s.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+40360553[ ]+fcvt.s.q[ ]+a0,a2,rne
+[ ]+[0-9a-f]+:[ ]+42367553[ ]+fcvt.d.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+42360553[ ]+fcvt.d.q[ ]+a0,a2,rne
+[ ]+[0-9a-f]+:[ ]+26e60553[ ]+fsgnj.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+26e61553[ ]+fsgnjn.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+26e62553[ ]+fsgnjx.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+a6e62553[ ]+feq.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+a6e61553[ ]+flt.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+a6e60553[ ]+fle.q[ ]+a0,a2,a4
+[ ]+[0-9a-f]+:[ ]+a6c71553[ ]+flt.q[ ]+a0,a4,a2
+[ ]+[0-9a-f]+:[ ]+a6c70553[ ]+fle.q[ ]+a0,a4,a2
+[ ]+[0-9a-f]+:[ ]+26c61553[ ]+fneg.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+26c62553[ ]+fabs.q[ ]+a0,a2
+[ ]+[0-9a-f]+:[ ]+e6061553[ ]+fclass.q[ ]+a0,a2
diff --git a/gas/testsuite/gas/riscv/zqinx.s b/gas/testsuite/gas/riscv/zqinx.s
index ba5179d..e4244a4 100644
--- a/gas/testsuite/gas/riscv/zqinx.s
+++ b/gas/testsuite/gas/riscv/zqinx.s
@@ -1,35 +1,53 @@
target:
- fadd.q a0, a1, a2
- fsub.q a0, a1, a2
- fmul.q a0, a1, a2
- fdiv.q a0, a1, a2
- fsqrt.q a0, a0
- fmin.q a0, a1, a2
- fmax.q a0, a1, a2
- fmadd.q a0, a1, a2, a3
- fnmadd.q a0, a1, a2, a3
- fmsub.q a0, a1, a2, a3
- fnmsub.q a0, a1, a2, a3
- fcvt.w.q a0, a1
- fcvt.wu.q a0, a1
- fcvt.l.q a0, a1
- fcvt.lu.q a0, a1
- fcvt.s.q a0, a1
- fcvt.d.q a0, a1
- fcvt.q.s a0, a1
- fcvt.q.d a0, a1
- fcvt.q.w a0, a1
- fcvt.q.wu a0, a1
- fcvt.q.l a0, a1
- fcvt.q.lu a0, a1
- fsgnj.q a0, a1, a2
- fsgnjn.q a0, a1, a2
- fsgnjx.q a0, a1, a2
- feq.q a0, a1, a2
- flt.q a0, a1, a2
- fle.q a0, a1, a2
- fgt.q a0, a1, a2
- fge.q a0, a1, a2
- fneg.q a0, a0
- fabs.q a0, a0
- fclass.q a0, a1
+ fadd.q a0, a2, a4
+ fadd.q a0, a2, a4, rne
+ fsub.q a0, a2, a4
+ fsub.q a0, a2, a4, rne
+ fmul.q a0, a2, a4
+ fmul.q a0, a2, a4, rne
+ fdiv.q a0, a2, a4
+ fdiv.q a0, a2, a4, rne
+ fsqrt.q a0, a2
+ fsqrt.q a0, a2, rne
+ fmin.q a0, a2, a4
+ fmax.q a0, a2, a4
+ fmadd.q a0, a2, a4, a6
+ fmadd.q a0, a2, a4, a6, rne
+ fnmadd.q a0, a2, a4, a6
+ fnmadd.q a0, a2, a4, a6, rne
+ fmsub.q a0, a2, a4, a6
+ fmsub.q a0, a2, a4, a6, rne
+ fnmsub.q a0, a2, a4, a6
+ fnmsub.q a0, a2, a4, a6, rne
+
+ fcvt.w.q a0, a2
+ fcvt.w.q a0, a2, rne
+ fcvt.wu.q a0, a2
+ fcvt.wu.q a0, a2, rne
+ fcvt.l.q a0, a2
+ fcvt.l.q a0, a2, rne
+ fcvt.lu.q a0, a2
+ fcvt.lu.q a0, a2, rne
+ fcvt.q.w a0, a2
+ fcvt.q.wu a0, a2
+ fcvt.q.l a0, a2
+ fcvt.q.lu a0, a2
+
+ fcvt.q.s a0, a2
+ fcvt.q.d a0, a2
+ fcvt.s.q a0, a2
+ fcvt.s.q a0, a2, rne
+ fcvt.d.q a0, a2
+ fcvt.d.q a0, a2, rne
+
+ fsgnj.q a0, a2, a4
+ fsgnjn.q a0, a2, a4
+ fsgnjx.q a0, a2, a4
+ feq.q a0, a2, a4
+ flt.q a0, a2, a4
+ fle.q a0, a2, a4
+ fgt.q a0, a2, a4
+ fge.q a0, a2, a4
+ fneg.q a0, a2
+ fabs.q a0, a2
+ fclass.q a0, a2