mov 0x30(%rcx), %r13\r
mov 0x38(%rcx), %r14\r
mov 0x40(%rcx), %r15\r
+ # load non-volatile fp registers\r
+ ldmxcsr 0x50(%rcx)\r
+ movdqa 0x58(%rcx), %xmm6\r
+ movdqa 0x68(%rcx), %xmm7\r
+ movdqa 0x78(%rcx), %xmm8\r
+ movdqa 0x88(%rcx), %xmm9\r
+ movdqa 0x98(%rcx), %xmm10\r
+ movdqa 0xA8(%rcx), %xmm11\r
+ movdqa 0xB8(%rcx), %xmm12\r
+ movdqa 0xC8(%rcx), %xmm13\r
+ movdqa 0xD8(%rcx), %xmm14\r
+ movdqa 0xE8(%rcx), %xmm15 \r
mov %rdx, %rax # set return value\r
jmp *0x48(%rcx)\r
mov %r14,0x38(%rcx)\r
mov %r15,0x40(%rcx)\r
mov %rdx,0x48(%rcx)\r
+ # save non-volatile fp registers\r
+ stmxcsr 0x50(%rcx)\r
+ movdqa %xmm6, 0x58(%rcx) \r
+ movdqa %xmm7, 0x68(%rcx)\r
+ movdqa %xmm8, 0x78(%rcx)\r
+ movdqa %xmm9, 0x88(%rcx)\r
+ movdqa %xmm10, 0x98(%rcx)\r
+ movdqa %xmm11, 0xA8(%rcx)\r
+ movdqa %xmm12, 0xB8(%rcx)\r
+ movdqa %xmm13, 0xC8(%rcx)\r
+ movdqa %xmm14, 0xD8(%rcx)\r
+ movdqa %xmm15, 0xE8(%rcx) \r
xor %rax,%rax\r
jmpq *%rdx\r