[Bug target/126550] RISC-V: auto-vectorization miscompiles duplicated deinterleave store via vcompress/vrgather (rv64gcv_zvl256b)
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Aug 11 13:01:37 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126550
--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-15 branch has been updated by Jeff Law <law@gcc.gnu.org>:
https://gcc.gnu.org/g:6a7406611b2d2091d6a5e96e202e35e20da0f70b
commit r15-11468-g6a7406611b2d2091d6a5e96e202e35e20da0f70b
Author: Robin Dapp <robin.dapp@oss.qualcomm.com>
Date: Tue Aug 4 11:37:33 2026 +0200
RISC-V: Fix single-step expansion [PR126550].
In expand_const_vector_single_step_npatterns, we use a second vector
builder that is derived from the main one, in order to create a
different alternating pattern for constant synthesis. We later use the
second builder's number of patterns for creating an intermediate
operation. The second builder can have a different number of patterns
than the first one, however, for example when its "global" pattern is
simpler.
This patch uses npatterns from the original builder.
PR target/126550
gcc/ChangeLog:
* config/riscv/riscv-v.cc
(expand_const_vector_single_step_npatterns):
User global builder's npatterns.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/pr126550-2.c: New test.
* gcc.target/riscv/rvv/autovec/pr126550.c: New test.
(cherry picked from commit 7cdbbbdecb09e518e28c5116b05e0018b9460b95)
More information about the Gcc-bugs
mailing list