------- Comment #8 from vmakarov at redhat dot com 2009-07-03 21:30 ------- The problem was in usage of df_get_live_out in ira.c::build_insn_chain instead of DF_LR_OUT. Later contains r58 (assigned to st0 register) and it creates restore insn for st0 after the call and prevents reg-stack crashing.
The original IRA patch used DF_LR_OUT. After removing the old RA, accidentally IRA started to use df_get_live_out used by the old RA. I'll send a patch solving the problem soon. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40587