[PATCH 5/5] RISC-V: Fix RV64_Zqinx to use register pairs
Palmer Dabbelt
palmer@rivosinc.com
Tue Feb 8 02:00:53 GMT 2022
On Tue, 01 Feb 2022 05:49:06 PST (-0800), binutils@sourceware.org wrote:
> This commit ensures that all FP128 register numbers to be even because
> RV64_Zqinx would require it.
>
> gas/ChangeLog:
>
> * testsuite/gas/riscv/zqinx.s: Make register numbers even.
> * testsuite/gas/riscv/zqinx.d: Likewise.
> ---
> gas/testsuite/gas/riscv/zqinx.d | 70 ++++++++++++++++-----------------
> gas/testsuite/gas/riscv/zqinx.s | 70 ++++++++++++++++-----------------
> 2 files changed, 70 insertions(+), 70 deletions(-)
>
> diff --git a/gas/testsuite/gas/riscv/zqinx.d b/gas/testsuite/gas/riscv/zqinx.d
> index c704241bc90..52b5445d010 100644
> --- a/gas/testsuite/gas/riscv/zqinx.d
> +++ b/gas/testsuite/gas/riscv/zqinx.d
> @@ -7,38 +7,38 @@
> 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]+:[ ]+5e05f553[ ]+fsqrt.q[ ]+a0,a1
> -[ ]+[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]+:[ ]+d625f553[ ]+fcvt.q.l[ ]+a0,a1
> -[ ]+[0-9a-f]+:[ ]+d635f553[ ]+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]+:[ ]+26b58553[ ]+fmv.q[ ]+a0,a1
> -[ ]+[0-9a-f]+:[ ]+26b59553[ ]+fneg.q[ ]+a0,a1
> -[ ]+[0-9a-f]+:[ ]+26b5a553[ ]+fabs.q[ ]+a0,a1
> -[ ]+[0-9a-f]+:[ ]+e6059553[ ]+fclass.q[ ]+a0,a1
> +[ ]+[0-9a-f]+:[ ]+06e67553[ ]+fadd.q[ ]+a0,a2,a4
> +[ ]+[0-9a-f]+:[ ]+0ee67553[ ]+fsub.q[ ]+a0,a2,a4
> +[ ]+[0-9a-f]+:[ ]+16e67553[ ]+fmul.q[ ]+a0,a2,a4
> +[ ]+[0-9a-f]+:[ ]+1ee67553[ ]+fdiv.q[ ]+a0,a2,a4
> +[ ]+[0-9a-f]+:[ ]+5e067553[ ]+fsqrt.q[ ]+a0,a2
> +[ ]+[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]+:[ ]+86e6754f[ ]+fnmadd.q[ ]+a0,a2,a4,a6
> +[ ]+[0-9a-f]+:[ ]+86e67547[ ]+fmsub.q[ ]+a0,a2,a4,a6
> +[ ]+[0-9a-f]+:[ ]+86e6754b[ ]+fnmsub.q[ ]+a0,a2,a4,a6
> +[ ]+[0-9a-f]+:[ ]+c6067553[ ]+fcvt.w.q[ ]+a0,a2
> +[ ]+[0-9a-f]+:[ ]+c6167553[ ]+fcvt.wu.q[ ]+a0,a2
> +[ ]+[0-9a-f]+:[ ]+c6267553[ ]+fcvt.l.q[ ]+a0,a2
> +[ ]+[0-9a-f]+:[ ]+c6367553[ ]+fcvt.lu.q[ ]+a0,a2
> +[ ]+[0-9a-f]+:[ ]+40367553[ ]+fcvt.s.q[ ]+a0,a2
> +[ ]+[0-9a-f]+:[ ]+42367553[ ]+fcvt.d.q[ ]+a0,a2
> +[ ]+[0-9a-f]+:[ ]+46060553[ ]+fcvt.q.s[ ]+a0,a2
> +[ ]+[0-9a-f]+:[ ]+46160553[ ]+fcvt.q.d[ ]+a0,a2
> +[ ]+[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]+:[ ]+d6367553[ ]+fcvt.q.lu[ ]+a0,a2
> +[ ]+[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]+:[ ]+26c60553[ ]+fmv.q[ ]+a0,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 02147b1919c..2dc2a7c1483 100644
> --- a/gas/testsuite/gas/riscv/zqinx.s
> +++ b/gas/testsuite/gas/riscv/zqinx.s
> @@ -1,36 +1,36 @@
> target:
> - fadd.q a0, a1, a2
> - fsub.q a0, a1, a2
> - fmul.q a0, a1, a2
> - fdiv.q a0, a1, a2
> - fsqrt.q a0, a1
> - 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
> - fmv.q a0, a1
> - fneg.q a0, a1
> - fabs.q a0, a1
> - fclass.q a0, a1
> + fadd.q a0, a2, a4
> + fsub.q a0, a2, a4
> + fmul.q a0, a2, a4
> + fdiv.q a0, a2, a4
> + fsqrt.q a0, a2
> + fmin.q a0, a2, a4
> + fmax.q a0, a2, a4
> + fmadd.q a0, a2, a4, a6
> + fnmadd.q a0, a2, a4, a6
> + fmsub.q a0, a2, a4, a6
> + fnmsub.q a0, a2, a4, a6
> + fcvt.w.q a0, a2
> + fcvt.wu.q a0, a2
> + fcvt.l.q a0, a2
> + fcvt.lu.q a0, a2
> + fcvt.s.q a0, a2
> + fcvt.d.q a0, a2
> + fcvt.q.s a0, a2
> + fcvt.q.d a0, a2
> + fcvt.q.w a0, a2
> + fcvt.q.wu a0, a2
> + fcvt.q.l a0, a2
> + fcvt.q.lu a0, a2
> + 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
> + fmv.q a0, a2
> + fneg.q a0, a2
> + fabs.q a0, a2
> + fclass.q a0, a2
Aside from the previous Zqinx issues
Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com>
Thanks!
More information about the Binutils
mailing list