1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-forwprop1-details -fdump-tree-ccp1-details" } */
3
f1(int a,int b)4 int f1(int a, int b){
5 int c = a & b;
6 return c & b;
7 }
f2(int a,int b)8 int f2(int a, int b){
9 int c = a | b;
10 return b | c;
11 }
g1(int a,int b,int c)12 int g1(int a, int b, int c){
13 int d = a & b;
14 int e = b & c;
15 return d & e;
16 }
g2(int a,int b,int c)17 int g2(int a, int b, int c){
18 int d = a | b;
19 int e = c | b;
20 return d | e;
21 }
g3(int a,int b,int c)22 int g3(int a, int b, int c){
23 int d = a ^ b;
24 int e = b ^ c;
25 return e ^ d;
26 }
27
28 /* { dg-final { scan-tree-dump-times "Match-and-simplified" 2 "ccp1" } } */
29 /* { dg-final { scan-tree-dump-times "gimple_simplified" 3 "forwprop1" } } */
30