From 0c7bc7b9b7ef417d6aefee0e01c87a5be28e707e Mon Sep 17 00:00:00 2001 From: law Date: Fri, 19 Jun 1998 01:03:32 +0000 Subject: [PATCH] * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't consider a MEM in FP mode as equal. Stolen from gcc2 sources. Fixes problem from Debian folks. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@20571 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/reload1.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index faa14ec..2aca4aa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Jun 19 02:00:19 1998 Richard Kenner + + * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't + consider a MEM in FP mode as equal. + Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com) * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for diff --git a/gcc/reload1.c b/gcc/reload1.c index 2373f88..2220392 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -8352,6 +8352,8 @@ reload_cse_regno_equal_p (regno, val, mode) for (x = reg_values[regno]; x; x = XEXP (x, 1)) if (XEXP (x, 0) != 0 && rtx_equal_p (XEXP (x, 0), val) + && (! flag_float_store || GET_CODE (XEXP (x, 0)) != MEM + || GET_MODE_CLASS (GET_MODE (x)) != MODE_FLOAT) && (GET_CODE (val) != CONST_INT || mode == GET_MODE (x) || (GET_MODE_SIZE (mode) < GET_MODE_SIZE (GET_MODE (x)) -- 2.7.4