https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125215
Bug ID: 125215
Summary: RISC-V: Wrong code in RISC-V SLP vectorization
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: chenzhongyao.hit at gmail dot com
CC: law at gcc dot gnu.org, rdapp at gcc dot gnu.org
Target Milestone: ---
Target: riscv
Commit 21d6148cf38c6aaafaa616b7c153ace35c174971
(https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=21d6148cf38c6aaafaa616b7c153ace35c174971)
(RISC-V: Apply LMUL cost scaling to vector operations) exposes a pre-existing
bug in GCC's SLP vectorization.
Test case: gcc/testsuite/gcc.target/riscv/rvv/slp_run-17.c
The test fails with -mrvv-max-lmul=m4 but passes with -mrvv-max-lmul=m1.
The generated constant initializations in the GIMPLE IL seems already
incorrect.