From 6e7727ebee6ef407d7ec9cd801b1920921d123f7 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 29 Oct 2002 15:20:16 +0100 Subject: [PATCH] expr.c (expand_expr): Don't use simplify_binary_operation; check for zero operands explicitly. * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation; check for zero operands explicitly. From-SVN: r58623 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8fc27beda23..3c7f639ff9f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-10-29 Eric Botcazou + + * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation; + check for zero operands explicitly. + 2002-10-29 Richard Sandiford * config/mips/mips.md (extv, extzv, insv): Set size of referenced diff --git a/gcc/expr.c b/gcc/expr.c index 5a14d7ee44b..b9c8fb0b962 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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; } -- 2.30.2