tree-optimization/111792 - new testcase

Message ID 20231113123958.22A821358C@imap2.suse-dmz.suse.de
State Accepted
Headers
Series tree-optimization/111792 - new testcase |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Richard Biener Nov. 13, 2023, 12:39 p.m. UTC
  This was fixed as part of the PR111000 fix.

Tested on x86_64-unknown-linux-gnu, pushed.

	PR tree-optimization/111792
	PR tree-optimization/111000
	* gcc.dg/torture/pr111792.c: New testcase.
---
 gcc/testsuite/gcc.dg/torture/pr111792.c | 39 +++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
 create mode 100644 gcc/testsuite/gcc.dg/torture/pr111792.c
  

Patch

diff --git a/gcc/testsuite/gcc.dg/torture/pr111792.c b/gcc/testsuite/gcc.dg/torture/pr111792.c
new file mode 100644
index 00000000000..58ae6f149d1
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr111792.c
@@ -0,0 +1,39 @@ 
+/* { dg-do run } */
+/* { dg-require-effective-target lp64 } */
+
+int c, d, h, i, j, l, *n = &h;
+short e, f, g, *k, m;
+long o;
+short p(short p1, int q) { return q >= 32 || p1 > 5 >> q ? 1 : p1 << q; }
+long u(unsigned p1)
+{
+  int r = 50, s, *t = &c;
+ L:
+  m && (*k = 0);
+  for (d = 1; d; d--)
+    for (s = 0; s < 3; s++) {
+      *n = i ^ p1;
+      *t = p1 > (unsigned)p((unsigned)(o = 4073709551615) >= p1 && 5, r);
+      if (f)
+        goto L;
+    }
+  for (; e < 1;)
+    return j;
+  int *b[2] = {&s, &r};
+  for (; l; l--) {
+    long a[1];
+    for (r = 0; r < 1; r++) {
+      h = a[0];
+      if (g)
+        goto L;
+    }
+  }
+  return 0;
+}
+int main()
+{
+  u(6);
+  if (c != 1)
+    __builtin_abort();
+  return 0;
+}