------- Comment #28 from steven at gcc dot gnu dot org 2008-11-30 21:18 ------- You're not explaining what regmove does. What transformation do these alternatives with "*" enable regmove to do?
I'm not saying that a separate pass is not an option. Perhaps a regmove-like pass is necessary. In fact it probably is, I think even Vlad already acknowledged so. But not regmove as-we-know-it, which is a friggin' mess that ought to go away. What we should figure out IMHO, is which transformation(s) it is (are) that regmove does, which are helpful here. Maybe we can add a simple pre-regalloc pass that does these transformations, or make it part of an existing pass, using clean infrastructure (cfg, df) instead of the ad-hoc mess of regmove. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37364