------- Comment #4 from rguenth at gcc dot gnu dot org 2009-11-21 19:24 ------- The middle-end prefers do { } while () loop style so it knows the loop is always executed. It even tries to transform other loop forms into this by copying the loop header. So if the FE already can cheaply produce this it would be prefered.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42131