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