aboutsummaryrefslogtreecommitdiff
path: root/gcc/reg-stack.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-03-19 07:44:11 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-03-19 07:44:11 -0500
commit314d1f3c2883033de837657a272eeb26e22e441d (patch)
tree18257c82dc0c34db56b22f5746516d954cfbb7eb /gcc/reg-stack.c
parent7a1b98a901d0a6dba4b7ee759963d04c71d13f8c (diff)
downloadgcc-314d1f3c2883033de837657a272eeb26e22e441d.zip
gcc-314d1f3c2883033de837657a272eeb26e22e441d.tar.gz
gcc-314d1f3c2883033de837657a272eeb26e22e441d.tar.bz2
(move_for_stack_reg): Avoid stack overflow while storing XFmode from
fp reg to memory. From-SVN: r11564
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 95f968e..65b9392 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