diff options
author | Juzhe-Zhong <juzhe.zhong@rivai.ai> | 2023-05-31 21:20:49 +0800 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2023-05-31 22:05:31 +0800 |
commit | e1240bda3e0bb10ea6d24b278660fb3c6797f4f2 (patch) | |
tree | f3ec620e525ccec243a783b48aee610c60eb3270 /gcc/fold-const-call.cc | |
parent | 644d168385f2e90da1985ed7307be0637ea184e9 (diff) | |
download | gcc-e1240bda3e0bb10ea6d24b278660fb3c6797f4f2.zip gcc-e1240bda3e0bb10ea6d24b278660fb3c6797f4f2.tar.gz gcc-e1240bda3e0bb10ea6d24b278660fb3c6797f4f2.tar.bz2 |
RISC-V: Add vwadd<u>/vwsub<u>/vwmul<u>/vwmulsu.vv lowering optimizaiton for RVV auto-vectorization
Base on V1 patch, adding comment:
;; Use define_insn_and_split to define vsext.vf2/vzext.vf2 will help combine PASS
;; to combine instructions as below:
;; vsext.vf2 + vsext.vf2 + vadd.vv ==> vwadd.vv
gcc/ChangeLog:
* config/riscv/autovec.md (<optab><v_double_trunc><mode>2): Change
expand into define_insn_and_split.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/rvv.exp:
* gcc.target/riscv/rvv/autovec/widen/widen-1.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen-2.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen-3.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen-4.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen_run-3.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen_run-4.c: New test.
Diffstat (limited to 'gcc/fold-const-call.cc')
0 files changed, 0 insertions, 0 deletions