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