]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Add COND_LEN_FNMA/COND_LEN_FMS/COND_LEN_FNMS testcases
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Wed, 16 Aug 2023 13:20:10 +0000 (21:20 +0800)
committerPan Li <pan2.li@intel.com>
Thu, 24 Aug 2023 11:35:55 +0000 (19:35 +0800)
commit1fbcae1c6452c9939a4be818a64cd01883abd80e
tree0a6845f0af673f199393eca1e5bf38d441a360c3
parenta047513c9222f14adc6e5a015e038b207bb9a653
RISC-V: Add COND_LEN_FNMA/COND_LEN_FMS/COND_LEN_FNMS testcases

This patch is depending on middle-end patch:
https://gcc.gnu.org/pipermail/gcc-patches/2023-August/627621.html

We already had COND_LEN_FNMA/COND_LEN_FMS/COND_FNMS patterns.

Remove TARGET_PREFERRED_ELSE_VALUE since it forbid the COND_LEN_FMS/COND_LEN_FNMS STMT fold.

gcc/ChangeLog:

* config/riscv/riscv.cc (riscv_preferred_else_value): Remove it since
it forbid COND_LEN_FMS/COND_LEN_FNMS STMT fold.
(TARGET_PREFERRED_ELSE_VALUE): Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c: Adapt test.
* gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c: Ditto.
* gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c: Ditto.
* gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c: Ditto.
* gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c: Ditto.
* gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c: Ditto.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c: Ditto.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c: Ditto.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c: New test.
27 files changed:
gcc/config/riscv/riscv.cc
gcc/testsuite/gcc.target/riscv/rvv/autovec/binop/vadd-rv32gcv-nofm.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/binop/vadd-rv64gcv-nofm.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_fadd-1.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_fadd-2.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_fadd-3.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_fadd-4.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-1.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-3.c
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm-9.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-10.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-11.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-12.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/ternop/ternop_nofm_run-9.c [new file with mode: 0644]