testsuite: Add another testcase from PR107131
authorJakub Jelinek <jakub@redhat.com>
Fri, 13 Jan 2023 16:37:52 +0000 (17:37 +0100)
committerJakub Jelinek <jakub@redhat.com>
Fri, 13 Jan 2023 16:37:52 +0000 (17:37 +0100)
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  <jakub@redhat.com>

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

gcc/testsuite/gcc.c-torture/execute/pr107131.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.c-torture/execute/pr107131.c b/gcc/testsuite/gcc.c-torture/execute/pr107131.c
new file mode 100644 (file)
index 0000000..d4259f1
--- /dev/null
@@ -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;
+}