47 movq %rbx, -0x38(%rbp)
48 movq %r8, -0x28(%rbp)
49 movq %rcx, -0x20(%rbp)
50 movq %rdx, -0x18(%rbp)
51 movq %rsi, -0x10(%rbp)
52 movq %rdi, -0x8(%rbp)
53 subq $0x70, %rsp
54 SET_SIZE(gcc_mov_align, gcc_mov_align_end)
55
56 FUNC(gcc_mov_basic)
57 pushq %rbp
58 movq %rsp, %rbp
59 movq %rbx,-0x28(%rbp)
60 movq %rcx,-0x20(%rbp)
61 movq %rdx,-0x18(%rbp)
62 movq %rsi,-0x10(%rbp)
63 movq %rdi,-0x8(%rbp)
64 subq $0x50,%rsp
65 SET_SIZE(gcc_mov_basic, gcc_mov_basic_end)
66
67 FUNC(gcc_mov_big_struct_ret)
68 pushq %rbp
69 movq %rsp,%rbp
70 movq %rbx,-0x28(%rbp)
71 movq %r8,-0x20(%rbp)
72 movq %rcx,-0x18(%rbp)
73 movq %rdx,-0x10(%rbp)
74 movq %rsi,-0x8(%rbp)
75 subq $0x50,%rsp
76 SET_SIZE(gcc_mov_big_struct_ret, gcc_mov_big_struct_ret_end)
77
78 FUNC(gcc_mov_big_struct_ret_and_spill)
79 pushq %rbp
80 movq %rsp,%rbp
81 movq %rbx,-0x38(%rbp)
82 movq %r9,-0x28(%rbp)
83 movq %r8,-0x20(%rbp)
84 movq %rcx,-0x18(%rbp)
85 movq %rdx,-0x10(%rbp)
86 movq %rsi,-0x8(%rbp)
87 subq $0x90,%rsp
88 SET_SIZE(gcc_mov_big_struct_ret_and_spill, gcc_mov_big_struct_ret_and_spill_end)
89
90 FUNC(gcc_mov_small_struct_ret)
91 pushq %rbp
92 movq %rsp,%rbp
93 movq %rbx,-0x28(%rbp)
94 movq %rcx,-0x20(%rbp)
95 movq %rdx,-0x18(%rbp)
96 movq %rsi,-0x10(%rbp)
97 movq %rdi,-0x8(%rbp)
129 movq %rsp,%rbp
130 pushq %rdi
131 pushq %rsi
132 pushq %rdx
133 pushq %rcx
134 pushq %r8
135 subq $0x8,%rsp
136 subq $0x30,%rsp
137 SET_SIZE(gcc_push_align, gcc_push_align_end)
138
139 FUNC(gcc_push_basic)
140 pushq %rbp
141 movq %rsp,%rbp
142 pushq %rdi
143 pushq %rsi
144 pushq %rdx
145 pushq %rcx
146 subq $0x20,%rsp
147 SET_SIZE(gcc_push_basic, gcc_push_basic_end)
148
149 FUNC(gcc_push_big_struct_ret)
150 pushq %rbp
151 movq %rsp,%rbp
152 pushq %rsi
153 pushq %rdx
154 pushq %rcx
155 pushq %r8
156 subq $0x30,%rsp
157 SET_SIZE(gcc_push_big_struct_ret, gcc_push_big_struct_ret_end)
158
159 FUNC(gcc_push_big_struct_ret_and_spill)
160 pushq %rbp
161 movq %rsp,%rbp
162 pushq %rsi
163 pushq %rdx
164 pushq %rcx
165 pushq %r8
166 pushq %r9
167 subq $0x8,%rsp
168 subq $0x50,%rsp
169 SET_SIZE(gcc_push_big_struct_ret_and_spill, gcc_push_big_struct_ret_and_spill_end)
170
171 FUNC(gcc_push_small_struct_ret)
172 pushq %rbp
173 movq %rsp,%rbp
174 pushq %rdi
175 pushq %rsi
176 pushq %rdx
177 pushq %rcx
178 subq $0x20,%rsp
377 movl $0x0,%eax
378 leave
379 ret
380 SET_SIZE(big_struct_ret_w_float, big_struct_ret_w_float_end)
381
382 FUNC(big_struct_arg_by_value)
383 pushq %rbp
384 movq %rsp,%rbp
385 movq %rdi,-0x8(%rbp)
386 subq $0x40,%rsp
387 SET_SIZE(big_struct_arg_by_value, big_struct_arg_by_value_end)
388
389 FUNC(small_struct_arg_by_value)
390 pushq %rbp
391 movq %rsp,%rbp
392 movq %rdx,-0x18(%rbp)
393 movq %rsi,-0x10(%rbp)
394 movq %rdi,-0x8(%rbp)
395 subq $0x50,%rsp
396 SET_SIZE(small_struct_arg_by_value, small_struct_arg_by_value_end)
|
47 movq %rbx, -0x38(%rbp)
48 movq %r8, -0x28(%rbp)
49 movq %rcx, -0x20(%rbp)
50 movq %rdx, -0x18(%rbp)
51 movq %rsi, -0x10(%rbp)
52 movq %rdi, -0x8(%rbp)
53 subq $0x70, %rsp
54 SET_SIZE(gcc_mov_align, gcc_mov_align_end)
55
56 FUNC(gcc_mov_basic)
57 pushq %rbp
58 movq %rsp, %rbp
59 movq %rbx,-0x28(%rbp)
60 movq %rcx,-0x20(%rbp)
61 movq %rdx,-0x18(%rbp)
62 movq %rsi,-0x10(%rbp)
63 movq %rdi,-0x8(%rbp)
64 subq $0x50,%rsp
65 SET_SIZE(gcc_mov_basic, gcc_mov_basic_end)
66
67 FUNC(gcc_mov_noorder)
68 pushq %rbp
69 movq %rsp, %rbp
70 movq %rcx,-0x20(%rbp)
71 movq %rbx,-0x28(%rbp)
72 movq %rdi,-0x8(%rbp)
73 movq %rdx,-0x18(%rbp)
74 movq %rsi,-0x10(%rbp)
75 subq $0x50,%rsp
76 SET_SIZE(gcc_mov_noorder, gcc_mov_noorder_end)
77
78 FUNC(gcc_mov_big_struct_ret)
79 pushq %rbp
80 movq %rsp,%rbp
81 movq %rbx,-0x28(%rbp)
82 movq %r8,-0x20(%rbp)
83 movq %rcx,-0x18(%rbp)
84 movq %rdx,-0x10(%rbp)
85 movq %rsi,-0x8(%rbp)
86 subq $0x50,%rsp
87 SET_SIZE(gcc_mov_big_struct_ret, gcc_mov_big_struct_ret_end)
88
89 FUNC(gcc_mov_struct_noorder)
90 pushq %rbp
91 movq %rsp,%rbp
92 movq %rcx,-0x18(%rbp)
93 movq %r8,-0x20(%rbp)
94 movq %rsi,-0x8(%rbp)
95 movq %rdx,-0x10(%rbp)
96 movq %rbx,-0x28(%rbp)
97 subq $0x50,%rsp
98 SET_SIZE(gcc_mov_struct_noorder, gcc_mov_struct_noorder_end)
99
100 FUNC(gcc_mov_big_struct_ret_and_spill)
101 pushq %rbp
102 movq %rsp,%rbp
103 movq %rbx,-0x38(%rbp)
104 movq %r9,-0x28(%rbp)
105 movq %r8,-0x20(%rbp)
106 movq %rcx,-0x18(%rbp)
107 movq %rdx,-0x10(%rbp)
108 movq %rsi,-0x8(%rbp)
109 subq $0x90,%rsp
110 SET_SIZE(gcc_mov_big_struct_ret_and_spill, gcc_mov_big_struct_ret_and_spill_end)
111
112 FUNC(gcc_mov_small_struct_ret)
113 pushq %rbp
114 movq %rsp,%rbp
115 movq %rbx,-0x28(%rbp)
116 movq %rcx,-0x20(%rbp)
117 movq %rdx,-0x18(%rbp)
118 movq %rsi,-0x10(%rbp)
119 movq %rdi,-0x8(%rbp)
151 movq %rsp,%rbp
152 pushq %rdi
153 pushq %rsi
154 pushq %rdx
155 pushq %rcx
156 pushq %r8
157 subq $0x8,%rsp
158 subq $0x30,%rsp
159 SET_SIZE(gcc_push_align, gcc_push_align_end)
160
161 FUNC(gcc_push_basic)
162 pushq %rbp
163 movq %rsp,%rbp
164 pushq %rdi
165 pushq %rsi
166 pushq %rdx
167 pushq %rcx
168 subq $0x20,%rsp
169 SET_SIZE(gcc_push_basic, gcc_push_basic_end)
170
171 FUNC(gcc_push_noorder)
172 pushq %rbp
173 movq %rsp,%rbp
174 pushq %rsi
175 pushq %rdi
176 pushq %rcx
177 pushq %rdx
178 subq $0x20,%rsp
179 SET_SIZE(gcc_push_noorder, gcc_push_noorder_end)
180
181 FUNC(gcc_push_big_struct_ret)
182 pushq %rbp
183 movq %rsp,%rbp
184 pushq %rsi
185 pushq %rdx
186 pushq %rcx
187 pushq %r8
188 subq $0x30,%rsp
189 SET_SIZE(gcc_push_big_struct_ret, gcc_push_big_struct_ret_end)
190
191 FUNC(gcc_push_struct_noorder)
192 pushq %rbp
193 movq %rsp,%rbp
194 pushq %rdx
195 pushq %rsi
196 pushq %r8
197 pushq %rcx
198 subq $0x30,%rsp
199 SET_SIZE(gcc_push_struct_noorder, gcc_push_struct_noorder_end)
200
201 FUNC(gcc_push_big_struct_ret_and_spill)
202 pushq %rbp
203 movq %rsp,%rbp
204 pushq %rsi
205 pushq %rdx
206 pushq %rcx
207 pushq %r8
208 pushq %r9
209 subq $0x8,%rsp
210 subq $0x50,%rsp
211 SET_SIZE(gcc_push_big_struct_ret_and_spill, gcc_push_big_struct_ret_and_spill_end)
212
213 FUNC(gcc_push_small_struct_ret)
214 pushq %rbp
215 movq %rsp,%rbp
216 pushq %rdi
217 pushq %rsi
218 pushq %rdx
219 pushq %rcx
220 subq $0x20,%rsp
419 movl $0x0,%eax
420 leave
421 ret
422 SET_SIZE(big_struct_ret_w_float, big_struct_ret_w_float_end)
423
424 FUNC(big_struct_arg_by_value)
425 pushq %rbp
426 movq %rsp,%rbp
427 movq %rdi,-0x8(%rbp)
428 subq $0x40,%rsp
429 SET_SIZE(big_struct_arg_by_value, big_struct_arg_by_value_end)
430
431 FUNC(small_struct_arg_by_value)
432 pushq %rbp
433 movq %rsp,%rbp
434 movq %rdx,-0x18(%rbp)
435 movq %rsi,-0x10(%rbp)
436 movq %rdi,-0x8(%rbp)
437 subq $0x50,%rsp
438 SET_SIZE(small_struct_arg_by_value, small_struct_arg_by_value_end)
439
440 FUNC(interleaved_argument_saves)
441 pushq %rbp
442 movq %rdi,%rax
443 shlq $0x21,%rax
444 movq %rsp,%rbp
445 shrq $0x29,%rax
446 subq $0x30,%rsp
447 movq %rdi,-0x8(%rbp)
448 movq %rbx,-0x28(%rbp)
449 movzbl %dil,%edi
450 movq %rcx,-0x20(%rbp)
451 movq %rdx,-0x18(%rbp)
452 movq %rsi,-0x10(%rbp)
453 movq 0x0(,%rax,8),%rax
454 SET_SIZE(interleaved_argument_saves, interleaved_argument_saves_end)
|