------- Comment #6 from steven at gcc dot gnu dot org 2009-07-24 08:48 -------
In fact even the compare isn't a separate insn:
@(insn 6 5 7 t.c:5 (set (reg/v:SI 1 r1 [orig:133 v ] [133])
@ (reg:SI 0 r0)) 167 {*thumb1_movsi_insn} (nil))
@ 0x0004
mov r1, r0 @ 6 *thumb1_movsi_insn/1 [length = 2]
@(jump_insn 7 6 8 t.c:6 (set (pc)
@ (if_then_else (eq (reg:SI 0 r0 [orig:133 v ] [133])
@ (const_int 0 [0x0]))
@ (label_ref:SI 14)
@ (pc))) 201 {*cbranchsi4_insn} (expr_list:REG_DEAD (reg:SI 0 r0
[orig:133 v ] [133])
@ (expr_list:REG_BR_PROB (const_int 6102 [0x17d6])
@ (nil))))
@ 0x0006
cmp r0, #0 @ 7 *cbranchsi4_insn/1 [length = 4]
beq .L1
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40835