[PATCH 1/2] RISC-V: Reorganize and enhance 'Zfinx' tests

Tsukasa OI research_trasio@irq.a4lg.com
Wed Sep 28 07:20:28 GMT 2022


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>
---
 gas/testsuite/gas/riscv/zdinx.d | 29 ++++++++---
 gas/testsuite/gas/riscv/zdinx.s | 45 ++++++++++++-----
 gas/testsuite/gas/riscv/zfinx.d | 26 ++++++++--
 gas/testsuite/gas/riscv/zfinx.s | 41 +++++++++++-----
 gas/testsuite/gas/riscv/zqinx.d | 86 +++++++++++++++++++--------------
 gas/testsuite/gas/riscv/zqinx.s | 86 ++++++++++++++++++++-------------
 6 files changed, 207 insertions(+), 106 deletions(-)

diff --git a/gas/testsuite/gas/riscv/zdinx.d b/gas/testsuite/gas/riscv/zdinx.d
index 3e4c1a73388..d41c39b0304 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 c427d982aaf..be9a47fa404 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 d5499aa9131..3e99b766f5b 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 af50490fadf..6687f3187ef 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 c1a09201206..224bc827ad0 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 ba5179dc727..e4244a4277d 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
-- 
2.34.1



More information about the Binutils mailing list