http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56165
--- Comment #11 from Alexander Kobets <akobets at mail dot ru> 2013-02-03 12:39:00 UTC --- (In reply to comment #10) > You're wrong. That is to maintain the ABI, which for x86_64 says that the > stack is 16-byte aligned. Consider e.g. the noreturn function using SSE > instructions, without that subq $8, %rsp the stack in the noreturn function > would be not properly aligned to 16-bytes and any movdqa and similar insns on > stack slots would crash. See carefully my compile keys (from first message): x86_64-linux-gnu-gcc -c -Wall -Wno-attributes -save-temps -fverbose-asm -masm=intel -march=core2 -mcmodel=large -mno-mmx -mno-sse -O1 -fno-rtti -fno-default-inline -fomit-frame-pointer -falign-functions=16 -foptimize-sibling-calls -ffreestanding -fno-stack-protector --no-exceptions There is: -mno-mmx -mno-sse and in the long run -fomit-frame-pointer I do not need your charge with your injected code at all. Please understand me.