| /* { 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); | |
| } | |
| } |