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
