From: Pan Li <pan2...@intel.com>

The bugzilla 112813 has been fixed recently, add below test
case for the bug.

        PR target/112813

gcc/testsuite/ChangeLog:

        * gcc.target/riscv/rvv/vsetvl/pr112813-1.c: New test.

Signed-off-by: Pan Li <pan2...@intel.com>
---
 .../gcc.target/riscv/rvv/vsetvl/pr112813-1.c  | 32 +++++++++++++++++++
 1 file changed, 32 insertions(+)
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/vsetvl/pr112813-1.c

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 00000000000..5aab9c2bf09
--- /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;
+}
-- 
2.34.1

Reply via email to