On Thu, Oct 6, 2011 at 11:40 AM, Bernd Schmidt <ber...@codesourcery.com> wrote: > On 10/06/11 20:27, H.J. Lu wrote: >> It also caused: >> >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50633 >> >> Don't you need to update ix86_expand_prologue? > > In theory it should just work. It seems the x32 stuff has entertaining > properties :-( Haven't quite figured out how to build it yet, but: > > - subq $136, %rsp > - .cfi_def_cfa_offset 144 > movl $0, %eax > movl %esp, %ecx > addl $60, %ecx > @@ -16,6 +14,8 @@ main: > movl %eax, (%edx) > cmpl $16, %eax > jne .L2 > + subq $136, %rsp > + .cfi_def_cfa_offset 144 > > So, this looks like we have both $esp and $rsp - i.e. not using > stack_pointer_rtx in all cases? Is there a way to avoid this?
X32 has 32bit software stack pointer and 64bit hardware stack pointer. > BTW, one other thing that occurred to me - what about drap_reg? Does > that need to be added to the set of registers whose use requires a prologue? > It should be covered by SP. -- H.J.