https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113607
Bug ID: 113607 Summary: [14] RISC-V rv64gcv vector: Runtime mismatch at -O3 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: patrick at rivosinc dot com Target Milestone: --- Tested using r14-8438-g136a828754f Testcase: struct { signed b; } c, d = {6}; short e, f; int g[1000]; signed char h; int i, j; long k, l; long m(long n, long o) { if (n < 1 && o == 0) return 0; return n; } static int p() { long q = 0; int a = 0; for (; e < 2; e += 1) g[e * 7 + 1] = 2637287069; for (; h <= 6; h += 1) { k = g[8] || f; l = m(g[f * 7 + 1], k); a = l; j = a < 0 || g[f * 7 + 1] < 0 || g[f * 7 + 1] >= 32 ? a : a << g[f * 7 + 1]; if (j) ++q; } if (q) c = d; return i; } int main() { p(); if (c.b == 0) return 0; else return 1; } Commands: > /scratch/tc-testing/tc-jan-25-trunk/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc > -O3 -march=rv64gcv red.c -o user-config-o3.out > QEMU_CPU=rv64,vlen=128,v=true,vext_spec=v1.0,Zve32f=true,Zve64f=true > /scratch/tc-testing/tc-jan-25-trunk/build-rv64gcv/bin/qemu-riscv64 > user-config-o3.out > echo $? 1 > /scratch/tc-testing/tc-jan-25-trunk/build-rv64gcv/bin/riscv64-unknown-linux-gnu-gcc > -O2 -march=rv64gcv red.c -o user-config-o2.out > QEMU_CPU=rv64,vlen=128,v=true,vext_spec=v1.0,Zve32f=true,Zve64f=true > /scratch/tc-testing/tc-jan-25-trunk/build-rv64gcv/bin/qemu-riscv64 > user-config-o2.out > echo $? 0 Found using fuzzer.