]> gcc.gnu.org Git - gcc.git/commitdiff
reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't consider a MEM in FP...
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Fri, 19 Jun 1998 01:03:32 +0000 (01:03 +0000)
committerJeff Law <law@gcc.gnu.org>
Fri, 19 Jun 1998 01:03:32 +0000 (19:03 -0600)
        * 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

gcc/ChangeLog
gcc/reload1.c

index faa14ec939e42398f45c57c35078d768c7409eb5..2aca4aafdf7c49e8cc192ff3af7e9b3e41bea0f6 100644 (file)
@@ -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
index 2373f8864f1fbca4f201ee269d3f93888610e0b3..22203929b1dbd892e401a8e5120cc04019ecb9ea 100644 (file)
@@ -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))
This page took 0.083536 seconds and 5 git commands to generate.