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.