http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56195



--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-05 
13:56:56 UTC ---

Seems this is heavily related to the uninitialized uses, in

(insn 90 87 91 22 (set (reg:CCGC 17 flags)

        (compare:CCGC (reg:SI 118 [ D.1797 ])

            (mem:SI (reg/v/f:DI 59 [ q ]) [2 *q_1+0 S4 A32]))) pr56195.c:17 7

{*cmpsi_1}

     (nil))

both SI 118 and DI 59 pseudos are preinitialized to const0_rtx because both the

address to read from and the other value are uninitialized.  Guess LRA figures

out that both operands are equal to const0_rtx, just doesn't handle the

different modes properly (it can be cmpl (%rdi), %edi ).

Reply via email to