RISC-V: Use tu policy for first-element vec_set [PR115725].
This patch changes the tail policy for vmv.s.x from ta to tu. By default the bug does not show up with qemu because qemu's current vmv.s.x implementation always uses the tail-undisturbed policy. With a local qemu version that overwrites the tail with ones when the tail-agnostic policy is specified, the bug shows. gcc/ChangeLog: * config/riscv/autovec.md: Add TU policy. * config/riscv/riscv-protos.h (enum insn_type): Define SCALAR_MOVE_MERGED_OP_TU. gcc/testsuite/ChangeLog: PR target/115725 * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c: Adjust test expectation. * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c: Ditto. * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c: Ditto. * gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c: Ditto.
Showing
- gcc/config/riscv/autovec.md 2 additions, 1 deletiongcc/config/riscv/autovec.md
- gcc/config/riscv/riscv-protos.h 4 additions, 0 deletionsgcc/config/riscv/riscv-protos.h
- gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c 4 additions, 8 deletions...tsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-1.c
- gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c 4 additions, 8 deletions...tsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-2.c
- gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c 4 additions, 8 deletions...tsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-3.c
- gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c 4 additions, 8 deletions...tsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-4.c
Loading
Please register or sign in to comment