Lines Matching refs:fold_binary
479 * fold-const.c (fold_binary) <EQ_EXPR>: Fix typo in variable name.
2469 * fold-const.c (fold_binary): Fold temporary to correct
3750 * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
4744 (fold_binary): Move code from here.
4920 * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
4922 (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
5132 * fold-const.c (fold_binary): Do not look at the stripped
6603 (value_inside_range): Use fold_binary with LE_EXPR and
6994 * fold-const.c (fold_binary): Optimize div and mod where the divisor
7740 (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR.
8243 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
8245 (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as
8273 * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
8489 * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
10933 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (~X & C) eq/ne 0 as
10992 * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & 1) ^ 1 as
11000 * fold-const.c (fold_binary) <EQ_EXPR>: Fold ((X>>C1)&C2) eq/ne 0,
11020 * fold-const.c (fold_binary) <EQ_EXPR>: Fold (X^Y) == 0 as X == Y
11070 * fold-const.c (fold_comparison): New subroutine of fold_binary
11072 ordering relational operators, factored out of fold_binary.
11073 (fold_binary): Separate out the equality operators (EQ_EXPR
11719 * fold-const.c (fold_binary): Fold (X >> C) != 0 into X < 0 when
11952 * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Optimize (X&Y)|Y into
11954 (fold_binary) <BIT_AND_EXPR>: Likewise, optimize (X|Y)&Y into
12092 * fold-const.c (fold_binary) <BIT_IOR_EXPR>: Transform (X&C1)|C2
15636 (fold_binary) <MIN_EXPR>: Call it.