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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |harsha.jagasia at amd dot com

--- Comment #15 from H.J. Lu <hjl.tools at gmail dot com> ---
It may be a latent bug in amdfam10 scheduler. Before z.i.234r.sched2.
there are

(insn 24 23 26 4 (set (mem/c:DI (plus:DI (reg:DI 0 ax [85])
                (const_int 8 [0x8])) [2 xecfg+32 S8 A128])
        (const_int 0 [0])) z.i:12 85 {*movdi_internal}
     (expr_list:REG_DEAD (reg:DI 0 ax [85])
        (nil)))
(insn 26 24 28 4 (set (mem/c:SI (plus:DI (reg/f:DI 7 sp)
                (const_int 40 [0x28])) [3 xecfg.hunk_func+0 S4 A64])
        (const_int 1 [0x1])) z.i:13 86 {*movsi_internal}
     (nil))
(insn 28 26 29 4 (set (reg:DI 5 di)
        (reg/f:DI 7 sp)) z.i:14 85 {*movdi_internal}
     (expr_list:REG_EQUAL (plus:DI (reg/f:DI 20 frame)
            (const_int -48 [0xffffffffffffffd0]))
        (nil)))

z.i.234r.sched2 has

(insn 26 28 22 4 (set (mem/c:SI (plus:DI (reg/f:DI 7 sp)
                (const_int 40 [0x28])) [3 xecfg.hunk_func+0 S4 A64])
        (const_int 1 [0x1])) z.i:13 86 {*movsi_internal}
     (nil))
(insn:TI 22 26 24 4 (set (mem/c:DI (reg:DI 0 ax [85]) [2 xecfg+32 S8 A128])
        (const_int 0 [0])) z.i:12 85 {*movdi_internal}
     (nil))
(insn 24 22 29 4 (set (mem/c:DI (plus:DI (reg:DI 0 ax [85])
                (const_int 8 [0x8])) [2 xecfg+32 S8 A128])
        (const_int 0 [0])) z.i:12 85 {*movdi_internal}
     (expr_list:REG_DEAD (reg:DI 0 ax [85])
        (nil)))

insn 24 is moved after insn 26, which clears xecfg.hunk_func
set by insn 26.

Reply via email to