expr.c (expand_expr): Don't use simplify_binary_operation; check for zero operands...
authorEric Botcazou <ebotcazou@libertysurf.fr>
Tue, 29 Oct 2002 14:20:16 +0000 (15:20 +0100)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 29 Oct 2002 14:20:16 +0000 (06:20 -0800)
        * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
        check for zero operands explicitly.

From-SVN: r58623

gcc/ChangeLog
gcc/expr.c

index 8fc27be..3c7f639 100644 (file)
@@ -1,3 +1,8 @@
+2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+        * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
+        check for zero operands explicitly.
+
 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
 
        * config/mips/mips.md (extv, extzv, insv): Set size of referenced
index 5a14d7e..b9c8fb0 100644 (file)
@@ -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;
        }