Issue |
133943
|
Summary |
[RISC-V] Miscompile on rv64gcv with -O[23]
|
Labels |
|
Assignees |
|
Reporter |
ewlu
|
Testcase:
```c
_Bool a;
long long q;
char f;
char g;
char k[18];
int l[18];
int main() {
for (int i = 0; i < 18; ++i)
k[i] = l[i] = 7;
for (signed i = 0; i < g + 18; i += 4) {
int o = (_Bool)(l[i] ? k[i] : f / l[i]);
a = a < o ? a : o;
}
q = a;
__builtin_printf("%llu\n", q);
}
```
Commands:
```
# riscv
$ ./bin/clang -march=rv64gcv_zvl256b -flto -O3 ./red.c -o user-config.out
$ QEMU_CPU=rv64,vlen=256,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 ./bin/qemu-riscv64 user-config.out 1
1
$ ./bin/clang -march=rv64gcv_zvl256b -flto -O2 ./red.c -o user-config.out
$ QEMU_CPU=rv64,vlen=256,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 ./bin/qemu-riscv64 user-config.out 1
1
$ ./bin/clang -march=rv64gcv_zvl256b -flto -O1 ./red.c -o user-config.out
$ QEMU_CPU=rv64,vlen=256,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 ./bin/qemu-riscv64 user-config.out 1
0
# x86
$ ./native.out
0
```
Bisected to f044564db1cbc588d0cad4f953d38f6c787dadd4 as the first bad commit
Found via fuzzer
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs