clarify the purpose of this project
[nyanglibc.git] / stdlib / drand48-iter.shared.s
blob2dd249d465f0da2a2f90777c49d41bfcebbd5e48
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 __drand48_iterate
9 .hidden __drand48_iterate
10 .type __drand48_iterate, @function
11 __drand48_iterate:
12 cmpw $0, 14(%rsi)
13 je .L2
14 movzwl 12(%rsi), %ecx
15 movq 16(%rsi), %r8
16 .L3:
17 movzwl 4(%rdi), %eax
18 movzwl (%rdi), %edx
19 salq $32, %rax
20 orq %rdx, %rax
21 movzwl 2(%rdi), %edx
22 sall $16, %edx
23 orq %rdx, %rax
24 imulq %r8, %rax
25 addq %rcx, %rax
26 movq %rax, %rdx
27 movw %ax, (%rdi)
28 shrq $32, %rax
29 shrq $16, %rdx
30 movw %ax, 4(%rdi)
31 xorl %eax, %eax
32 movw %dx, 2(%rdi)
33 ret
34 .p2align 4,,10
35 .p2align 3
36 .L2:
37 movabsq $-2383276746959945717, %rax
38 movl $5, 20(%rsi)
39 movl $11, %ecx
40 movq %rax, 12(%rsi)
41 movabsq $25214903917, %r8
42 jmp .L3
43 .size __drand48_iterate, .-__drand48_iterate
44 .hidden __libc_drand48_data
45 .comm __libc_drand48_data,24,16