https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97678
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
On x86_64 the initialization loop is miscompiled.
int
main ()
{
unsigned int i = 0;
signed char a[155 * 2];
unsigned short b[155 * 2];
for (i = 0; i < 155; i++)
{
a[i * 2] = i * 2 + i % 3;
a[i * 2 + 1] = i * 3 + i % 4;
b[i * 2] = i * 7 + i / 5;
b[i * 2 + 1] = i * 8 + i / 6;
}
for (i = 0; i < 155; ++i)
if (a[i*2] != (signed char)(i*2 + i%3)
|| a[i*2+1] != (signed char)(i*3 + i%4)
|| b[i*2] != (unsigned short)(i*7 + i/5)
|| b[i*2+1] != (unsigned short)(i*8 + i/6))
abort ();
return 0;
}