http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52412
amker.cheng <amker.cheng at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amker.cheng at gmail dot | |com --- Comment #2 from amker.cheng <amker.cheng at gmail dot com> 2012-07-31 14:12:54 UTC --- The register move insn is generated by cse2 pass, and after that, there is no cprop pass till ira. The two allocnos for r6/r3(the original pseudos) are conflict with each other, though they contains same value and connected by move insn, IRA cannot allocate same hard register for them. Moveover, the case is compile with Os, where gcc does IRA in whole single region, and live range cannot be split either.