regex: updates from neatvi
[neatlibc.git] / x64 / setjmp.s
blob2443acf6dc35cd79700f0640a5372d57be6bcd60
4 global setjmp
5 setjmp:
6 mov [rdi + 0 * 8], rbx
7 mov [rdi + 1 * 8], rbp
8 mov [rdi + 2 * 8], r12
9 mov [rdi + 3 * 8], r13
10 mov [rdi + 4 * 8], r14
11 mov [rdi + 5 * 8], r15
12 lea rdx, [rsp + 8]
13 mov [rdi + 6 * 8], rdx
14 mov rdx, [rsp]
15 mov [rdi + 7 * 8], rdx
16 xor rax, rax
17 ret
19 global longjmp
20 longjmp:
21 mov rbx, [rdi + 0 * 8]
22 mov rbp, [rdi + 1 * 8]
23 mov r12, [rdi + 2 * 8]
24 mov r13, [rdi + 3 * 8]
25 mov r14, [rdi + 4 * 8]
26 mov r15, [rdi + 5 * 8]
27 mov rsp, [rdi + 6 * 8]
28 mov rdx, [rdi + 7 * 8]
29 mov eax, 1
30 test esi, esi
31 cmovne eax, esi
32 jmp rdx