Handle peeling for alignment with masking
[official-gcc.git] / gcc / testsuite / gcc.dg / fold-xor-5.c
blob15ee76c791b850f26cc1d390f5bd4226fdba5705
1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-cddce1" } */
4 int
5 fn1 (int a, int b)
7 int tem1 = a | b;
8 int tem2 = a ^ b;
9 return tem1 ^ tem2;
12 int
13 fn2 (int a, int b)
15 int tem1 = b | a;
16 int tem2 = a ^ b;
17 return tem1 ^ tem2;
20 int
21 fn3 (int a, int b)
23 int tem1 = a | b;
24 int tem2 = b ^ a;
25 return tem1 ^ tem2;
28 int
29 fn4 (int a, int b)
31 int tem1 = b | a;
32 int tem2 = b ^ a;
33 return tem1 ^ tem2;
36 int
37 fn5 (int a, int b)
39 int tem1 = a ^ b;
40 int tem2 = a | b;
41 return tem1 ^ tem2;
44 int
45 fn6 (int a, int b)
47 int tem1 = b ^ a;
48 int tem2 = a | b;
49 return tem1 ^ tem2;
52 int
53 fn7 (int a, int b)
55 int tem1 = a ^ b;
56 int tem2 = b | a;
57 return tem1 ^ tem2;
60 int
61 fn8 (int a, int b)
63 int tem1 = b ^ a;
64 int tem2 = b | a;
65 return tem1 ^ tem2;
68 /* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */
69 /* { dg-final { scan-tree-dump-not " \\^ " "cddce1" } } */