https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125215
--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-16 branch has been updated by Jeff Law <[email protected]>: https://gcc.gnu.org/g:a1e8830c67aa30ce986af09aea7439077d2a2520 commit r16-9025-ga1e8830c67aa30ce986af09aea7439077d2a2520 Author: Zhongyao Chen <[email protected]> Date: Fri May 8 19:02:06 2026 +0800 RISC-V: Remove interleaved vector synthesis optimization [PR125215] This patch removes the "hi/lo" optimization path in interleaved stepped constant vector synthesis. This optimization was found to be not really better than the fallback merge version. Once the overflow issue is fixed, the extra masking makes the code generation "even worse". So remove it instead of fixing. Obsolete tests slp-interleave-[1-5].c are also removed as they were specifically designed to verify this now-removed path. My local test shows no regression. PR target/125215 gcc/ChangeLog: * config/riscv/riscv-v.cc (expand_const_vector_interleaved_stepped_npatterns): Remove hi/lo optimization and always use the merge fallback. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/pr125215.c: New test. * gcc.target/riscv/rvv/autovec/slp-interleave-1.c: Remove. * gcc.target/riscv/rvv/autovec/slp-interleave-2.c: Remove. * gcc.target/riscv/rvv/autovec/slp-interleave-3.c: Remove. * gcc.target/riscv/rvv/autovec/slp-interleave-4.c: Remove. * gcc.target/riscv/rvv/autovec/slp-interleave-5.c: Remove. Signed-off-by: Zhongyao Chen <[email protected]> (cherry picked from commit ecfbd7d1b92886024ac6e94000425b3cd0bd0194)
