Hi!

This one is hand reduced to problematic code from optimized dump
that used to be miscompiled during combine starting with
r12-303 and fixed with r13-3530 aka PR107172 fix.

2023-01-13  Jakub Jelinek  <ja...@redhat.com>

        PR target/107131
        * gcc.c-torture/execute/pr107131.c: New test.

--- gcc/testsuite/gcc.c-torture/execute/pr107131.c.jj   2023-01-13 
17:29:42.713370475 +0100
+++ gcc/testsuite/gcc.c-torture/execute/pr107131.c      2023-01-13 
17:29:33.366503884 +0100
@@ -0,0 +1,18 @@
+/* PR target/107131 */
+
+__attribute__((noipa)) unsigned long long
+foo (unsigned char o)
+{
+  unsigned long long t1 = -(long long) (o == 0);
+  unsigned long long t2 = -(long long) (t1 > 10439075533421201520ULL);
+  unsigned long long t3 = -(long long) (t1 <= t2);
+  return t3;
+}
+
+int
+main ()
+{
+  if (foo (0) != -1ULL)
+    __builtin_abort ();
+  return 0;
+}

        Jakub

Reply via email to