diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-08 19:09:03 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-03-08 19:09:03 +0000 |
commit | 75ab846af632199b06815fc7afc3845aabf853ce (patch) | |
tree | cec8de1e3589cbc9f959c98d5fd44161c70c90d0 | |
parent | 345252d12490c007b0ffde566ba53be7dd79ef04 (diff) | |
download | gcc-75ab846af632199b06815fc7afc3845aabf853ce.tar.gz |
* reg-stack.c (move_for_stack_reg): Avoid non-poping fst for
TFmode too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@40325 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/reg-stack.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 95a676f7925..aa237b46454 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 94300c394d4..1d14a013cee 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 |