http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54685
--- Comment #1 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-10-04 23:50:16 UTC --- Just for the record... I've tried adding this pattern Failed to match this instruction: (parallel [ (set (reg:SI 166 [ D.42391+-3 ]) (ge:SI (reg:SI 4 r4 [ a ]) (const_int 0 [0]))) (clobber (reg:SI 147 t)) ]) It fixes the test cases in the description, but prevents some of the div0s integer sign comparison patterns from matching, since combine would try out different combinations with the pattern above.