[PATCH v2 5/8] RISC-V: Reorganize and enhance Zfinx tests

jiawei@iscas.ac.cn jiawei@iscas.ac.cn
Mon Jun 27 02:29:45 GMT 2022


LGTM, thanks for your works!


> -----原始邮件-----
> 发件人: "Tsukasa OI" <research_trasio@irq.a4lg.com>
> 发送时间: 2022-06-27 10:03:45 (星期一)
> 收件人: "Tsukasa OI" <research_trasio@irq.a4lg.com>, "Weiwei Li" <liweiwei@iscas.ac.cn>, "Nelson Chu" <nelson.chu@sifive.com>, "Kito Cheng" <kito.cheng@sifive.com>, "Palmer Dabbelt" <palmer@dabbelt.com>
> 抄送: binutils@sourceware.org, jiawei <jiawei@iscas.ac.cn>
> 主题: [PATCH v2 5/8] RISC-V: Reorganize and enhance Zfinx tests
> 
> This commit adds certain test cases for Zfinx/Zdinx/Zqinx extensions
> and reorganizes them, fixes coding style.  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.
> 	* testsuite/gas/riscv/zfinx.d: Likewise.
> 	* testsuite/gas/riscv/zdinx.s: Use different registers for
> 	better encode space testing / make indentation consistent /
> 	add tests for instruction with rounding mode.
> 	* testsuite/gas/riscv/zdinx.d: Likewise.
> 	* testsuite/gas/riscv/zqinx.s: Use different registers for
> 	better encode space testing / make indentation consistent /
> 	add tests for instruction with rounding mode / 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 | 26 ++++++++--
>  gas/testsuite/gas/riscv/zdinx.s | 45 ++++++++++++-----
>  gas/testsuite/gas/riscv/zfinx.d | 23 +++++++--
>  gas/testsuite/gas/riscv/zfinx.s | 41 ++++++++++-----
>  gas/testsuite/gas/riscv/zqinx.d | 85 ++++++++++++++++++-------------
>  gas/testsuite/gas/riscv/zqinx.s | 88 ++++++++++++++++++++-------------
>  6 files changed, 208 insertions(+), 100 deletions(-)
> 
> diff --git a/gas/testsuite/gas/riscv/zdinx.d b/gas/testsuite/gas/riscv/zdinx.d
> index 3e4c1a73388..f0b2ca687ee 100644
> --- a/gas/testsuite/gas/riscv/zdinx.d
> +++ b/gas/testsuite/gas/riscv/zdinx.d
> @@ -8,26 +8,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 +52,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..18a4e17f930 100644
> --- a/gas/testsuite/gas/riscv/zfinx.d
> +++ b/gas/testsuite/gas/riscv/zfinx.d
> @@ -8,24 +8,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 +51,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..f583002db0f 100644
> --- a/gas/testsuite/gas/riscv/zqinx.d
> +++ b/gas/testsuite/gas/riscv/zqinx.d
> @@ -7,37 +7,54 @@
>  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]+:[ 	]+d6267553[ 	]+fcvt.q.l[ 	]+a0,a2
> +[ 	]+[0-9a-f]+:[ 	]+d6260553[ 	]+fcvt.q.l[ 	]+a0,a2,rne
> +[ 	]+[0-9a-f]+:[ 	]+d6367553[ 	]+fcvt.q.lu[ 	]+a0,a2
> +[ 	]+[0-9a-f]+:[ 	]+d6360553[ 	]+fcvt.q.lu[ 	]+a0,a2,rne
> +[ 	]+[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..8158108230a 100644
> --- a/gas/testsuite/gas/riscv/zqinx.s
> +++ b/gas/testsuite/gas/riscv/zqinx.s
> @@ -1,35 +1,55 @@
>  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.l	a0, a2, rne
> +	fcvt.q.lu	a0, a2
> +	fcvt.q.lu	a0, a2, rne
> +
> +	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.25.1
</target></target></target></jiawei@iscas.ac.cn></research_trasio@irq.a4lg.com></jiawei@iscas.ac.cn></palmer@dabbelt.com></kito.cheng@sifive.com></nelson.chu@sifive.com></liweiwei@iscas.ac.cn></research_trasio@irq.a4lg.com></research_trasio@irq.a4lg.com>


More information about the Binutils mailing list