diff options
author | Juzhe-Zhong <juzhe.zhong@rivai.ai> | 2023-06-28 11:10:11 +0800 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2023-06-28 11:15:21 +0800 |
commit | d35702d90e559f20f6c17d55cb0276c4fc60766c (patch) | |
tree | 0fa424c279ecfb97ffe7cfa44615e6e0348365cf /gcc/fortran/trans-decl.cc | |
parent | c5703272e9e3d7dce0c45c52f1922daa77e436e8 (diff) | |
download | gcc-d35702d90e559f20f6c17d55cb0276c4fc60766c.zip gcc-d35702d90e559f20f6c17d55cb0276c4fc60766c.tar.gz gcc-d35702d90e559f20f6c17d55cb0276c4fc60766c.tar.bz2 |
RISC-V: Support floating-point vfwadd/vfwsub vv/wv combine lowering
Currently, vfwadd.wv is the pattern with (set (reg) (float_extend:(reg)) which makes
combine pass faile to combine.
change RTL format of vfwadd.wv ------> (set (float_extend:(reg) (reg)) so that combine
PASS can combine.
gcc/ChangeLog:
* config/riscv/riscv-vector-builtins-bases.cc: Adapt expand.
* config/riscv/vector.md (@pred_single_widen_<plus_minus:optab><mode>):
Remove.
(@pred_single_widen_add<mode>): New pattern.
(@pred_single_widen_sub<mode>): New pattern.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/widen/widen-1.c: Add floating-point.
* gcc.target/riscv/rvv/autovec/widen/widen-2.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen-5.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen-6.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen-complicate-1.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen-complicate-2.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen_run-1.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen_run-2.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen_run-5.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen_run-6.c: Ditto.
* gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-1.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-2.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-5.c: New test.
* gcc.target/riscv/rvv/autovec/widen/widen_run_zvfh-6.c: New test.
Diffstat (limited to 'gcc/fortran/trans-decl.cc')
0 files changed, 0 insertions, 0 deletions