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.