1 /* PR target/pr65105 */
2 /* { dg-do compile { target ia32 } } */
3 /* { dg-options "-O2 -march=core-avx2 -mno-stackrealign" } */
4 /* { dg-final { scan-assembler "pandn" } } */
5 /* { dg-final { scan-assembler "pxor" } } */
6 /* { dg-final { scan-assembler "ptest" } } */
7 
8 struct S1
9 {
10   unsigned long long a;
11   unsigned long long b;
12 };
13 
14 void
test(int p1,unsigned long long p2,int p3,struct S1 * p4)15 test (int p1, unsigned long long p2, int p3, struct S1 *p4)
16 {
17   int i;
18 
19   for (i = 0; i < p1; i++)
20     if ((p4[i].a & p2) != p2)
21       p4[i].a ^= (1ULL << p3);
22 }
23