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
      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  }