]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
loop.c (load_mems): Don't hoist written floating point mem if -ffloat-store.
authorJeffrey A Law <law@cygnus.com>
Thu, 30 Dec 1999 05:59:04 +0000 (05:59 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 30 Dec 1999 05:59:04 +0000 (22:59 -0700)
        1999-12-12  Stephen L Moshier <moshier@mediaone.net>
        * loop.c (load_mems): Don't hoist written floating point mem
        if -ffloat-store.

From-SVN: r31132

gcc/ChangeLog
gcc/loop.c

index 0f9841463d6b347ac12a1944e766bc41f09f9aac..5570d349adad64da1dd9b8e54762ffb91ff8049c 100644 (file)
@@ -1,5 +1,9 @@
 Wed Dec 29 22:47:43 1999  Jeffrey A Law  (law@cygnus.com)
 
+       1999-12-12  Stephen L Moshier <moshier@mediaone.net>
+       * loop.c (load_mems): Don't hoist written floating point mem
+       if -ffloat-store.
+
        * cppinit.c (is_idchar): Only use special initialization for
        gcc-2.8 and later versions of the compiler.
 
index cb9eca818db89e47983045cea41feb1f13fc725f..a5c50529d8131c062a2928e686f7032b8a6faf50 100644 (file)
@@ -9555,6 +9555,10 @@ 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)