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.

Reply via email to