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

--- Comment #13 from H.J. Lu <hjl.tools at gmail dot com> 2011-08-19 16:05:58 
UTC ---
We start with

(insn 11 4 16 2 (set (reg:TI 65) 
        (mult:TI (zero_extend:TI (reg/v:DI 64 [ b ])) 
            (zero_extend:TI (reg/v:DI 63 [ a ])))) uti-2.i:3 339
{bmi2_umulditi3_1}
     (expr_list:REG_DEAD (reg/v:DI 64 [ b ])
        (expr_list:REG_DEAD (reg/v:DI 63 [ a ])
            (nil))))

(insn 16 11 19 2 (set (reg/i:TI 0 ax) 
        (reg:TI 65)) uti-2.i:4 60 {*movti_internal_rex64}
     (expr_list:REG_DEAD (reg:TI 65) 
        (nil)))

and IRA generates:

(insn 24 4 11 2 (set (reg:DI 1 dx)
        (reg/v:DI 4 si [orig:64 b ] [64])) uti-2.i:3 62 {*movdi_internal_rex64}
     (nil))

(insn 11 24 16 2 (set (reg:TI 4 si [65])
        (mult:TI (zero_extend:TI (reg:DI 1 dx))
            (zero_extend:TI (reg/v:DI 5 di [orig:63 a ] [63])))) uti-2.i:3 339
{bmi2_umulditi3_1}
     (nil))

(insn 16 11 19 2 (set (reg/i:TI 0 ax) 
        (reg:TI 4 si [65])) uti-2.i:4 60 {*movti_internal_rex64}
     (nil))

(insn 19 16 22 2 (use (reg/i:TI 0 ax)) uti-2.i:4 -1
     (nil))

Reply via email to