aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/expmed.c6
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2b5385f..3b26c17 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
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;