loop.c (load_mems): Don't hoist written floating point mem if -ffloat-store.
authorStephen L Moshier <moshier@mediaone.net>
Sun, 12 Dec 1999 18:38:14 +0000 (18:38 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Sun, 12 Dec 1999 18:38:14 +0000 (18:38 +0000)
* loop.c (load_mems): Don't hoist written floating point mem
if -ffloat-store.

From-SVN: r30875

gcc/ChangeLog
gcc/loop.c

index 315e748681599d2afd404468bef57cff9e609e37..2d204bb7ed47937bf96e0bb8988721a0d40c272e 100644 (file)
@@ -1,3 +1,8 @@
+1999-12-12  Stephen L Moshier <moshier@mediaone.net>
+
+       * loop.c (load_mems): Don't hoist written floating point mem
+       if -ffloat-store.
+       
 1999-12-12  Mark Mitchell  <mark@codesourcery.com>
 
        * except.h (struct eh_queue): Add `next' pointer.
index e509cb15d1b5bd82058966e13e306f90a58a29b7..016dc75ae06f096317e010e5ffb11febab2a9bee 100644 (file)
@@ -9825,7 +9825,11 @@ load_mems (scan_start, end, loop_top, start)
            }
          mem_list_entry = XEXP (mem_list_entry, 1);
        }
-         
+
+      if (flag_float_store && written
+         && GET_MODE_CLASS (GET_MODE (mem)) == MODE_FLOAT)
+       loop_mems[i].optimize = 0;
+  
       /* If this MEM is written to, we must be sure that there
         are no reads from another MEM that aliases this one.  */ 
       if (loop_mems[i].optimize && written)