Message ID | 20120420093226.GU3218@bubble.grove.modra.org |
---|---|
State | New |
Headers | show |
diff -urp gcc-alan4/gcc/config/rs6000/rs6000.c gcc-alan5a/gcc/config/rs6000/rs6000.c --- gcc-alan4/gcc/config/rs6000/rs6000.c 2012-04-19 18:33:20.171843404 +0930 +++ gcc-alan5a/gcc/config/rs6000/rs6000.c 2012-04-19 21:24:46.643632761 +0930 @@ -17456,8 +17456,9 @@ rs6000_savres_strategy (rs6000_stack_t * static chain is rarely used anyway. FPRs are saved w.r.t the stack pointer on Darwin. */ if (using_static_chain_p) - strategy |= (DEFAULT_ABI == ABI_DARWIN ? 0 : SAVE_INLINE_FPRS) - | SAVE_INLINE_GPRS; + strategy |= ((DEFAULT_ABI == ABI_DARWIN + ? 0 : SAVE_INLINE_FPRS | REST_INLINE_FPRS) + | SAVE_INLINE_GPRS); /* If we are going to use store multiple, then don't even bother with the out-of-line routines, since the store-multiple