http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58497
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Created attachment 30884 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30884&action=edit prototype patch A quick check shows generated code will be g: .LFB0: .cfi_startproc xorps %xmm0, %xmm0 addl $1, %edi cvtsi2ss %edi, %xmm0 shufps $0, %xmm0, %xmm0 ret and the patch shows possible issues with finding an insert location for the init stmt (otherwise "external" is just outside of the current basic-block).