[PATCH v2] um: Fix stack pointer alignment

YiFei Zhu zhuyifei1999 at gmail.com
Tue Apr 20 07:20:52 BST 2021


On Tue, Apr 20, 2021 at 12:47 AM YiFei Zhu <zhuyifei1999 at gmail.com> wrote:
>   movaps (%rdx),%xmm0
>   movaps %xmm0,(%r12)
>
> The move from xmm0 to stack is omitted.

I looked into this a bit further and thought I should clarify, these
two instructions belong to `current_poll = next_poll`. AFAICT, `tmp =
current_poll` is compiled to:

  movabs $0x605198b0,%r12 ; <current_poll>
  [...]
  movabs 0x605198b8,%rax ; <current_poll+8>
  mov    (%r12),%rcx

and `next_poll = tmp` is:

  movabs %rax,0x605198a8 ; <next_poll+8>
  mov    %rcx,(%rdx)

So it uses two registers, rax and rcx to store tmp, rather than on the stack.

YiFei Zhu



More information about the linux-um mailing list