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.

Reply via email to