aboutsummaryrefslogtreecommitdiff
path: root/gcc/expmed.c
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2012-07-30 15:46:08 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2012-07-30 15:46:08 +0000
commitcaf624554c8dd1bc1bf582a9ff38dec033fba5b3 (patch)
treeac8a81a2cbadfbcda11df10f74a40ee949382b2a /gcc/expmed.c
parenta5fe079c34eeafbc36a1620fbd9ab5aa974c6413 (diff)
downloadgcc-caf624554c8dd1bc1bf582a9ff38dec033fba5b3.zip
gcc-caf624554c8dd1bc1bf582a9ff38dec033fba5b3.tar.gz
gcc-caf624554c8dd1bc1bf582a9ff38dec033fba5b3.tar.bz2
re PR middle-end/53823 (FAIL: gcc.c-torture/execute/930921-1.c execution at -O0 and -O1)
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
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 9743fc0..1fe0034 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;