summaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-30 15:46:08 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-30 15:46:08 +0000
commitd9dadd67a0a6b94123c490d420dacac08eae92f2 (patch)
treeac8a81a2cbadfbcda11df10f74a40ee949382b2a /gcc/expmed.c
parent1094a5ca9023daee0ba99e838c4b718610774080 (diff)
downloadgcc-d9dadd67a0a6b94123c490d420dacac08eae92f2.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189980 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r--gcc/expmed.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/expmed.c b/gcc/expmed.c
index 9743fc05ee7..1fe003444f8 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;