1 #------------------------------------------------------------------------------
3 # Copyright (c) 2006 - 2008, Intel Corporation
4 # All rights reserved. This program and the accompanying materials
5 # are licensed and made available under the terms and conditions of the BSD License
6 # which accompanies this distribution. The full text of the license may be found at
7 # http://opensource.org/licenses/bsd-license.php
9 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 # Implementation of SetJump() on x86_64
20 #------------------------------------------------------------------------------
22 ASM_GLOBAL ASM_PFX(SetJump)
25 add $0xffffffffffffffe0,%rsp
26 call ASM_PFX(InternalAssertJumpBuffer)
40 # save non-volatile fp registers
42 movdqu %xmm6, 0x58(%rcx)
43 movdqu %xmm7, 0x68(%rcx)
44 movdqu %xmm8, 0x78(%rcx)
45 movdqu %xmm9, 0x88(%rcx)
46 movdqu %xmm10, 0x98(%rcx)
47 movdqu %xmm11, 0xA8(%rcx)
48 movdqu %xmm12, 0xB8(%rcx)
49 movdqu %xmm13, 0xC8(%rcx)
50 movdqu %xmm14, 0xD8(%rcx)
51 movdqu %xmm15, 0xE8(%rcx)