------- Comment #2 from pinskia at gcc dot gnu dot org 2006-10-19 23:10 ------- Expand does:
;; return t->f13 == 4294967295B (insn 10 9 11 (set (reg/f:SI 196) (mem/s/f/j:SI (reg/v/f:SI 194 [ t ]) [0 <variable>.f13+0 S4 A32])) -1 (nil) (nil)) (insn 11 10 12 (set (reg:SI 198) (plus:SI (reg/f:SI 196) (const_int 1 [0x1]))) -1 (nil) (nil)) (insn 12 11 13 (set (reg:SI 197) (eq:SI (reg:SI 198) (const_int 0 [0x0]))) -1 (nil) (nil)) (insn 13 12 14 (set (reg:SI 193 [ <result> ]) (reg:SI 197)) -1 (nil) (nil)) (jump_insn 14 13 15 (set (pc) (label_ref 0)) -1 (nil) (nil)) And then CSE1 changes that into: (insn 6 8 7 2 (set (reg/v/f:SI 194 [ t ]) (reg:SI 4 $4 [ t ])) 213 {*movsi_internal} (nil) (expr_list:REG_EQUIV (mem/f/c/i:SI (reg/f:SI 77 $arg) [0 t+0 S4 A32]) (nil))) (note 7 6 10 2 NOTE_INSN_FUNCTION_BEG) (insn 10 7 16 2 (set (reg/f:SI 196 [ <variable>.f13 ]) (mem/s/f/j:SI (reg/v/f:SI 194 [ t ]) [0 <variable>.f13+0 S4 A32])) 213 {*movsi_internal} (nil) (nil)) (note 16 10 19 2 NOTE_INSN_FUNCTION_END) (insn 19 16 20 2 (asm_input ("")) -1 (nil) (nil)) (insn 20 19 26 2 (set (reg/i:SI 2 $2 [ <result> ]) (const_int 0 [0x0])) 213 {*movsi_internal} (nil) (nil)) -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Component|target |middle-end http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29519