diff options
author | Janis Johnson <janis187@us.ibm.com> | 2009-08-03 21:38:53 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2009-08-03 21:38:53 +0000 |
commit | 50cd60be11a52f6ee997d331f83c5b62ee59f448 (patch) | |
tree | 3a7a0f8a8cbeffcc21995e11ae23fb831f2f9e90 /gcc/simplify-rtx.c | |
parent | 1768a052038172cc56a7af8ad2e90982f3c84d13 (diff) | |
download | gcc-50cd60be11a52f6ee997d331f83c5b62ee59f448.zip gcc-50cd60be11a52f6ee997d331f83c5b62ee59f448.tar.gz gcc-50cd60be11a52f6ee997d331f83c5b62ee59f448.tar.bz2 |
re PR c/39902 (x * 1.0DF gets wrong value)
PR c/39902
* simplify-rtx.c (simplify_binary_operation_1): Disable
simplifications for decimal float operations.
PR c/39902
* gcc.target/powerpc/pr39902-2.c: New test.
From-SVN: r150383
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r-- | gcc/simplify-rtx.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index ff69068..e3809a8 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -1997,6 +1997,7 @@ simplify_binary_operation_1 (enum rtx_code code, enum machine_mode mode, /* x*2 is x+x and x*(-1) is -x */ if (GET_CODE (trueop1) == CONST_DOUBLE && SCALAR_FLOAT_MODE_P (GET_MODE (trueop1)) + && !DECIMAL_FLOAT_MODE_P (GET_MODE (trueop1)) && GET_MODE (op0) == mode) { REAL_VALUE_TYPE d; |