diff options
Diffstat (limited to 'gcc/reg-stack.c')
-rw-r--r-- | gcc/reg-stack.c | 3 |
1 files changed, 2 insertions, 1 deletions
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 |