summaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-12 18:38:14 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-12-12 18:38:14 +0000
commitee26144621266fe5250d8bf0b86ccf69d91b3e01 (patch)
treed39666a2ad34db4b3a2aabb901fa99796de869d7 /gcc/loop.c
parentd3a0267fc2fdf1baffaf56a98ad824cd51a60cad (diff)
downloadgcc-ee26144621266fe5250d8bf0b86ccf69d91b3e01.tar.gz
* loop.c (load_mems): Don't hoist written floating point mem
if -ffloat-store. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30875 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index e509cb15d1b..016dc75ae06 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -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)