aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-loop-interchange.cc
diff options
context:
space:
mode:
authorxuli <xuli1@eswincomputing.com>2023-09-21 03:04:56 +0000
committerxuli <xuli1@eswincomputing.com>2023-09-21 04:00:06 +0000
commit47065ff360292c683670efb96df4b61f57dc1d9a (patch)
tree844ad15895cd94362051c5ad0749870206997097 /gcc/gimple-loop-interchange.cc
parent4e35cf2ea1fbcdf798b37b2e00d9977683b17b8a (diff)
downloadgcc-47065ff360292c683670efb96df4b61f57dc1d9a.zip
gcc-47065ff360292c683670efb96df4b61f57dc1d9a.tar.gz
gcc-47065ff360292c683670efb96df4b61f57dc1d9a.tar.bz2
RISC-V: Optimized for strided load/store with stride == element width[PR111450]
When stride == element width, vlsse should be optimized into vle.v. vsse should be optimized into vse.v. PR target/111450 gcc/ChangeLog: * config/riscv/constraints.md (c01): const_int 1. (c02): const_int 2. (c04): const_int 4. (c08): const_int 8. * config/riscv/predicates.md (vector_eew8_stride_operand): New predicate for stride operand. (vector_eew16_stride_operand): Ditto. (vector_eew32_stride_operand): Ditto. (vector_eew64_stride_operand): Ditto. * config/riscv/vector-iterators.md: New iterator for stride operand. * config/riscv/vector.md: Add stride = element width constraint. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/base/pr111450.c: New test.
Diffstat (limited to 'gcc/gimple-loop-interchange.cc')
0 files changed, 0 insertions, 0 deletions