aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-03-08 20:09:03 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2001-03-08 19:09:03 +0000
commitcadcffb3fdf07b3d6f05289a0b563244ee741b75 (patch)
treecec8de1e3589cbc9f959c98d5fd44161c70c90d0
parentb19a539e02fb8cea5f0f702715b1981ad4b7649d (diff)
downloadgcc-cadcffb3fdf07b3d6f05289a0b563244ee741b75.zip
gcc-cadcffb3fdf07b3d6f05289a0b563244ee741b75.tar.gz
gcc-cadcffb3fdf07b3d6f05289a0b563244ee741b75.tar.bz2
reg-stack.c (move_for_stack_reg): Avoid non-poping fst for TFmode too.
* reg-stack.c (move_for_stack_reg): Avoid non-poping fst for TFmode too. From-SVN: r40325
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reg-stack.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 95a676f..aa237b4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Thu Mar 8 19:54:04 CET 2001 Jan Hubicka <jh@suse.cz>
+
+ * reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
+ TFmode too.
+
2001-03-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* config/ns32k/xm-pc532-min.h, config/we32k/xm-we32k.h: Delete
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 94300c3..1d14a01 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -1119,7 +1119,8 @@ move_for_stack_reg (insn, regstack, pat)
regstack->top--;
CLEAR_HARD_REG_BIT (regstack->reg_set, REGNO (src));
}
- else if (GET_MODE (src) == XFmode && regstack->top < REG_STACK_SIZE - 1)
+ else if ((GET_MODE (src) == XFmode || GET_MODE (src) == TFmode)
+ && regstack->top < REG_STACK_SIZE - 1)
{
/* A 387 cannot write an XFmode value to a MEM without
clobbering the source reg. The output code can handle