1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-optimized-raw" } */
4 int sub(int a
, int b
, int c
, int d
) {
9 return ((-e
& c
) | (-f
& d
));
12 /* In the end we end up with `(a == 0) ? (b - a) : b`
13 which then can be optimized to just `(b - a)`. */
15 /* { dg-final { scan-tree-dump-not "cond_expr," "optimized" } } */
16 /* { dg-final { scan-tree-dump-not "eq_expr," "optimized" } } */
17 /* { dg-final { scan-tree-dump-times "minus_expr," 1 "optimized" } } */