http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42108
--- Comment #57 from Richard Biener <rguenth at gcc dot gnu.org> 2013-01-17 14:42:11 UTC --- A proper fix these days (with tuples) is to add new tree codes that carry the knowledge that countm1.6_40 = _38 / _39; may not trap. The frontend already knows this (step == _39 == 0 has undefined behavior according to the language). This is work in a similar area as no-undefined-overflow or the proposed changes to make FP rounding modes explicit.