]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Add conditional sqrt autovec pattern
authorLehua Ding <lehua.ding@rivai.ai>
Mon, 4 Sep 2023 04:44:39 +0000 (12:44 +0800)
committerLehua Ding <lehua.ding@rivai.ai>
Wed, 6 Sep 2023 04:07:28 +0000 (12:07 +0800)
commitc1597e7fb9f9ecb9d7c33b5afa48031f284375de
tree21b730a16c69abebb9563c8e5670394904c8ead4
parentdbae784d50f499671fd2fde54a8d8d3421cba32b
RISC-V: Add conditional sqrt autovec pattern

This patch adds a combined pattern for combining vfsqrt.v and vcond_mask.

gcc/ChangeLog:

* config/riscv/autovec-opt.md (*cond_<optab><mode>):
Add sqrt + vcond_mask combine pattern.
* config/riscv/autovec.md (<optab><mode>2):
Change define_expand to define_insn_and_split.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c: New test.
* gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c: New test.
* gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c: New test.
* gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c: New test.
gcc/config/riscv/autovec-opt.md
gcc/config/riscv/autovec.md
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_sqrt-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_sqrt-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/cond/cond_sqrt_run-2.c [new file with mode: 0644]