http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50677
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #4) > Why doesn't combine include (clobber (reg:CC 17 flags))? It has nothing to do with the clobber. Inside combine_instructions there is a call to init_recog_no_volatile which forces volatile memory not be recognized. The main reason is because combine does not check for volatile memory issues before doing the combine so it was easier to just disable recognizability of volatile memory.