/* { dg-do compile } */
/* { dg-options "-O -fdump-tree-lim2" } */

/* This is a variant that does cause fold to place a cast to
   int before testing bit 1.  */

void
quantum_toffoli (int control1, int control2, int target,
		 unsigned long *state, int size)
{
  int i;

  for(i=0; i<size; i++)
    {
       if (state[i] & ((unsigned long) 1 << control1))
         if (state[i] & ((unsigned long) 1 << control2))
           state[i] ^= ((unsigned long) 1 << target);
    }
}

/* { dg-final { scan-tree-dump-times "1 <<" 3 "lim2" } } */
