This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
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