/* { dg-do compile } */ /* { dg-additional-options "-mavx2" { target x86_64-*-* i?86-*-* } } */ short c; int d; int fn1(int p1, int p2) { int a, b; a = p1 >> 3 & p2; b = p1 & 072; a |= a >> 5; a |= b >> 5; return a; } void fn2() { short *e = &c; int *f; int g; while (d -= 4) { fn1(1, 1); fn1(1, 1) * fn1(1, 1) * fn1(1, 1); *e++ = fn1(*f++, g); *e++ = fn1(*f++, g); } }