Hi!

The ICE on this testcase was fixed by r14-7141.

Tested on x86_64-linux -m32/-m64 with current trunk as well as older
trunk which still ICEd, committed to trunk as obvious.

2024-01-15  Jakub Jelinek  <ja...@redhat.com>

        PR rtl-optimization/113048
        * gcc.target/i386/pr113048.c: New test.

--- gcc/testsuite/gcc.target/i386/pr113048.c.jj 2024-01-15 17:25:50.186423929 
+0100
+++ gcc/testsuite/gcc.target/i386/pr113048.c    2024-01-15 17:25:41.643539577 
+0100
@@ -0,0 +1,26 @@
+/* PR rtl-optimization/113048 */
+/* { dg-do compile } */
+/* { dg-options "-O -march=cascadelake -fwrapv" } */
+
+signed char a, b, c;
+int d;
+const char *e, *q;
+short f;
+int g;
+
+void
+foo (int x, long long y, long long z)
+{
+  unsigned char h = x;
+  int i = __builtin_strncmp (q, e, 2);
+  h /= g;
+  unsigned long long j = (~z & (0xfb5856dd8a4d4702ULL & f) / 0) * h;   /* { 
dg-warning "division by zero" } */
+  b += __builtin_add_overflow_p (d, c, 0);
+  signed char k = y;
+  long l = -k & sizeof (0);
+  long long m = y + j + z + h + 3 + l;
+  int n = m + i;
+  short o = n + f;
+  signed char p = o + h + k;
+  a = p;
+}

        Jakub

Reply via email to