------- Comment #6 from jakub at gcc dot gnu dot org 2009-03-25 15:49 ------- Created an attachment (id=17540) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17540&action=view) gcc44-pr39543.patch
Untested patch that cures all the 3 testcases by forward propagation into asm operands, as long as the propagation doesn't increase the number of needed registers. As I need to update a bunch of locations at once, I can't use try_fwprop_subst. There are 2 things that try_fwprop_subst does that I'm not doing, one is the rtx_cost (SET_SRC (set), SET, speed) > old_cost check (I wonder whether it is needed for asms at all and if yes, how to actually do it) and the update_df stuff (I'm never adding notes for asms, but for successful change I don't know how to inform df about the changes, if I need to do that. Paolo, any ideas? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39543