/* PR target/pr65105 */ | |
/* { dg-do compile { target ia32 } } */ | |
/* { dg-options "-O2 -march=core-avx2 -mno-stackrealign" } */ | |
/* { dg-final { scan-assembler "pandn" } } */ | |
/* { dg-final { scan-assembler "pxor" } } */ | |
/* { dg-final { scan-assembler "ptest" } } */ | |
struct S1 | |
{ | |
unsigned long long a; | |
unsigned long long b; | |
}; | |
void | |
test (int p1, unsigned long long p2, int p3, struct S1 *p4) | |
{ | |
int i; | |
for (i = 0; i < p1; i++) | |
if ((p4[i].a & p2) != p2) | |
p4[i].a ^= (1ULL << p3); | |
} |