From a0b2abef4e62d816f669df478a3cc320647c3b31 Mon Sep 17 00:00:00 2001
From: Richard Biener <rguenther@suse.de>
Date: Mon, 13 Nov 2023 13:38:57 +0100
Subject: [PATCH] tree-optimization/111792 - new testcase

This was fixed as part of the PR111000 fix.

	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

diff --git a/gcc/testsuite/gcc.dg/torture/pr111792.c b/gcc/testsuite/gcc.dg/torture/pr111792.c
new file mode 100644
index 000000000000..58ae6f149d12
--- /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;
+}
-- 
GitLab