23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
pushq %rbp
movq %rsp, %rbp
subq $16, %rsp
andq $-16, %rsp
movq %rdi, -8(%rbp)
leaq 208(%rdi), %rdx
movq 200(%rdi), %rcx
testq $1, %rcx
jnz .fix_align
.fill_stack:
testq %rcx, %rcx
jz .stack_filled
decq %rcx
movq (%rdx,%rcx,8), %r11
pushq %r11
jmp .fill_stack
.stack_filled:
movb 192(%rdi), %al
movdqa 176(%rdi), %xmm7
movdqa 160(%rdi), %xmm6
movdqa 144(%rdi), %xmm5
movdqa 128(%rdi), %xmm4
movdqa 112(%rdi), %xmm3
movdqa 96(%rdi), %xmm2
|
|
|
|
|
|
|
|
|
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
pushq %rbp
movq %rsp, %rbp
subq $16, %rsp
andq $-16, %rsp
movq %rdi, -8(%rbp)
leaq 240(%rdi), %rdx
movq 232(%rdi), %rcx
testq $1, %rcx
jnz Lfix_align
Lfill_stack:
testq %rcx, %rcx
jz Lstack_filled
decq %rcx
movq (%rdx,%rcx,8), %r11
pushq %r11
jmp Lfill_stack
Lstack_filled:
movb 224(%rdi), %al
movdqa 176(%rdi), %xmm7
movdqa 160(%rdi), %xmm6
movdqa 144(%rdi), %xmm5
movdqa 128(%rdi), %xmm4
movdqa 112(%rdi), %xmm3
movdqa 96(%rdi), %xmm2
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
movq -8(%rbp), %rdi
movq %rax, 48(%rdi)
movq %rdx, 56(%rdi)
movdqa %xmm0, 64(%rdi)
movdqa %xmm1, 80(%rdi)
movq %rbp, %rsp
popq %rbp
ret
.fix_align:
xorq %r11, %r11
pushq %r11
jmp .fill_stack
|
>
>
>
>
|
|
>
>
>
>
|
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
movq -8(%rbp), %rdi
movq %rax, 48(%rdi)
movq %rdx, 56(%rdi)
movdqa %xmm0, 64(%rdi)
movdqa %xmm1, 80(%rdi)
cmpb $2, 225(%rdi)
je Lpop_long_double
Lreturn:
movq %rbp, %rsp
popq %rbp
ret
Lfix_align:
xorq %r11, %r11
pushq %r11
jmp Lfill_stack
Lpop_long_double:
fstpt 192(%rdi)
jmp Lreturn
|