#------------------------------------------------------------------------------\r
#\r
-# Copyright (c) 2006, Intel Corporation\r
-# All rights reserved. This program and the accompanying materials\r
+# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
-# http://opensource.org/licenses/bsd-license.php\r
+# http://opensource.org/licenses/bsd-license.php.\r
#\r
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
#------------------------------------------------------------------------------\r
\r
-.extern ASM_PFX(InternalAssertJumpBuffer)\r
-.global ASM_PFX(SetJump)\r
+ASM_GLOBAL ASM_PFX(SetJump)\r
ASM_PFX(SetJump):\r
push %rcx\r
add $0xffffffffffffffe0,%rsp\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
+ movdqu %xmm6, 0x58(%rcx) \r
+ movdqu %xmm7, 0x68(%rcx)\r
+ movdqu %xmm8, 0x78(%rcx)\r
+ movdqu %xmm9, 0x88(%rcx)\r
+ movdqu %xmm10, 0x98(%rcx)\r
+ movdqu %xmm11, 0xA8(%rcx)\r
+ movdqu %xmm12, 0xB8(%rcx)\r
+ movdqu %xmm13, 0xC8(%rcx)\r
+ movdqu %xmm14, 0xD8(%rcx)\r
+ movdqu %xmm15, 0xE8(%rcx) \r
xor %rax,%rax\r
jmpq *%rdx\r