Question on i386 stack adjustment optimization
H. J. Lu
hjl@lucon.org
Tue Oct 18 00:08:00 GMT 2005
I modified the gcc i386 backend. Now my gcc optimizes function prologue
movq %rbx, -16(%rsp)
movq %rbp, -8(%rsp)
subq $16, %rsp
to
movq %rbx, -16(%rsp)
movq %rbp, -8(%rsp)
pushq %rax
pushq %rax
The change was introduced by
http://gcc.gnu.org/ml/gcc-patches/2000-04/msg00263.html
I have a question. It is OK to turn stack pointer addition into
pop instructions with a scratch register. But I don't see how you can
turn stack pointer substraction into push instructions with a
scratch register since push will change the contents of the stack,
in addition to stack pointer.
Thanks.
H.J.
More information about the Gcc
mailing list