clarify the purpose of this project
[nyanglibc.git] / nptl / pthread_attr_setsigmask_internal.s
blobf67e4843f8862bb7b32a2d596427b7b09caa642f
1 .text
2 .p2align 4,,15
3 .globl __pthread_attr_setsigmask_internal
4 .hidden __pthread_attr_setsigmask_internal
5 .type __pthread_attr_setsigmask_internal, @function
6 __pthread_attr_setsigmask_internal:
7 testq %rsi, %rsi
8 je .L10
9 pushq %rbp
10 pushq %rbx
11 movq %rdi, %rbp
12 movq %rsi, %rbx
13 subq $8, %rsp
14 call __pthread_attr_extension
15 testl %eax, %eax
16 jne .L1
17 movq 40(%rbp), %rdx
18 movdqu (%rbx), %xmm0
19 movups %xmm0, 16(%rdx)
20 movdqu 16(%rbx), %xmm0
21 movups %xmm0, 32(%rdx)
22 movdqu 32(%rbx), %xmm0
23 movups %xmm0, 48(%rdx)
24 movdqu 48(%rbx), %xmm0
25 movups %xmm0, 64(%rdx)
26 movdqu 64(%rbx), %xmm0
27 movups %xmm0, 80(%rdx)
28 movdqu 80(%rbx), %xmm0
29 movups %xmm0, 96(%rdx)
30 movdqu 96(%rbx), %xmm0
31 movups %xmm0, 112(%rdx)
32 movdqu 112(%rbx), %xmm0
33 movb $1, 144(%rdx)
34 movups %xmm0, 128(%rdx)
35 .L1:
36 addq $8, %rsp
37 popq %rbx
38 popq %rbp
39 ret
40 .p2align 4,,10
41 .p2align 3
42 .L10:
43 movq 40(%rdi), %rdx
44 xorl %eax, %eax
45 testq %rdx, %rdx
46 je .L7
47 movb $0, 144(%rdx)
48 ret
49 .p2align 4,,10
50 .p2align 3
51 .L7:
52 rep ret
53 .size __pthread_attr_setsigmask_internal, .-__pthread_attr_setsigmask_internal
54 .hidden __pthread_attr_extension