The original one only failed with -m32, this one failed with 64bits as well.
Tested on x86_64-unknown-linux-gnu, applied. Richard. 2017-10-25 Richard Biener <rguent...@suse.de> PR tree-optimization/82436 * gcc.dg/torture/pr82436-2.c: New testcase. Index: gcc/testsuite/gcc.dg/torture/pr82436-2.c =================================================================== --- gcc/testsuite/gcc.dg/torture/pr82436-2.c (nonexistent) +++ gcc/testsuite/gcc.dg/torture/pr82436-2.c (working copy) @@ -0,0 +1,45 @@ +/* { dg-do compile } */ + +enum +{ + a, b, c, d, e, f, g, h, j, k +}; + +int l; +void m (short *s) +{ + short n, o, p; + float(*q)[k]; + int r, i; + while (l > 0) + r = l; + for (;;) + { + i = 0; + for (; i < r; i++) + { + { + float ab = q[i][a]; + int i = ab; + p = i; + } + ((short *) s)[0] = p; + { + float ab = q[i][b]; + int i = ab; + o = i; + } + ((short *) s)[1] = o; + { + float ab = q[i][f]; + int i = ab; + n = i; + } + ((short *) s)[2] = n; + float ab = q[i][g]; + int i = ab; + ((short *) s)[3] = i; + s = (short *) s + 4; + } + } +}