http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45445
--- Comment #22 from Bernd Schmidt <bernds at gcc dot gnu.org> 2010-09-27 12:45:36 UTC --- Thanks, that's very well done. I've investigated a bit, and it seems the sequence mark_pseudo_regno_live (REGNO (reg)); mark_pseudo_regno_live (REGNO (dreg)); mark_pseudo_regno_dead (REGNO (reg)); mark_pseudo_regno_dead (REGNO (dreg)); in make_pseudo_conflict is breaking lifetimes of subwords of one of the DImode registers. Not entirely sure yet how to fix it, but I'll think of something.