diff --git a/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr112813-1.c b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr112813-1.c new file mode 100644 index 0000000000000..5aab9c2bf09ad --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr112813-1.c @@ -0,0 +1,32 @@ +/* Test that we do not have ice when compile */ +/* { dg-do compile } */ +/* { dg-options "-march=rv32gcv_zvl256b -mabi=ilp32d -O3" } */ + +int a, c, d, f, j; +int b[7]; +long e; +char *g; +int *h; +long long *i; + +void k() { + int l[][1] = {{}, {1}, {1}}; + int *m = &d, *n = &l[0][0]; + + for (; e;) + { + f = 3; + + for (; f >= 0; f--) + { + *m &= b[f] >= 0; + j = a >= 2 ? 0 : 1 >> a; + *i |= j; + } + + for (; c;) + *g = 0; + } + + h = n; +}