https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105134
--- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I am trying to understand this. Is it ok to use the SSE registers inside purgatory or not? Now that the vectorizer is used turned on at -O2 and above, without -mno-sse, on x86_64 target, the vector instructions are generated. and since this is inside a tiny bootloader, I am suspecting you can't use SSE instructions here. So the real fix is to use -mno-sse for x86_64 while compiling files under purgatory .