https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116822

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|                            |2024-09-26
             Status|UNCONFIRMED                 |NEW

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.

#1  0x0000000001838a1f in riscv_vector::compute_nregs_for_mode (
    loop_vinfo=0x4bf5b90, mode=E_SImode, biggest_mode=E_HImode, lmul=8)
    at
/space/rguenther/src/gcc-autopar_devel/gcc/config/riscv/riscv-vector-costs.cc:457
457       gcc_assert (biggest_size >= mode_size);

and the caller processes an INTEGER_CST "var" with SImode. 
compute_local_live_ranges happily processes the '1' in

ivtmp_379 = ivtmp_381 - 1;

but this shouldn't be the issue with somehow computing a wrong biggest_mode.

But I don't feel like debugging this mess of risc-v code.  The patch results
in more load/store-lanes to be used which should be good.

Reply via email to