Some broken software wants to deal with ld.so.cache.
[nyanglibc.git] / nptl / pthread_attr_setsigmask_internal.shared.s
blob965b355c8d6a1ac158734b5b0812f1a6278370e6
1 .text
2 #APP
3 memmove = __GI_memmove
4 memset = __GI_memset
5 memcpy = __GI_memcpy
6 #NO_APP
7 .p2align 4,,15
8 .globl __GI___pthread_attr_setsigmask_internal
9 .hidden __GI___pthread_attr_setsigmask_internal
10 .type __GI___pthread_attr_setsigmask_internal, @function
11 __GI___pthread_attr_setsigmask_internal:
12 testq %rsi, %rsi
13 je .L10
14 pushq %rbp
15 pushq %rbx
16 movq %rdi, %rbp
17 movq %rsi, %rbx
18 subq $8, %rsp
19 call __pthread_attr_extension
20 testl %eax, %eax
21 jne .L1
22 movq 40(%rbp), %rdx
23 movdqu (%rbx), %xmm0
24 movups %xmm0, 16(%rdx)
25 movdqu 16(%rbx), %xmm0
26 movups %xmm0, 32(%rdx)
27 movdqu 32(%rbx), %xmm0
28 movups %xmm0, 48(%rdx)
29 movdqu 48(%rbx), %xmm0
30 movups %xmm0, 64(%rdx)
31 movdqu 64(%rbx), %xmm0
32 movups %xmm0, 80(%rdx)
33 movdqu 80(%rbx), %xmm0
34 movups %xmm0, 96(%rdx)
35 movdqu 96(%rbx), %xmm0
36 movups %xmm0, 112(%rdx)
37 movdqu 112(%rbx), %xmm0
38 movb $1, 144(%rdx)
39 movups %xmm0, 128(%rdx)
40 .L1:
41 addq $8, %rsp
42 popq %rbx
43 popq %rbp
44 ret
45 .p2align 4,,10
46 .p2align 3
47 .L10:
48 movq 40(%rdi), %rdx
49 xorl %eax, %eax
50 testq %rdx, %rdx
51 je .L7
52 movb $0, 144(%rdx)
53 ret
54 .p2align 4,,10
55 .p2align 3
56 .L7:
57 rep ret
58 .size __GI___pthread_attr_setsigmask_internal, .-__GI___pthread_attr_setsigmask_internal
59 .globl __pthread_attr_setsigmask_internal
60 .set __pthread_attr_setsigmask_internal,__GI___pthread_attr_setsigmask_internal
61 .hidden __pthread_attr_extension