https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120922
--- Comment #3 from Edwin Lu <ewlu at rivosinc dot com> --- (In reply to Tamar Christina from comment #2) > Looks like it's because a very high VF was chosen > > optimized: loop vectorized using masked 1024 byte vectors and unroll factor > 256 > Updating vectorization factor to 256. > > which results in VF being higher than the max value of the type (signed > char), so the range ends up truncating to 0. > > Though I'm not sure yet how it was working before, the shift should have > resulted in 0 too. > > Could someone help me with the configure flags to check? with > > --target=riscv64-unknown-linux-gnu --disable-bootstrap > --enable-languages=c,c++ --with-arch=rv64gc --with-abi=lp64d > > I end up with: > > > ./gcc/cc1 -fsigned-char -fno-strict-aliasing -fwrapv > > -march=rv64gcv_zvl1024b -mrvv-vector-bits=zvl -mrvv-max-lmul=m8 -O3 ice.c > > -o - > > cc1: error: ABI requires ‘-march=rv32’ I think your cc1 command is just missing the `-mabi=lp64d` flag.