Hi!

This testcase started to ICE with r16-6671, since r16-6741
it has been miscompiled and finally fixed with r16-6976.

Tested on x86_64-linux with -m32/-m64, before/after r16-6976,
committed to trunk as obvious.

2026-01-22  Jakub Jelinek  <[email protected]>

        PR tree-optimization/123753
        * gcc.c-torture/execute/pr123753.c: New test.

--- gcc/testsuite/gcc.c-torture/execute/pr123753.c.jj   2026-01-22 
13:49:08.971457357 +0100
+++ gcc/testsuite/gcc.c-torture/execute/pr123753.c      2026-01-22 
13:48:46.708832460 +0100
@@ -0,0 +1,25 @@
+/* PR tree-optimization/123753 */
+
+typedef int V __attribute__((__vector_size__ (8)));
+typedef short W __attribute__((__vector_size__ (8)));
+
+union { unsigned short u[4]; W w; } u;
+V v;
+
+V
+foo ()
+{
+  u.w--;
+  V r = v + u.u[0];
+  return r;
+}
+
+int
+main ()
+{
+  if (sizeof (int) != 4 || sizeof (short) != 2)
+    return 0;
+  V x = foo ();
+  if (x[0] != (unsigned short) -1 || x[1] != (unsigned short) -1)
+    __builtin_abort ();
+}

        Jakub

Reply via email to