aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const-call.cc
diff options
context:
space:
mode:
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>2023-05-31 21:20:49 +0800
committerPan Li <pan2.li@intel.com>2023-05-31 22:05:31 +0800
commite1240bda3e0bb10ea6d24b278660fb3c6797f4f2 (patch)
treef3ec620e525ccec243a783b48aee610c60eb3270 /gcc/fold-const-call.cc
parent644d168385f2e90da1985ed7307be0637ea184e9 (diff)
downloadgcc-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