This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Help with implementing Wine optimization experiment


On 08/14/2016 08:23 AM, Daniel Santos wrote:

ms_abi_push_regs:
    pop    %rax
    push   %rdi
    push   %rsi
    sub    $0xa8,%rsp
    movaps %xmm6,(%rsp)
    movaps %xmm7,0x10(%rsp)
    movaps %xmm8,0x20(%rsp)
    movaps %xmm9,0x30(%rsp)
    movaps %xmm10,0x40(%rsp)
    movaps %xmm11,0x50(%rsp)
    movaps %xmm12,0x60(%rsp)
    movaps %xmm13,0x70(%rsp)
    movaps %xmm14,0x80(%rsp)
    movaps %xmm15,0x90(%rsp)
    jmp   *(%rax)

I think this will be quite slow because it breaks the return stack optimization in the CPU. I think you should push the return address and use RET.

Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]