http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54699
--- Comment #6 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-10-10 00:22:54 UTC --- (In reply to comment #5) > > It looks we've got reg+reg+const addressing. It seems that > reload_completed simply means that hard register are allocated > already but doesn't mean transformations of addressing are done. > Splitting movsf_ie would be the way to go, I guess. Thanks for trying it out. Good to know. It's just that the comment above movsf_ie... ;; We may not split the ry/yr/XX alternatives to movsi_ie, since ;; update_flow_info would not know where to put REG_EQUAL notes ;; when the destination changes mode. sounds a bit scary. However... grep update_flow_info gcc/* gcc/ChangeLog-1999: (update_flow_info): Move to flow.c, renamed to update_life_info; That was quite a while ago... maybe it isn't a problem anymore.