This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Question on i386 stack adjustment optimization
- From: "H. J. Lu" <hjl at lucon dot org>
- To: gcc at gcc dot gnu dot org
- Cc: jh at suse dot cz
- Date: Mon, 17 Oct 2005 15:15:47 -0700
- Subject: Question on i386 stack adjustment optimization
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.