diff options
author | Juzhe-Zhong <juzhe.zhong@rivai.ai> | 2023-05-29 12:48:08 +0800 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2023-05-29 12:48:08 +0800 |
commit | c48d7a6e3209021ec3a3d9c23601250405d94d96 (patch) | |
tree | 15e357bc0f466fa787de933001dbc5ccfc47b935 /gcc/ada | |
parent | f8af48d8755018272cdb0cf2f250cf278829d7be (diff) | |
download | gcc-c48d7a6e3209021ec3a3d9c23601250405d94d96.zip gcc-c48d7a6e3209021ec3a3d9c23601250405d94d96.tar.gz gcc-c48d7a6e3209021ec3a3d9c23601250405d94d96.tar.bz2 |
RISC-V: Add RVV FMA auto-vectorization support
This patch support FMA auto-vectorization pattern. Let's RA decide
vmacc or vmadd.
Signed-off-by: Juzhe-Zhong <juzhe.zhong@rivai.ai>
gcc/ChangeLog:
* config/riscv/autovec.md (fma<mode>4): New pattern.
(*fma<mode>): Ditto.
* config/riscv/riscv-protos.h (enum insn_type): New enum.
(emit_vlmax_ternary_insn): New function.
* config/riscv/riscv-v.cc (emit_vlmax_ternary_insn): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/rvv.exp: Add ternary tests
* gcc.target/riscv/rvv/autovec/ternop/ternop-1.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop-2.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop-3.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_run-1.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_run-2.c: New test.
* gcc.target/riscv/rvv/autovec/ternop/ternop_run-3.c: New test.
Diffstat (limited to 'gcc/ada')
0 files changed, 0 insertions, 0 deletions