RISC-V: Add else operand to masked loads [PR115336].
This patch adds else operands to masked loads. Currently the default else operand predicate just accepts "undefined" (i.e. SCRATCH) values. PR middle-end/115336 PR middle-end/116059 gcc/ChangeLog: * config/riscv/autovec.md: Add else operand. * config/riscv/predicates.md (maskload_else_operand): New predicate. * config/riscv/riscv-v.cc (get_else_operand): Remove static. (expand_load_store): Use get_else_operand and adjust index. (expand_gather_scatter): Ditto. (expand_lanes_load_store): Ditto. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/pr115336.c: New test. * gcc.target/riscv/rvv/autovec/pr116059.c: New test.
Showing
- gcc/config/riscv/autovec.md 30 additions, 20 deletionsgcc/config/riscv/autovec.md
- gcc/config/riscv/predicates.md 3 additions, 0 deletionsgcc/config/riscv/predicates.md
- gcc/config/riscv/riscv-v.cc 20 additions, 10 deletionsgcc/config/riscv/riscv-v.cc
- gcc/testsuite/gcc.target/riscv/rvv/autovec/pr115336.c 20 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/autovec/pr115336.c
- gcc/testsuite/gcc.target/riscv/rvv/autovec/pr116059.c 15 additions, 0 deletionsgcc/testsuite/gcc.target/riscv/rvv/autovec/pr116059.c
Loading
Please register or sign in to comment