summaryrefslogtreecommitdiff
path: root/gcc/reg-stack.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-03-19 12:44:11 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-03-19 12:44:11 +0000
commit388a098470f33482bc22163bc00ee555156128f0 (patch)
tree18257c82dc0c34db56b22f5746516d954cfbb7eb /gcc/reg-stack.c
parente27d324f306159c4602370f09e2345b5379f5ae5 (diff)
downloadgcc-388a098470f33482bc22163bc00ee555156128f0.tar.gz
(move_for_stack_reg): Avoid stack overflow while storing XFmode from
fp reg to memory. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11564 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r--gcc/reg-stack.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 95f968e8334..65b93927a8f 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -1904,7 +1904,7 @@ 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)
+ else if (GET_MODE (src) == XFmode && 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