summaryrefslogtreecommitdiff
path: root/gcc/combine.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-18 00:30:17 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2000-01-18 00:30:17 +0000
commit5936efd3d8177301e78c6d16a2dab88b80f40b19 (patch)
treeaecddda7944bbc55e14c8f8e39a527bc701516d2 /gcc/combine.c
parentece7cbbe98adbab7dcc40c375d3c7f75cd8a1d52 (diff)
downloadgcc-5936efd3d8177301e78c6d16a2dab88b80f40b19.tar.gz
* combine.c (combine_simplify_rtx): Give FLOAT_STORE_FLAG_VALUE a mode.
* cse.c (find_comparison_args, fold_rtx): Likewise. * integrate.c (subst_constants): Likewise. * loop.c (get_condition): Likewise. * tm.texi (FLOAT_STORE_FLAG_VALUE): Update docs. * alpha.h (FLOAT_STORE_FLAG_VALUE): Use REAL_VALUE_ATOF. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31479 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/combine.c')
-rw-r--r--gcc/combine.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/combine.c b/gcc/combine.c
index 4bf6dd83a57..99fe499756b 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -3555,9 +3555,13 @@ combine_simplify_rtx (x, op0_mode, last, in_dest)
temp = simplify_relational_operation (code, op0_mode,
XEXP (x, 0), XEXP (x, 1));
#ifdef FLOAT_STORE_FLAG_VALUE
- if (temp != 0 && GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT)
- temp = ((temp == const0_rtx) ? CONST0_RTX (GET_MODE (x))
- : immed_real_const_1 (FLOAT_STORE_FLAG_VALUE, GET_MODE (x)));
+ if (temp != 0 && GET_MODE_CLASS (mode) == MODE_FLOAT)
+ {
+ if (temp == const0_rtx)
+ temp = CONST0_RTX (mode);
+ else
+ temp = immed_real_const_1 (FLOAT_STORE_FLAG_VALUE (mode), mode);
+ }
#endif
break;
case 'c':