comparison test/samples/composite/args.asm @ 0:3e629dc19168

initial from svn dyncall-1745
author Daniel Adler
date Thu, 19 Mar 2015 22:24:28 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:3e629dc19168
1 ; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.21022.08
2
3 include listing.inc
4
5 INCLUDELIB LIBCMT
6 INCLUDELIB OLDNAMES
7
8 PUBLIC call_f_s2i
9 EXTRN f_s2i:PROC
10 ; Function compile flags: /Ogtpy
11 ; COMDAT call_f_s2i
12 _TEXT SEGMENT
13 a1$ = 8
14 call_f_s2i PROC ; COMDAT
15 ; File c:\lab\dynabi\tests\composite\args.c
16 ; Line 130
17 xor eax, eax
18 mov DWORD PTR a1$[rsp], 0
19 mov DWORD PTR a1$[rsp+4], eax
20 mov rcx, QWORD PTR a1$[rsp]
21 jmp f_s2i
22 call_f_s2i ENDP
23 _TEXT ENDS
24 PUBLIC $T993
25 PUBLIC call_f_s4i
26 EXTRN f_s4i:PROC
27 ; COMDAT pdata
28 pdata SEGMENT
29 $pdata$call_f_s4i DD imagerel $LN3
30 DD imagerel $LN3+52
31 DD imagerel $unwind$call_f_s4i
32 pdata ENDS
33 ; COMDAT xdata
34 xdata SEGMENT
35 $unwind$call_f_s4i DD 010401H
36 DD 06204H
37 ; Function compile flags: /Ogtpy
38 xdata ENDS
39 ; COMDAT call_f_s4i
40 _TEXT SEGMENT
41 $T993 = 32
42 a1$ = 32
43 call_f_s4i PROC ; COMDAT
44 ; Line 131
45 $LN3:
46 sub rsp, 56 ; 00000038H
47 xor eax, eax
48 mov DWORD PTR a1$[rsp], 0
49 lea rcx, QWORD PTR $T993[rsp]
50 mov DWORD PTR a1$[rsp+4], eax
51 mov DWORD PTR a1$[rsp+8], eax
52 mov DWORD PTR a1$[rsp+12], eax
53 movaps xmm0, XMMWORD PTR a1$[rsp]
54 movdqa XMMWORD PTR $T993[rsp], xmm0
55 call f_s4i
56 add rsp, 56 ; 00000038H
57 ret 0
58 call_f_s4i ENDP
59 _TEXT ENDS
60 PUBLIC $T1004
61 PUBLIC call_f_s8i
62 EXTRN f_s8i:PROC
63 ; COMDAT pdata
64 pdata SEGMENT
65 $pdata$call_f_s8i DD imagerel $LN3
66 DD imagerel $LN3+97
67 DD imagerel $unwind$call_f_s8i
68 pdata ENDS
69 ; COMDAT xdata
70 xdata SEGMENT
71 $unwind$call_f_s8i DD 010401H
72 DD 0c204H
73 ; Function compile flags: /Ogtpy
74 xdata ENDS
75 ; COMDAT call_f_s8i
76 _TEXT SEGMENT
77 a1$ = 32
78 $T1004 = 64
79 call_f_s8i PROC ; COMDAT
80 ; Line 132
81 $LN3:
82 sub rsp, 104 ; 00000068H
83 xor eax, eax
84 lea rcx, QWORD PTR a1$[rsp]
85 lea rdx, QWORD PTR $T1004[rsp]
86 mov DWORD PTR a1$[rsp+4], eax
87 mov DWORD PTR a1$[rsp+8], eax
88 mov DWORD PTR a1$[rsp+12], eax
89 mov DWORD PTR a1$[rsp+16], eax
90 mov DWORD PTR a1$[rsp+20], eax
91 mov DWORD PTR a1$[rsp+24], eax
92 mov DWORD PTR a1$[rsp+28], eax
93 mov DWORD PTR a1$[rsp], 0
94 mov rax, QWORD PTR [rcx]
95 mov QWORD PTR [rdx], rax
96 mov rax, QWORD PTR [rcx+8]
97 mov QWORD PTR [rdx+8], rax
98 mov rax, QWORD PTR [rcx+16]
99 mov QWORD PTR [rdx+16], rax
100 mov rax, QWORD PTR [rcx+24]
101 lea rcx, QWORD PTR $T1004[rsp]
102 mov QWORD PTR [rdx+24], rax
103 call f_s8i
104 add rsp, 104 ; 00000068H
105 ret 0
106 call_f_s8i ENDP
107 _TEXT ENDS
108 PUBLIC call_f_s2f
109 EXTRN f_s2f:PROC
110 EXTRN _fltused:DWORD
111 ; Function compile flags: /Ogtpy
112 ; COMDAT call_f_s2f
113 _TEXT SEGMENT
114 a1$ = 8
115 call_f_s2f PROC ; COMDAT
116 ; Line 134
117 xorps xmm0, xmm0
118 xor eax, eax
119 movss DWORD PTR a1$[rsp], xmm0
120 mov DWORD PTR a1$[rsp+4], eax
121 mov rcx, QWORD PTR a1$[rsp]
122 jmp f_s2f
123 call_f_s2f ENDP
124 _TEXT ENDS
125 PUBLIC $T1023
126 PUBLIC call_f_s4f
127 EXTRN f_s4f:PROC
128 ; COMDAT pdata
129 pdata SEGMENT
130 $pdata$call_f_s4f DD imagerel $LN3
131 DD imagerel $LN3+53
132 DD imagerel $unwind$call_f_s4f
133 pdata ENDS
134 ; COMDAT xdata
135 xdata SEGMENT
136 $unwind$call_f_s4f DD 010401H
137 DD 06204H
138 ; Function compile flags: /Ogtpy
139 xdata ENDS
140 ; COMDAT call_f_s4f
141 _TEXT SEGMENT
142 $T1023 = 32
143 a1$ = 32
144 call_f_s4f PROC ; COMDAT
145 ; Line 135
146 $LN3:
147 sub rsp, 56 ; 00000038H
148 xorps xmm0, xmm0
149 xor eax, eax
150 lea rcx, QWORD PTR $T1023[rsp]
151 movss DWORD PTR a1$[rsp], xmm0
152 mov DWORD PTR a1$[rsp+4], eax
153 mov DWORD PTR a1$[rsp+8], eax
154 mov DWORD PTR a1$[rsp+12], eax
155 movaps xmm0, XMMWORD PTR a1$[rsp]
156 movdqa XMMWORD PTR $T1023[rsp], xmm0
157 call f_s4f
158 add rsp, 56 ; 00000038H
159 ret 0
160 call_f_s4f ENDP
161 _TEXT ENDS
162 PUBLIC call_f_s1d
163 EXTRN f_s1d:PROC
164 ; Function compile flags: /Ogtpy
165 ; COMDAT call_f_s1d
166 _TEXT SEGMENT
167 a1$ = 8
168 call_f_s1d PROC ; COMDAT
169 ; Line 137
170 xorpd xmm0, xmm0
171 movsdx QWORD PTR a1$[rsp], xmm0
172 mov rcx, QWORD PTR a1$[rsp]
173 jmp f_s1d
174 call_f_s1d ENDP
175 _TEXT ENDS
176 PUBLIC $T1041
177 PUBLIC call_f_s2d
178 EXTRN f_s2d:PROC
179 ; COMDAT pdata
180 pdata SEGMENT
181 $pdata$call_f_s2d DD imagerel $LN3
182 DD imagerel $LN3+47
183 DD imagerel $unwind$call_f_s2d
184 pdata ENDS
185 ; COMDAT xdata
186 xdata SEGMENT
187 $unwind$call_f_s2d DD 010401H
188 DD 06204H
189 ; Function compile flags: /Ogtpy
190 xdata ENDS
191 ; COMDAT call_f_s2d
192 _TEXT SEGMENT
193 $T1041 = 32
194 a1$ = 32
195 call_f_s2d PROC ; COMDAT
196 ; Line 138
197 $LN3:
198 sub rsp, 56 ; 00000038H
199 xorpd xmm0, xmm0
200 xor eax, eax
201 lea rcx, QWORD PTR $T1041[rsp]
202 movsdx QWORD PTR a1$[rsp], xmm0
203 mov QWORD PTR a1$[rsp+8], rax
204 movaps xmm0, XMMWORD PTR a1$[rsp]
205 movdqa XMMWORD PTR $T1041[rsp], xmm0
206 call f_s2d
207 add rsp, 56 ; 00000038H
208 ret 0
209 call_f_s2d ENDP
210 _TEXT ENDS
211 PUBLIC $T1052
212 PUBLIC call_f_s4d
213 EXTRN f_s4d:PROC
214 ; COMDAT pdata
215 pdata SEGMENT
216 $pdata$call_f_s4d DD imagerel $LN3
217 DD imagerel $LN3+86
218 DD imagerel $unwind$call_f_s4d
219 pdata ENDS
220 ; COMDAT xdata
221 xdata SEGMENT
222 $unwind$call_f_s4d DD 010401H
223 DD 0c204H
224 ; Function compile flags: /Ogtpy
225 xdata ENDS
226 ; COMDAT call_f_s4d
227 _TEXT SEGMENT
228 a1$ = 32
229 $T1052 = 64
230 call_f_s4d PROC ; COMDAT
231 ; Line 139
232 $LN3:
233 sub rsp, 104 ; 00000068H
234 xorpd xmm0, xmm0
235 xor eax, eax
236 lea rcx, QWORD PTR a1$[rsp]
237 movsdx QWORD PTR a1$[rsp], xmm0
238 mov QWORD PTR a1$[rsp+8], rax
239 mov QWORD PTR a1$[rsp+16], rax
240 mov QWORD PTR a1$[rsp+24], rax
241 mov rax, QWORD PTR [rcx]
242 lea rdx, QWORD PTR $T1052[rsp]
243 mov QWORD PTR [rdx], rax
244 mov rax, QWORD PTR [rcx+8]
245 mov QWORD PTR [rdx+8], rax
246 mov rax, QWORD PTR [rcx+16]
247 mov QWORD PTR [rdx+16], rax
248 mov rax, QWORD PTR [rcx+24]
249 lea rcx, QWORD PTR $T1052[rsp]
250 mov QWORD PTR [rdx+24], rax
251 call f_s4d
252 add rsp, 104 ; 00000068H
253 ret 0
254 call_f_s4d ENDP
255 _TEXT ENDS
256 PUBLIC call_f_s1q
257 EXTRN f_s1q:PROC
258 ; Function compile flags: /Ogtpy
259 ; COMDAT call_f_s1q
260 _TEXT SEGMENT
261 a1$ = 8
262 call_f_s1q PROC ; COMDAT
263 ; Line 141
264 xorpd xmm0, xmm0
265 movsdx QWORD PTR a1$[rsp], xmm0
266 mov rcx, QWORD PTR a1$[rsp]
267 jmp f_s1q
268 call_f_s1q ENDP
269 _TEXT ENDS
270 PUBLIC $T1068
271 PUBLIC $T1069
272 PUBLIC call_f_s2ds2d
273 EXTRN f_s2ds2d:PROC
274 ; COMDAT pdata
275 pdata SEGMENT
276 $pdata$call_f_s2ds2d DD imagerel $LN3
277 DD imagerel $LN3+74
278 DD imagerel $unwind$call_f_s2ds2d
279 pdata ENDS
280 ; COMDAT xdata
281 xdata SEGMENT
282 $unwind$call_f_s2ds2d DD 010401H
283 DD 08204H
284 ; Function compile flags: /Ogtpy
285 xdata ENDS
286 ; COMDAT call_f_s2ds2d
287 _TEXT SEGMENT
288 $T1069 = 32
289 a2$ = 32
290 $T1068 = 48
291 a1$ = 48
292 call_f_s2ds2d PROC ; COMDAT
293 ; Line 147
294 $LN3:
295 sub rsp, 72 ; 00000048H
296 ; Line 148
297 xorpd xmm0, xmm0
298 xor eax, eax
299 ; Line 150
300 lea rdx, QWORD PTR $T1069[rsp]
301 movsdx QWORD PTR a1$[rsp], xmm0
302 movsdx QWORD PTR a2$[rsp], xmm0
303 mov QWORD PTR a1$[rsp+8], rax
304 mov QWORD PTR a2$[rsp+8], rax
305 lea rcx, QWORD PTR $T1068[rsp]
306 movaps xmm1, XMMWORD PTR a1$[rsp]
307 movaps xmm0, XMMWORD PTR a2$[rsp]
308 movdqa XMMWORD PTR $T1068[rsp], xmm1
309 movdqa XMMWORD PTR $T1069[rsp], xmm0
310 call f_s2ds2d
311 ; Line 151
312 add rsp, 72 ; 00000048H
313 ret 0
314 call_f_s2ds2d ENDP
315 _TEXT ENDS
316 PUBLIC __real@40000000
317 PUBLIC call_f_sfifi
318 EXTRN f_sfifi:PROC
319 ; COMDAT pdata
320 pdata SEGMENT
321 $pdata$call_f_sfifi DD imagerel $LN3
322 DD imagerel $LN3+65
323 DD imagerel $unwind$call_f_sfifi
324 pdata ENDS
325 ; COMDAT xdata
326 xdata SEGMENT
327 $unwind$call_f_sfifi DD 010701H
328 DD 06207H
329 xdata ENDS
330 ; COMDAT __real@40000000
331 CONST SEGMENT
332 __real@40000000 DD 040000000r ; 2
333 ; Function compile flags: /Ogtpy
334 CONST ENDS
335 ; COMDAT call_f_sfifi
336 _TEXT SEGMENT
337 call_f_sfifi PROC ; COMDAT
338 ; Line 155
339 $LN3:
340 mov rax, rsp
341 sub rsp, 56 ; 00000038H
342 xorps xmm0, xmm0
343 movss xmm1, DWORD PTR __real@40000000
344 mov DWORD PTR [rax-20], 1
345 mov DWORD PTR [rax-12], 3
346 lea rcx, QWORD PTR [rax-24]
347 movss DWORD PTR [rax-24], xmm0
348 movss DWORD PTR [rax-16], xmm1
349 movaps xmm0, XMMWORD PTR [rax-24]
350 movdqa XMMWORD PTR [rax-24], xmm0
351 call f_sfifi
352 add rsp, 56 ; 00000038H
353 ret 0
354 call_f_sfifi ENDP
355 _TEXT ENDS
356 PUBLIC __real@40400000
357 PUBLIC __real@3f800000
358 PUBLIC call_f_sifif
359 EXTRN f_sifif:PROC
360 ; COMDAT pdata
361 pdata SEGMENT
362 $pdata$call_f_sifif DD imagerel $LN3
363 DD imagerel $LN3+70
364 DD imagerel $unwind$call_f_sifif
365 pdata ENDS
366 ; COMDAT xdata
367 xdata SEGMENT
368 $unwind$call_f_sifif DD 010701H
369 DD 06207H
370 xdata ENDS
371 ; COMDAT __real@40400000
372 CONST SEGMENT
373 __real@40400000 DD 040400000r ; 3
374 CONST ENDS
375 ; COMDAT __real@3f800000
376 CONST SEGMENT
377 __real@3f800000 DD 03f800000r ; 1
378 ; Function compile flags: /Ogtpy
379 CONST ENDS
380 ; COMDAT call_f_sifif
381 _TEXT SEGMENT
382 call_f_sifif PROC ; COMDAT
383 ; Line 161
384 $LN3:
385 mov rax, rsp
386 sub rsp, 56 ; 00000038H
387 movss xmm0, DWORD PTR __real@3f800000
388 movss xmm1, DWORD PTR __real@40400000
389 mov DWORD PTR [rax-24], 0
390 mov DWORD PTR [rax-16], 2
391 lea rcx, QWORD PTR [rax-24]
392 movss DWORD PTR [rax-20], xmm0
393 movss DWORD PTR [rax-12], xmm1
394 movaps xmm0, XMMWORD PTR [rax-24]
395 movdqa XMMWORD PTR [rax-24], xmm0
396 call f_sifif
397 add rsp, 56 ; 00000038H
398 ret 0
399 call_f_sifif ENDP
400 _TEXT ENDS
401 PUBLIC $T1109
402 PUBLIC call_f_full_sifif
403 EXTRN f_full_sifif:PROC
404 ; COMDAT pdata
405 pdata SEGMENT
406 $pdata$call_f_full_sifif DD imagerel $LN3
407 DD imagerel $LN3+90
408 DD imagerel $unwind$call_f_full_sifif
409 pdata ENDS
410 ; COMDAT xdata
411 xdata SEGMENT
412 $unwind$call_f_full_sifif DD 010401H
413 DD 0c204H
414 ; Function compile flags: /Ogtpy
415 xdata ENDS
416 ; COMDAT call_f_full_sifif
417 _TEXT SEGMENT
418 $T1109 = 80
419 a1$ = 80
420 call_f_full_sifif PROC ; COMDAT
421 ; Line 168
422 $LN3:
423 sub rsp, 104 ; 00000068H
424 xor eax, eax
425 mov DWORD PTR a1$[rsp], 0
426 xor ecx, ecx
427 lea edx, QWORD PTR [rax+1]
428 mov DWORD PTR a1$[rsp+4], eax
429 mov DWORD PTR a1$[rsp+8], eax
430 mov DWORD PTR a1$[rsp+12], eax
431 lea rax, QWORD PTR $T1109[rsp]
432 lea r9d, QWORD PTR [rdx+2]
433 movaps xmm0, XMMWORD PTR a1$[rsp]
434 movdqa XMMWORD PTR $T1109[rsp], xmm0
435 mov QWORD PTR [rsp+64], rax
436 mov BYTE PTR [rsp+56], 7
437 mov BYTE PTR [rsp+48], 6
438 lea r8d, QWORD PTR [rdx+1]
439 mov BYTE PTR [rsp+40], 5
440 mov BYTE PTR [rsp+32], 4
441 call f_full_sifif
442 add rsp, 104 ; 00000068H
443 ret 0
444 call_f_full_sifif ENDP
445 _TEXT ENDS
446 PUBLIC $T1120
447 PUBLIC call_f_remain64_sifif
448 EXTRN f_remain64_sifif:PROC
449 ; COMDAT pdata
450 pdata SEGMENT
451 $pdata$call_f_remain64_sifif DD imagerel $LN3
452 DD imagerel $LN3+56
453 DD imagerel $unwind$call_f_remain64_sifif
454 pdata ENDS
455 ; COMDAT xdata
456 xdata SEGMENT
457 $unwind$call_f_remain64_sifif DD 010401H
458 DD 06204H
459 ; Function compile flags: /Ogtpy
460 xdata ENDS
461 ; COMDAT call_f_remain64_sifif
462 _TEXT SEGMENT
463 $T1120 = 32
464 a1$ = 32
465 call_f_remain64_sifif PROC ; COMDAT
466 ; Line 169
467 $LN3:
468 sub rsp, 56 ; 00000038H
469 xor eax, eax
470 mov DWORD PTR a1$[rsp], 0
471 lea r8, QWORD PTR $T1120[rsp]
472 mov DWORD PTR a1$[rsp+4], eax
473 mov DWORD PTR a1$[rsp+8], eax
474 mov DWORD PTR a1$[rsp+12], eax
475 movaps xmm0, XMMWORD PTR a1$[rsp]
476 movdqa XMMWORD PTR $T1120[rsp], xmm0
477 mov dl, 1
478 xor ecx, ecx
479 call f_remain64_sifif
480 add rsp, 56 ; 00000038H
481 ret 0
482 call_f_remain64_sifif ENDP
483 _TEXT ENDS
484 PUBLIC call_f_sfffc
485 EXTRN f_sfffc:PROC
486 ; COMDAT pdata
487 pdata SEGMENT
488 $pdata$call_f_sfffc DD imagerel $LN3
489 DD imagerel $LN3+68
490 DD imagerel $unwind$call_f_sfffc
491 pdata ENDS
492 ; COMDAT xdata
493 xdata SEGMENT
494 $unwind$call_f_sfffc DD 010701H
495 DD 06207H
496 ; Function compile flags: /Ogtpy
497 xdata ENDS
498 ; COMDAT call_f_sfffc
499 _TEXT SEGMENT
500 call_f_sfffc PROC ; COMDAT
501 ; Line 173
502 $LN3:
503 mov rax, rsp
504 sub rsp, 56 ; 00000038H
505 xorps xmm0, xmm0
506 movss xmm1, DWORD PTR __real@3f800000
507 mov BYTE PTR [rax-12], 3
508 lea rcx, QWORD PTR [rax-24]
509 movss DWORD PTR [rax-24], xmm0
510 movss xmm0, DWORD PTR __real@40000000
511 movss DWORD PTR [rax-20], xmm1
512 movss DWORD PTR [rax-16], xmm0
513 movaps xmm1, XMMWORD PTR [rax-24]
514 movdqa XMMWORD PTR [rax-24], xmm1
515 call f_sfffc
516 add rsp, 56 ; 00000038H
517 ret 0
518 call_f_sfffc ENDP
519 _TEXT ENDS
520 PUBLIC call_f_scfff
521 EXTRN f_scfff:PROC
522 ; COMDAT pdata
523 pdata SEGMENT
524 $pdata$call_f_scfff DD imagerel $LN3
525 DD imagerel $LN3+73
526 DD imagerel $unwind$call_f_scfff
527 pdata ENDS
528 ; COMDAT xdata
529 xdata SEGMENT
530 $unwind$call_f_scfff DD 010701H
531 DD 06207H
532 ; Function compile flags: /Ogtpy
533 xdata ENDS
534 ; COMDAT call_f_scfff
535 _TEXT SEGMENT
536 call_f_scfff PROC ; COMDAT
537 ; Line 177
538 $LN3:
539 mov rax, rsp
540 sub rsp, 56 ; 00000038H
541 movss xmm0, DWORD PTR __real@3f800000
542 movss xmm1, DWORD PTR __real@40000000
543 mov BYTE PTR [rax-24], 0
544 lea rcx, QWORD PTR [rax-24]
545 movss DWORD PTR [rax-20], xmm0
546 movss xmm0, DWORD PTR __real@40400000
547 movss DWORD PTR [rax-16], xmm1
548 movss DWORD PTR [rax-12], xmm0
549 movaps xmm1, XMMWORD PTR [rax-24]
550 movdqa XMMWORD PTR [rax-24], xmm1
551 call f_scfff
552 add rsp, 56 ; 00000038H
553 ret 0
554 call_f_scfff ENDP
555 _TEXT ENDS
556 END