re PR middle-end/53823 (FAIL: gcc.c-torture/execute/930921-1.c execution at -O0 and...
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>
Mon, 30 Jul 2012 15:46:08 +0000 (15:46 +0000)
committerJohn David Anglin <danglin@gcc.gnu.org>
Mon, 30 Jul 2012 15:46:08 +0000 (15:46 +0000)
PR middle-end/53823
* expmed.c (expand_mult): Skip synth_mult for constant double op1 except
for special cases.  Don't initialize coeff and is_neg.

From-SVN: r189980

gcc/ChangeLog
gcc/expmed.c

index 2b5385f4e5240d4cd70b1f54dcaca1595166e1e8..3b26c17ff82cea6581f19cdb0ae34afa1c42f397 100644 (file)
@@ -1,3 +1,9 @@
+2012-07-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/53823
+       * expmed.c (expand_mult): Skip synth_mult for constant double op1 except
+       for special cases.  Don't initialize coeff and is_neg.
+
 2012-07-30  Ulrich Weigand  <ulrich.weigand@linaro.org>
            Richard Earnshaw  <rearnsha@arm.com>
 
index 9743fc05ee788246b61892fd72b8a1dd1382e933..1fe003444f857a4ce29cbf8b0da96faca3313393 100644 (file)
@@ -3176,8 +3176,8 @@ expand_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
   if (INTEGRAL_MODE_P (mode))
     {
       rtx fake_reg;
-      HOST_WIDE_INT coeff = 0;
-      bool is_neg = false;
+      HOST_WIDE_INT coeff;
+      bool is_neg;
       int mode_bitsize;
 
       if (op1 == CONST0_RTX (mode))
@@ -3230,6 +3230,8 @@ expand_mult (enum machine_mode mode, rtx op0, rtx op1, rtx target,
                }
              goto skip_synth;
            }
+         else
+           goto skip_synth;
        }
       else
        goto skip_synth;