------- Comment #22 from steven at gcc dot gnu dot org 2010-03-18 08:31 ------- In the test case from bug 43286, should_replace_address does not perform the following replacement because the address cost is the same and the replacement is only done if new_rtx is more expensive than old_rtx.
old_rtx (plus:SI (reg/v/f:SI 133 [ saveArea ]) (const_int 8 [0x8])) new_rtx (plus:SI (reg/v/f:SI 140 [ fp ]) (const_int -8 [0xfffffffffffffff8])) This is the same situation as described in comment #16. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39871