https://gcc.gnu.org/g:e79fc5a7bc9958c95fd09928188f5aa6c051d4c1

commit r14-11377-ge79fc5a7bc9958c95fd09928188f5aa6c051d4c1
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Mar 4 09:52:22 2025 +0100

    testsuite: Add tests for already fixed PR [PR119071]
    
    Uros' r15-7793 fixed this PR as well, I'm just committing tests
    from the PR so that it can be closed.
    
    2025-03-04  Jakub Jelinek  <ja...@redhat.com>
    
            PR rtl-optimization/119071
            * gcc.dg/pr119071.c: New test.
            * gcc.c-torture/execute/pr119071.c: New test.
    
    (cherry picked from commit ccf9db9a6fa4b5bc7aad5e9603e2ac71984142a0)

Diff:
---
 gcc/testsuite/gcc.c-torture/execute/pr119071.c | 15 +++++++++
 gcc/testsuite/gcc.dg/pr119071.c                | 45 ++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)

diff --git a/gcc/testsuite/gcc.c-torture/execute/pr119071.c 
b/gcc/testsuite/gcc.c-torture/execute/pr119071.c
new file mode 100644
index 000000000000..91f29cce3d55
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr119071.c
@@ -0,0 +1,15 @@
+/* PR rtl-optimization/119071 */
+
+int a, b;
+
+int
+main ()
+{
+  int c = 0;
+  if (a + 2)
+    c = 1;
+  int d = (1 + c - 2 + c == 1) - 1;
+  b = ((d + 1) << d) + d;
+  if (b != 1)
+    __builtin_abort ();
+}
diff --git a/gcc/testsuite/gcc.dg/pr119071.c b/gcc/testsuite/gcc.dg/pr119071.c
new file mode 100644
index 000000000000..ade1d288d2ae
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr119071.c
@@ -0,0 +1,45 @@
+/* PR rtl-optimization/119071 */
+/* { dg-do run } */
+/* { dg-options "-O2 -fgimple" } */
+
+int a, b;
+
+int __GIMPLE (ssa,startwith("expand"))
+foo (void)
+{
+  int _1;
+  int _2;
+  int _3;
+  int _5;
+  _Bool _7;
+  int _8;
+  int _9;
+  _Bool _14;
+  int _15;
+  int _16;
+  _Bool _17;
+  int _18;
+
+  __BB(2):
+  _1 = a;
+  _17 = _1 != _Literal (int) -2;
+  _18 = (int) _17;
+  _2 = _18 + _Literal (int) -1;
+  _3 = _2 + _18;
+  _14 = _3 != 1;
+  _15 = (int) _14;
+  _16 = -_15;
+  _7 = _3 == 1;
+  _9 = (int) _7;
+  _5 = _9 << _16;
+  _8 = _5 - _15;
+  b = _8;
+  return _8;
+}
+
+int
+main ()
+{
+  if (foo () != 1)
+    __builtin_abort ();
+}

Reply via email to