/* PR rtl-optimization/101260 */ /* { dg-do run { target s390_useable_hw } } */ /* { dg-options "-O1 -march=z14" } */ /* This used to fail with commit: 5dc1390b41d */ struct a { unsigned b:7; int c; int d; short e; } p, *q = &p; int f, g, h, i, r, s; static short j[8][1][6] = { }; char k[7]; short l, m; int *n; int **o = &n; void t () { for (; f;) ; } static struct a u (int x) { struct a a = { 4, 8, 5, 4 }; for (; i <= 6; i++) { struct a v = { }; for (; l; l++) h = 0; for (; h >= 0; h--) { j[i]; struct a *w = &p; s = 0; for (; s < 3; s++) { r ^= x; m = j[i][g][h] == (k[g] = g); *w = v; } r = 2; for (; r; r--) *o = &r; } } t (); return a; } int main () { *q = u (636); if (p.b != 4) __builtin_abort (); }