(move_for_stack_reg): If the 387 regstack is not full when doing an XFmode
write from 387 to MEM, copy the source reg and write the copy.
From-SVN: r5598
(emit_pop_insn): Emit insn with mode QImode: insn contains stack-regs.
(emit_hard_swap_insn): Delete.
(emit_swap_insn): Merge with emit_hard_swap_insn.
Delete WHEN arg and change all callers.
If previous insn was a push from REG, omit swap.
If previous insn wrote reg-stack top to REG, omit swap.
Emit swap insn with mode QImode: insn contains stack-regs.
Emit swap insn after previous float insn, instead of before this one.
(swap_rtx_condition): New function.
(compare_for_stack_reg): If op 0 of COMPARE is not a stack reg, exchange
ops 0 and 1 and swap cc0 user condition.
From-SVN: r3294
(record_reg_life_pat): Rewrite to handle any sort of pattern.
(record_reg_life): Change interface to record_reg_life_pat.
(stack_reg_life_analysis): Don't assume that MODE_FLOAT values are
always returned in a float reg.
(subst_stack_regs_pat): Add support for sin and cos insns.
From-SVN: r1980