diff options
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -7912,9 +7912,10 @@ expand_expr (exp, target, tmode, modifier) { op0 = expand_expr (TREE_OPERAND (exp, 0), subtarget, VOIDmode, 0); op1 = expand_expr (TREE_OPERAND (exp, 1), NULL_RTX, VOIDmode, 0); - temp = simplify_binary_operation (PLUS, mode, op0, op1); - if (temp) - return temp; + if (op0 == const0_rtx) + return op1; + if (op1 == const0_rtx) + return op0; goto binop2; } |