diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2b5385f4e524..3b26c17ff82c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-07-30 John David Anglin + + 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 Richard Earnshaw diff --git a/gcc/expmed.c b/gcc/expmed.c index 9743fc05ee78..1fe003444f85 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -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;