https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117682

            Bug ID: 117682
           Summary: [15 Regression] rv64gcv_zvl256b miscompile since
                    r15-3228-g771256bcb9d
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: patrick at rivosinc dot com
  Target Milestone: ---

Testcase:
signed char a = 9;
int main() {
  for (char e = 0; e < 20; e++)
    for (char f = 0; f < 7; f++)
      a *= 57;

  if (a != 41)
    return 1;
}

Commands:
> riscv64-unknown-linux-gnu-gcc -march=rv64gcv_zvl256b -O3 
> -mrvv-vector-bits=zvl test.c -o user-config.out -fsigned-char 
> -fno-strict-aliasing -fwrapv
> QEMU_CPU=rv64,vlen=256,rvv_ta_all_1s=true,rvv_ma_all_1s=true,v=true,vext_spec=v1.0,zve32f=true,zve32x=true,zve64d=true,zve64f=true,zve64x=true
>  timeout --verbose -k 0.1 4 
> /scratch/tc-testing/tc-compiler-fuzz-trunk/build-gcv/bin/qemu-riscv64 
> user-config.out
> echo $?
1

> riscv64-unknown-linux-gnu-gcc -march=rv64gcv_zvl256b -O2 
> -mrvv-vector-bits=zvl test.c -o user-config.out -fsigned-char 
> -fno-strict-aliasing -fwrapv
> QEMU_CPU=rv64,vlen=256,rvv_ta_all_1s=true,rvv_ma_all_1s=true,v=true,vext_spec=v1.0,zve32f=true,zve32x=true,zve64d=true,zve64f=true,zve64x=true
>  timeout --verbose -k 0.1 4 
> /scratch/tc-testing/tc-compiler-fuzz-trunk/build-gcv/bin/qemu-riscv64 
> user-config.out
> echo $?
0

Found via fuzzer

First bad commit: r15-3228-g771256bcb9d
Looks like a latent bug exposed by costing more patterns.

Reply via email to