This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcc.dg/debug/debug-[12].c failures on cmov targets


> This shouldn't happen.  Why did it?

The combiner turned

;; Start of basic block 0, registers live: 14 [%sp] 24 [%i0] 31 [%i7] 101 
[%sfp]
(note 32 1 3 0 [bb 0] NOTE_INSN_BASIC_BLOCK)

(insn 3 32 4 0 debug-1.c:7 (set (reg/v:DI 108 [ p ])
        (reg:DI %i0 [ p ])) 62 {*movdi_insn_sp64_novis} (nil)
    (expr_list:REG_DEAD (reg:DI %i0 [ p ])
        (expr_list:REG_EQUIV (mem/f:DI (plus:DI (reg/f:DI %sfp)
                    (const_int 128 [0x80])) [0 p+0 S8 A64])
            (nil))))

(note 4 3 10 0 NOTE_INSN_FUNCTION_BEG)

(note 10 4 12 0 ("debug-1.c") 9)

(note 12 10 37 0 ("debug-1.c") 10)

(insn 37 12 14 0 debug-1.c:11 (set (reg/v:DI 109 [ xyzzy ])
        (if_then_else:DI (eq:DI (reg/v:DI 108 [ p ])
                (const_int 0 [0x0]))
            (const_int 0 [0x0])
            (const_int 2 [0x2]))) 118 {*movdi_cc_reg_sp64} (insn_list 3 
(nil))
    (expr_list:REG_DEAD (reg/v:DI 108 [ p ])
        (nil)))

(note 14 37 17 0 ("debug-1.c") 11)

(note 17 14 25 0 ("debug-1.c") 12)

(note 25 17 26 0 NOTE_INSN_FUNCTION_END)

(note 26 25 28 0 ("debug-1.c") 14)

(insn 28 26 31 0 debug-1.c:14 (set (reg/i:DI %i0 [ <result> ])
        (reg/v:DI 109 [ xyzzy ])) 62 {*movdi_insn_sp64_novis} (insn_list 37 
(nil))
    (expr_list:REG_DEAD (reg/v:DI 109 [ xyzzy ])
        (nil)))

(insn 31 28 0 0 debug-1.c:14 (use (reg/i:DI %i0 [ <result> ])) -1 (insn_list 
28 (nil))
    (nil))
;; End of basic block 0, registers live:
 14 [%sp] 24 [%i0] 31 [%i7] 101 [%sfp]

into

;; Start of basic block 0, registers live: 14 [%sp] 24 [%i0] 31 [%i7] 101 
[%sfp]
(note 32 1 3 0 [bb 0] NOTE_INSN_BASIC_BLOCK)

(note 3 32 4 0 NOTE_INSN_DELETED)

(note 4 3 10 0 NOTE_INSN_FUNCTION_BEG)

(note 10 4 12 0 ("debug-1.c") 9)

(note 12 10 37 0 ("debug-1.c") 10)

(note 37 12 14 0 NOTE_INSN_DELETED)

(note 14 37 17 0 ("debug-1.c") 11)

(note 17 14 25 0 ("debug-1.c") 12)

(note 25 17 26 0 NOTE_INSN_FUNCTION_END)

(note 26 25 28 0 ("debug-1.c") 14)

(insn 28 26 31 0 debug-1.c:14 (set (reg/i:DI %i0 [ <result> ])
        (if_then_else:DI (ne:DI (reg:DI %i0 [ p ])
                (const_int 0 [0x0]))
            (const_int 2 [0x2])
            (const_int 0 [0x0]))) 118 {*movdi_cc_reg_sp64} (nil)
    (nil))

(insn 31 28 0 0 debug-1.c:14 (use (reg/i:DI %i0 [ <result> ])) -1 (insn_list 
28 (nil))
    (nil))
;; End of basic block 0, registers live:
 14 [%sp] 24 [%i0] 31 [%i7] 101 [%sfp]


-- 
Eric Botcazou


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]