http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56560
--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-03-07 10:17:56 UTC --- > Confirmed, same code generated on the 4.6 branch. Works on the 4.5 branch > where no vzeroupper is inserted. Likewise no vzeroupper on trunk. Thanks for confirming. The vzeroupper pass didn't exist on the 4.5 branch and has been rewritten to use the mode-switching machinery on mainline.