diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2012-07-30 15:46:08 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2012-07-30 15:46:08 +0000 |
commit | caf624554c8dd1bc1bf582a9ff38dec033fba5b3 (patch) | |
tree | ac8a81a2cbadfbcda11df10f74a40ee949382b2a | |
parent | a5fe079c34eeafbc36a1620fbd9ab5aa974c6413 (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/expmed.c | 6 |
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; |