clarify the purpose of this project
[nyanglibc.git] / nptl / elision-unlock.shared.s
blob582e6354582bdb3870128b9d0a75d0f56ef8af75
1 .text
2 .p2align 4,,15
3 .globl __lll_unlock_elision
4 .hidden __lll_unlock_elision
5 .type __lll_unlock_elision, @function
6 __lll_unlock_elision:
7 movl (%rdi), %eax
8 testl %eax, %eax
9 je .L5
10 xorl %eax, %eax
11 #APP
12 # 31 "../sysdeps/unix/sysv/linux/x86/elision-unlock.c" 1
13 xchgl %eax, (%rdi)
14 # 0 "" 2
15 #NO_APP
16 cmpl $1, %eax
17 jg .L6
18 .L3:
19 xorl %eax, %eax
20 ret
21 .p2align 4,,10
22 .p2align 3
23 .L5:
24 xend
25 xorl %eax, %eax
26 ret
27 .p2align 4,,10
28 .p2align 3
29 .L6:
30 xorb $-127, %sil
31 xorl %r10d, %r10d
32 movl $1, %edx
33 movl $202, %eax
34 #APP
35 # 31 "../sysdeps/unix/sysv/linux/x86/elision-unlock.c" 1
36 syscall
38 # 0 "" 2
39 #NO_APP
40 jmp .L3
41 .size __lll_unlock_elision, .-__lll_unlock_elision