https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121281
Bug ID: 121281 Summary: [15/16 Regression] RISC-V: Miscompile at -O3 since r15-7057-gd9d0eeea93d Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ewlu at rivosinc dot com Target Milestone: --- Testcase: _Bool a; short b; long long au; signed char aj[22][22][22]; short an[22][22][22][22]; void e(signed char aj[][22][22], short an[][22][22][22]) { for (int ap = 2; ap < 21; ap += 3) { for (int aq = 3; aq < 20; aq++) a = aj[ap][8][aq] ? a : aj[ap][8][aq]; for (char at = 3; at < 18; at += 368762369) b += ~({ int ar = an[at + 2][2][2][1]; unsigned as = 65535; ar < as ? ar : as; }); } } int main() { e(aj, an); au = b; __builtin_printf("%llu\n", au); } Commands: # -O3 > /scratch/ewlu/daily-upstream-build/build-gcv/bin/riscv64-unknown-linux-gnu-gcc > -O3 -mtune=generic-ooo red.c -o user-config.out -fsigned-char > -fno-strict-aliasing -fwrapv > QEMU_CPU=rv64,vlen=128,rvv_ta_all_1s=true,rvv_ma_all_1s=true,v=true,vext_spec=v1.0,zve32f=true,zve64f=true > timeout --verbose -k 0.1 4 > /scratch/ewlu/daily-upstream-build/build-gcv/bin/qemu-riscv64 user-config.out > 1 18446744073709551532 # -O2 > /scratch/ewlu/daily-upstream-build/build-gcv/bin/riscv64-unknown-linux-gnu-gcc > -O2 -mtune=generic-ooo red.c -o user-config.out -fsigned-char > -fno-strict-aliasing -fwrapv > QEMU_CPU=rv64,vlen=128,rvv_ta_all_1s=true,rvv_ma_all_1s=true,v=true,vext_spec=v1.0,zve32f=true,zve64f=true > timeout --verbose -k 0.1 4 > /scratch/ewlu/daily-upstream-build/build-gcv/bin/qemu-riscv64 user-config.out > 1 18446744073709551511 Found via fuzzer