------- Comment #3 from rth at gcc dot gnu dot org 2009-09-29 21:18 ------- There are already peepholes for this, though the condition appears to be slightly wrong for -Os. See i386.md:21121 :
(define_peephole2 [(match_scratch:SI 1 "r") (set (match_operand:SI 0 "memory_operand" "") (const_int 0))] "optimize_insn_for_speed_p () && ! TARGET_USE_MOV0 && TARGET_SPLIT_LONG_MOVES && get_attr_length (insn) >= ix86_cur_cost ()->large_insn && peep2_regno_dead_p (0, FLAGS_REG)" -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41505