-
- Downloads
RISC-V: Add permutation C/C++ support
gcc/ChangeLog: * config/riscv/riscv-protos.h (enum vlen_enum): New enum. (slide1_sew64_helper): New function. * config/riscv/riscv-v.cc (compute_vlmax): Ditto. (get_unknown_min_value): Ditto. (force_vector_length_operand): Ditto. (gen_no_side_effects_vsetvl_rtx): Ditto. (get_vl_x2_rtx): Ditto. (slide1_sew64_helper): Ditto. * config/riscv/riscv-vector-builtins-bases.cc (class slideop): New class. (class vrgather): Ditto. (class vrgatherei16): Ditto. (class vcompress): Ditto. (BASE): Ditto. * config/riscv/riscv-vector-builtins-bases.h: Ditto. * config/riscv/riscv-vector-builtins-functions.def (vslideup): Ditto. (vslidedown): Ditto. (vslide1up): Ditto. (vslide1down): Ditto. (vfslide1up): Ditto. (vfslide1down): Ditto. (vrgather): Ditto. (vrgatherei16): Ditto. (vcompress): Ditto. * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_EI16_OPS): New macro. (vint8mf8_t): Ditto. (vint8mf4_t): Ditto. (vint8mf2_t): Ditto. (vint8m1_t): Ditto. (vint8m2_t): Ditto. (vint8m4_t): Ditto. (vint16mf4_t): Ditto. (vint16mf2_t): Ditto. (vint16m1_t): Ditto. (vint16m2_t): Ditto. (vint16m4_t): Ditto. (vint16m8_t): Ditto. (vint32mf2_t): Ditto. (vint32m1_t): Ditto. (vint32m2_t): Ditto. (vint32m4_t): Ditto. (vint32m8_t): Ditto. (vint64m1_t): Ditto. (vint64m2_t): Ditto. (vint64m4_t): Ditto. (vint64m8_t): Ditto. (vuint8mf8_t): Ditto. (vuint8mf4_t): Ditto. (vuint8mf2_t): Ditto. (vuint8m1_t): Ditto. (vuint8m2_t): Ditto. (vuint8m4_t): Ditto. (vuint16mf4_t): Ditto. (vuint16mf2_t): Ditto. (vuint16m1_t): Ditto. (vuint16m2_t): Ditto. (vuint16m4_t): Ditto. (vuint16m8_t): Ditto. (vuint32mf2_t): Ditto. (vuint32m1_t): Ditto. (vuint32m2_t): Ditto. (vuint32m4_t): Ditto. (vuint32m8_t): Ditto. (vuint64m1_t): Ditto. (vuint64m2_t): Ditto. (vuint64m4_t): Ditto. (vuint64m8_t): Ditto. (vfloat32mf2_t): Ditto. (vfloat32m1_t): Ditto. (vfloat32m2_t): Ditto. (vfloat32m4_t): Ditto. (vfloat32m8_t): Ditto. (vfloat64m1_t): Ditto. (vfloat64m2_t): Ditto. (vfloat64m4_t): Ditto. (vfloat64m8_t): Ditto. * config/riscv/riscv-vector-builtins.cc (DEF_RVV_EI16_OPS): Ditto. * config/riscv/riscv.md: Adjust RVV instruction types. * config/riscv/vector-iterators.md (down): New iterator. (=vd,vr): New attribute. (UNSPEC_VSLIDE1UP): New unspec. * config/riscv/vector.md (@pred_slide<ud><mode>): New pattern. (*pred_slide<ud><mode>): Ditto. (*pred_slide<ud><mode>_extended): Ditto. (@pred_gather<mode>): Ditto. (@pred_gather<mode>_scalar): Ditto. (@pred_gatherei16<mode>): Ditto. (@pred_compress<mode>): Ditto. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/binop_vx_constraint-167.c: New test. * gcc.target/riscv/rvv/base/binop_vx_constraint-168.c: New test. * gcc.target/riscv/rvv/base/binop_vx_constraint-169.c: New test. * gcc.target/riscv/rvv/base/binop_vx_constraint-170.c: New test. * gcc.target/riscv/rvv/base/binop_vx_constraint-171.c: New test. * gcc.target/riscv/rvv/base/binop_vx_constraint-172.c: New test. * gcc.target/riscv/rvv/base/binop_vx_constraint-173.c: New test. * gcc.target/riscv/rvv/base/binop_vx_constraint-174.c: New test.
Showing
- gcc/config/riscv/riscv-protos.h 12 additions, 0 deletionsgcc/config/riscv/riscv-protos.h
- gcc/config/riscv/riscv-v.cc 171 additions, 0 deletionsgcc/config/riscv/riscv-v.cc
- gcc/config/riscv/riscv-vector-builtins-bases.cc 73 additions, 0 deletionsgcc/config/riscv/riscv-vector-builtins-bases.cc
- gcc/config/riscv/riscv-vector-builtins-bases.h 9 additions, 0 deletionsgcc/config/riscv/riscv-vector-builtins-bases.h
- gcc/config/riscv/riscv-vector-builtins-functions.def 10 additions, 2 deletionsgcc/config/riscv/riscv-vector-builtins-functions.def
- gcc/config/riscv/riscv-vector-builtins-types.def 59 additions, 0 deletionsgcc/config/riscv/riscv-vector-builtins-types.def
- gcc/config/riscv/riscv-vector-builtins.cc 82 additions, 6 deletionsgcc/config/riscv/riscv-vector-builtins.cc
- gcc/config/riscv/riscv.md 16 additions, 12 deletionsgcc/config/riscv/riscv.md
- gcc/config/riscv/vector-iterators.md 77 additions, 0 deletionsgcc/config/riscv/vector-iterators.md
- gcc/config/riscv/vector.md 234 additions, 21 deletionsgcc/config/riscv/vector.md
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-167.c 143 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-167.c
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-168.c 143 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-168.c
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-169.c 163 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-169.c
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-170.c 163 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-170.c
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-171.c 75 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-171.c
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-172.c 71 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-172.c
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-173.c 75 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-173.c
- gcc/testsuite/gcc.target/riscv/rvv/base/binop_vx_constraint-174.c 71 additions, 0 deletions...suite/gcc.target/riscv/rvv/base/binop_vx_constraint-174.c
Loading
Please register or sign in to comment