http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56339
Steven Bosscher <steven at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |steven at gcc dot gnu.org --- Comment #1 from Steven Bosscher <steven at gcc dot gnu.org> 2013-02-15 09:51:56 UTC --- Confirmed. Actually, it looks to me like IRA already makes this allocation: Disposition: 1:r64 l0 21 0:r67 l0 23 (21=>%xmm0, 23=>%xmm2) => .ira dump: ;; basic block 2 2: r64:DF=xmm0:DF 8: r67:DF=xmm2:DF 12: r67:DF=r67:DF+r64:DF 17: xmm0:DF=r67:DF 20: use xmm0:DF => .reload (LRA) dump: ********** Local #1: ********** Choosing alt 0 in insn 12: (0) =x (1) %0 (2) xm ;; basic block 2 2: xmm0:DF=xmm0:DF 8: xmm2:DF=xmm2:DF 12: xmm2:DF=xmm2:DF+xmm0:DF 17: xmm0:DF=xmm2:DF 20: use xmm0:DF So all LRA does, is follow IRA's recommended allocation. That is IMHO the right thing to do, too.