diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 1998-06-19 01:03:32 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-06-18 19:03:32 -0600 |
commit | bb173adecddb43b1fc98337168979d727ed8ab83 (patch) | |
tree | a9a66f7922a5e316117252683983a7d1cac1dabe /gcc | |
parent | e472bcefabb0ddec6afe20062604103521ea6958 (diff) | |
download | gcc-bb173adecddb43b1fc98337168979d727ed8ab83.zip gcc-bb173adecddb43b1fc98337168979d727ed8ab83.tar.gz gcc-bb173adecddb43b1fc98337168979d727ed8ab83.tar.bz2 |
reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't consider a MEM in FP mode as equal.
* 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.
From-SVN: r20571
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reload1.c | 2 |
2 files changed, 7 insertions, 0 deletions
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 <kenner@vlsi1.ultra.nyu.edu> + + * 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)) |