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 /gcc/expmed.c | |
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
Diffstat (limited to 'gcc/expmed.c')
-rw-r--r-- | gcc/expmed.c | 6 |
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; |