[Bug target/56165] Missed optimization for 'noreturn' functions

akobets at mail dot ru gcc-bugzilla@gcc.gnu.org
Sun Feb 3 12:39:00 GMT 2013


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.



More information about the Gcc-bugs mailing list