-
- Downloads
RISC-V: Support load/store in mov<mode> pattern for RVV modes.
gcc/ChangeLog: * config.gcc (riscv*): Add riscv-v.o to extra_objs. * config/riscv/constraints.md (vu): New constraint. (vi): Ditto. (Wc0): Ditto. (Wc1): Ditto. * config/riscv/predicates.md (vector_length_operand): New. (reg_or_mem_operand): Ditto. (vector_move_operand): Ditto. (vector_mask_operand): Ditto. (vector_merge_operand): Ditto. * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New. (riscv_vector::const_vec_all_same_in_range_p): Ditto. (riscv_vector::legitimize_move): Ditto. (tail_policy): Ditto. (mask_policy): Ditto. * config/riscv/riscv-v.cc: New. * config/riscv/riscv-vector-builtins-bases.cc (vsetvl::expand): Refactor how LMUL encoding. * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL print and mask operand print. (riscv_regmode_natural_size): New. * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New. * config/riscv/riscv.md (mode): Add vector modes. * config/riscv/t-riscv (riscv-v.o) New. * config/riscv/vector-iterators.md: New. * config/riscv/vector.md (vundefined<mode>): New. (mov<mode>): New. (*mov<mode>): New. (@vsetvl<mode>_no_side_effects): New. (@pred_mov<mode>): New. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/mov-1.c: New. * gcc.target/riscv/rvv/base/mov-10.c: New. * gcc.target/riscv/rvv/base/mov-11.c: New. * gcc.target/riscv/rvv/base/mov-12.c: New. * gcc.target/riscv/rvv/base/mov-13.c: New. * gcc.target/riscv/rvv/base/mov-2.c: New. * gcc.target/riscv/rvv/base/mov-3.c: New. * gcc.target/riscv/rvv/base/mov-4.c: New. * gcc.target/riscv/rvv/base/mov-5.c: New. * gcc.target/riscv/rvv/base/mov-6.c: New. * gcc.target/riscv/rvv/base/mov-7.c: New. * gcc.target/riscv/rvv/base/mov-8.c: New. * gcc.target/riscv/rvv/base/mov-9.c: New.
Showing
- gcc/config.gcc 1 addition, 1 deletiongcc/config.gcc
- gcc/config/riscv/constraints.md 22 additions, 0 deletionsgcc/config/riscv/constraints.md
- gcc/config/riscv/predicates.md 23 additions, 0 deletionsgcc/config/riscv/predicates.md
- gcc/config/riscv/riscv-protos.h 14 additions, 0 deletionsgcc/config/riscv/riscv-protos.h
- gcc/config/riscv/riscv-v.cc 180 additions, 0 deletionsgcc/config/riscv/riscv-v.cc
- gcc/config/riscv/riscv-vector-builtins-bases.cc 2 additions, 12 deletionsgcc/config/riscv/riscv-vector-builtins-bases.cc
- gcc/config/riscv/riscv.cc 59 additions, 8 deletionsgcc/config/riscv/riscv.cc
- gcc/config/riscv/riscv.h 2 additions, 0 deletionsgcc/config/riscv/riscv.h
- gcc/config/riscv/riscv.md 8 additions, 1 deletiongcc/config/riscv/riscv.md
- gcc/config/riscv/t-riscv 4 additions, 0 deletionsgcc/config/riscv/t-riscv
- gcc/config/riscv/vector-iterators.md 58 additions, 0 deletionsgcc/config/riscv/vector-iterators.md
- gcc/config/riscv/vector.md 273 additions, 6 deletionsgcc/config/riscv/vector.md
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-1.c 179 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-1.c
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-10.c 385 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-10.c
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-11.c 385 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-11.c
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-12.c 159 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-12.c
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-13.c 14 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-13.c
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-2.c 153 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-2.c
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-3.c 127 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-3.c
- gcc/testsuite/gcc.target/riscv/rvv/base/mov-4.c 101 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/base/mov-4.c
Loading
Please register or sign in to comment