111
|
1 /* { dg-do compile } */
|
|
2 /* { dg-options "-O -fdump-tree-lim2" } */
|
|
3
|
|
4 /* This is a variant that does cause fold to place a cast to
|
|
5 int before testing bit 1. */
|
|
6
|
|
7 void
|
|
8 quantum_toffoli (int control1, int control2, int target,
|
|
9 unsigned long *state, int size)
|
|
10 {
|
|
11 int i;
|
|
12
|
|
13 for(i=0; i<size; i++)
|
|
14 {
|
|
15 if (state[i] & ((unsigned long) 1 << control1))
|
|
16 if (state[i] & ((unsigned long) 1 << control2))
|
|
17 state[i] ^= ((unsigned long) 1 << target);
|
|
18 }
|
|
19 }
|
|
20
|
|
21 /* { dg-final { scan-tree-dump-times "1 <<" 3 "lim2" } } */
|