aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcc.cc
diff options
context:
space:
mode:
authorJu-Zhe Zhong <juzhe.zhong@rivai.ai>2022-11-26 00:06:39 +0800
committerKito Cheng <kito.cheng@sifive.com>2022-12-02 00:11:52 +0800
commitfa144175c9ccaa10d7021d00f97aaa9eac59afec (patch)
tree1ca0830910a5d3ae8058f3c3369495abe48e2da4 /gcc/gcc.cc
parente41b243302e9964e642924329826448afb21d28e (diff)
downloadgcc-fa144175c9ccaa10d7021d00f97aaa9eac59afec.zip
gcc-fa144175c9ccaa10d7021d00f97aaa9eac59afec.tar.gz
gcc-fa144175c9ccaa10d7021d00f97aaa9eac59afec.tar.bz2
RISC-V: Add duplicate vector support.
gcc/ChangeLog: * config/riscv/constraints.md (Wdm): New constraint. * config/riscv/predicates.md (direct_broadcast_operand): New predicate. * config/riscv/riscv-protos.h (RVV_VLMAX): New macro. (emit_pred_op): Refine function. * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New function. (run_broadcast_selftests): Ditto. (BROADCAST_TEST): New tests. (riscv_run_selftests): More tests. * config/riscv/riscv-v.cc (emit_pred_move): Refine function. (emit_vlmax_vsetvl): Ditto. (emit_pred_op): Ditto. (expand_const_vector): New function. (legitimize_move): Add constant vector support. * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for const vector. * config/riscv/riscv.h (X0_REGNUM): New macro. * config/riscv/vector-iterators.md: New attribute. * config/riscv/vector.md (vec_duplicate<mode>): New pattern. (@pred_broadcast<mode>): New pattern. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/dup-1.c: New test. * gcc.target/riscv/rvv/base/dup-2.c: New test.
Diffstat (limited to 'gcc/gcc.cc')
0 files changed, 0 insertions, 0 deletions