> >> I did have a look at it, but still have some questions. > >> > >>> Hi, > >>> > >>> X32 may use `movl %esp, %ebp' in prologue.  This patch checks it for > >>> x32.  Tested on Linux/x86-64.  OK for trunk? > >> > >> But the prologues generated by various compilers are expected to be > >> otherwise the same for both the x32 ABI and the normal 64-bit ABI?  I > >> guess x32 has to use "pushq %rbp" as "pushl %ebp" isn't available. > >> And I guess you want to keep the stack 16-byte aligned anyway.  I > >> suppose that "movq %rsp, %rbp" is still ok for x32, but "movl %esp, > >> %ebp" can be encoded in less bytes, so it might be a bit more > >> efficient for x32. > > > > That is correct. > > Is my patch OK to install? Sorry, no. I'm really unhappy with that multi-line if clause. It really is hard to parse. I'm trying to come up with a suggestion to make this better, but so far haven't succeeded. Does GCC ever generate the `mov %rsp,%rsp' instruction for x32?