summaryrefslogtreecommitdiff
path: root/gcc/simplify-rtx.c
diff options
context:
space:
mode:
authorjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-03 21:38:53 +0000
committerjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>2009-08-03 21:38:53 +0000
commit3db273fd22e60de1e90479283b0ff7bf134c86dc (patch)
tree3a7a0f8a8cbeffcc21995e11ae23fb831f2f9e90 /gcc/simplify-rtx.c
parentcbb04ca92323480471b9475688cc20af9409045a (diff)
downloadgcc-3db273fd22e60de1e90479283b0ff7bf134c86dc.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150383 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/simplify-rtx.c')
-rw-r--r--gcc/simplify-rtx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c
index ff690684ee6..e3809a85000 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;