1/* PR middle-end/63568 */ 2/* { dg-do compile } */ 3/* { dg-options "-O -fdump-tree-cddce1" } */ 4 5int 6fn1 (int a, int b, int m) 7{ 8 int tem1 = a & ~m; 9 int tem2 = b & m; 10 return tem1 | tem2; 11} 12 13int 14fn2 (int a, int b, int m) 15{ 16 int tem1 = a & ~m; 17 int tem2 = m & b; 18 return tem1 | tem2; 19} 20 21int 22fn3 (int a, int b, int m) 23{ 24 int tem1 = ~m & a; 25 int tem2 = m & b; 26 return tem1 | tem2; 27} 28 29int 30fn4 (int a, int b, int m) 31{ 32 int tem1 = ~m & a; 33 int tem2 = b & m; 34 return tem1 | tem2; 35} 36 37int 38fn5 (int a, int b, int m) 39{ 40 int tem1 = b & m; 41 int tem2 = a & ~m; 42 return tem1 | tem2; 43} 44 45int 46fn6 (int a, int b, int m) 47{ 48 int tem1 = m & b; 49 int tem2 = a & ~m; 50 return tem1 | tem2; 51} 52 53int 54fn7 (int a, int b, int m) 55{ 56 int tem1 = m & b; 57 int tem2 = ~m & a; 58 return tem1 | tem2; 59} 60 61int 62fn8 (int a, int b, int m) 63{ 64 int tem1 = b & m; 65 int tem2 = ~m & a; 66 return tem1 | tem2; 67} 68 69/* { dg-final { scan-tree-dump-not " \\| " "cddce1" } } */ 70/* { dg-final { cleanup-tree-dump "original" } } */ 71