Lines Matching +full:0 +full:x86
8 ; RUN: llc < %s -mtriple=i686-linux-gnu -mattr=-sse | FileCheck %s --check-prefixes=X86
14 @vf80 = common global x86_fp80 0xK00000000000000000000, align 8
15 @vf128 = common global fp128 0xL00000000000000000000000000000000, align 16
19 ; X64-SSE: # %bb.0: # %entry
21 ; X64-SSE-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
28 ; X64-AVX: # %bb.0: # %entry
30 ; X64-AVX-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
36 ; X86-LABEL: TestFPExtF32_F128:
37 ; X86: # %bb.0: # %entry
38 ; X86-NEXT: pushl %esi
39 ; X86-NEXT: subl $24, %esp
40 ; X86-NEXT: flds vf32
41 ; X86-NEXT: fstps {{[0-9]+}}(%esp)
42 ; X86-NEXT: wait
43 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
44 ; X86-NEXT: movl %eax, (%esp)
45 ; X86-NEXT: calll __extendsftf2
46 ; X86-NEXT: subl $4, %esp
47 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
48 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
49 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
50 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
51 ; X86-NEXT: movl %esi, vf128+12
52 ; X86-NEXT: movl %edx, vf128+8
53 ; X86-NEXT: movl %ecx, vf128+4
54 ; X86-NEXT: movl %eax, vf128
55 ; X86-NEXT: addl $24, %esp
56 ; X86-NEXT: popl %esi
57 ; X86-NEXT: retl
59 %0 = load float, float* @vf32, align 4
60 … call fp128 @llvm.experimental.constrained.fpext.f128.f32(float %0, metadata !"fpexcept.strict") #0
67 ; X64-SSE: # %bb.0: # %entry
69 ; X64-SSE-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
76 ; X64-AVX: # %bb.0: # %entry
78 ; X64-AVX-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
84 ; X86-LABEL: TestFPExtF64_F128:
85 ; X86: # %bb.0: # %entry
86 ; X86-NEXT: pushl %esi
87 ; X86-NEXT: subl $40, %esp
88 ; X86-NEXT: fldl vf64
89 ; X86-NEXT: fstpl {{[0-9]+}}(%esp)
90 ; X86-NEXT: wait
91 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
92 ; X86-NEXT: movl %eax, (%esp)
93 ; X86-NEXT: calll __extenddftf2
94 ; X86-NEXT: subl $4, %esp
95 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
96 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
97 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
98 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
99 ; X86-NEXT: movl %esi, vf128+12
100 ; X86-NEXT: movl %edx, vf128+8
101 ; X86-NEXT: movl %ecx, vf128+4
102 ; X86-NEXT: movl %eax, vf128
103 ; X86-NEXT: addl $40, %esp
104 ; X86-NEXT: popl %esi
105 ; X86-NEXT: retl
107 %0 = load double, double* @vf64, align 8
108 …call fp128 @llvm.experimental.constrained.fpext.f128.f64(double %0, metadata !"fpexcept.strict") #0
115 ; X64-SSE: # %bb.0: # %entry
126 ; X64-AVX: # %bb.0: # %entry
136 ; X86-LABEL: TestFPExtF80_F128:
137 ; X86: # %bb.0: # %entry
138 ; X86-NEXT: pushl %esi
139 ; X86-NEXT: subl $40, %esp
140 ; X86-NEXT: fldt vf80
141 ; X86-NEXT: fstpt {{[0-9]+}}(%esp)
142 ; X86-NEXT: wait
143 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
144 ; X86-NEXT: movl %eax, (%esp)
145 ; X86-NEXT: calll __extendxftf2
146 ; X86-NEXT: subl $4, %esp
147 ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
148 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
149 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
150 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
151 ; X86-NEXT: movl %esi, vf128+12
152 ; X86-NEXT: movl %edx, vf128+8
153 ; X86-NEXT: movl %ecx, vf128+4
154 ; X86-NEXT: movl %eax, vf128
155 ; X86-NEXT: addl $40, %esp
156 ; X86-NEXT: popl %esi
157 ; X86-NEXT: retl
159 %0 = load x86_fp80, x86_fp80* @vf80, align 8
160 …ll fp128 @llvm.experimental.constrained.fpext.f128.f80(x86_fp80 %0, metadata !"fpexcept.strict") #0
167 ; X64-SSE: # %bb.0: # %entry
176 ; X64-AVX: # %bb.0: # %entry
184 ; X86-LABEL: TestFPTruncF128_F32:
185 ; X86: # %bb.0: # %entry
186 ; X86-NEXT: subl $12, %esp
187 ; X86-NEXT: pushl vf128+12
188 ; X86-NEXT: pushl vf128+8
189 ; X86-NEXT: pushl vf128+4
190 ; X86-NEXT: pushl vf128
191 ; X86-NEXT: calll __trunctfsf2
192 ; X86-NEXT: addl $16, %esp
193 ; X86-NEXT: fstps vf32
194 ; X86-NEXT: wait
195 ; X86-NEXT: addl $12, %esp
196 ; X86-NEXT: retl
198 %0 = load fp128, fp128* @vf128, align 16
199 …erimental.constrained.fptrunc.f32.f128(fp128 %0, metadata !"round.dynamic", metadata !"fpexcept.st…
206 ; X64-SSE: # %bb.0: # %entry
215 ; X64-AVX: # %bb.0: # %entry
223 ; X86-LABEL: TestFPTruncF128_F64:
224 ; X86: # %bb.0: # %entry
225 ; X86-NEXT: subl $12, %esp
226 ; X86-NEXT: pushl vf128+12
227 ; X86-NEXT: pushl vf128+8
228 ; X86-NEXT: pushl vf128+4
229 ; X86-NEXT: pushl vf128
230 ; X86-NEXT: calll __trunctfdf2
231 ; X86-NEXT: addl $16, %esp
232 ; X86-NEXT: fstpl vf64
233 ; X86-NEXT: wait
234 ; X86-NEXT: addl $12, %esp
235 ; X86-NEXT: retl
237 %0 = load fp128, fp128* @vf128, align 16
238 …erimental.constrained.fptrunc.f64.f128(fp128 %0, metadata !"round.dynamic", metadata !"fpexcept.st…
245 ; X64-SSE: # %bb.0: # %entry
255 ; X64-AVX: # %bb.0: # %entry
264 ; X86-LABEL: TestFPTruncF128_F80:
265 ; X86: # %bb.0: # %entry
266 ; X86-NEXT: subl $12, %esp
267 ; X86-NEXT: pushl vf128+12
268 ; X86-NEXT: pushl vf128+8
269 ; X86-NEXT: pushl vf128+4
270 ; X86-NEXT: pushl vf128
271 ; X86-NEXT: calll __trunctfxf2
272 ; X86-NEXT: addl $16, %esp
273 ; X86-NEXT: fstpt vf80
274 ; X86-NEXT: wait
275 ; X86-NEXT: addl $12, %esp
276 ; X86-NEXT: retl
278 %0 = load fp128, fp128* @vf128, align 16
279 …erimental.constrained.fptrunc.f80.f128(fp128 %0, metadata !"round.dynamic", metadata !"fpexcept.st…
286 ; X64: # %bb.0: # %entry
293 ; X86-LABEL: fptosi_i8:
294 ; X86: # %bb.0: # %entry
295 ; X86-NEXT: subl $12, %esp
296 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
297 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
298 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
299 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
300 ; X86-NEXT: calll __fixtfsi
301 ; X86-NEXT: addl $16, %esp
302 ; X86-NEXT: # kill: def $al killed $al killed $eax
303 ; X86-NEXT: addl $12, %esp
304 ; X86-NEXT: retl
306 …v = call i8 @llvm.experimental.constrained.fptosi.i8.f128(fp128 %x, metadata !"fpexcept.strict") #0
312 ; X64: # %bb.0: # %entry
319 ; X86-LABEL: fptosi_i16:
320 ; X86: # %bb.0: # %entry
321 ; X86-NEXT: subl $12, %esp
322 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
323 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
324 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
325 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
326 ; X86-NEXT: calll __fixtfsi
327 ; X86-NEXT: addl $16, %esp
328 ; X86-NEXT: # kill: def $ax killed $ax killed $eax
329 ; X86-NEXT: addl $12, %esp
330 ; X86-NEXT: retl
332 …= call i16 @llvm.experimental.constrained.fptosi.i16.f128(fp128 %x, metadata !"fpexcept.strict") #0
338 ; X64: # %bb.0: # %entry
344 ; X86-LABEL: fptosi_i32:
345 ; X86: # %bb.0: # %entry
346 ; X86-NEXT: subl $12, %esp
347 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
348 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
349 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
350 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
351 ; X86-NEXT: calll __fixtfsi
352 ; X86-NEXT: addl $28, %esp
353 ; X86-NEXT: retl
355 …= call i32 @llvm.experimental.constrained.fptosi.i32.f128(fp128 %x, metadata !"fpexcept.strict") #0
361 ; X64: # %bb.0: # %entry
367 ; X86-LABEL: fptosi_i64:
368 ; X86: # %bb.0: # %entry
369 ; X86-NEXT: subl $12, %esp
370 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
371 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
372 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
373 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
374 ; X86-NEXT: calll __fixtfdi
375 ; X86-NEXT: addl $28, %esp
376 ; X86-NEXT: retl
378 …= call i64 @llvm.experimental.constrained.fptosi.i64.f128(fp128 %x, metadata !"fpexcept.strict") #0
384 ; X64: # %bb.0: # %entry
390 ; X86-LABEL: fptosi_i128:
391 ; X86: # %bb.0: # %entry
392 ; X86-NEXT: pushl %edi
393 ; X86-NEXT: pushl %esi
394 ; X86-NEXT: subl $20, %esp
395 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
396 ; X86-NEXT: subl $12, %esp
397 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
398 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
399 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
400 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
401 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
402 ; X86-NEXT: pushl %eax
403 ; X86-NEXT: calll __fixtfti
404 ; X86-NEXT: addl $28, %esp
405 ; X86-NEXT: movl (%esp), %eax
406 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
407 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
408 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
409 ; X86-NEXT: movl %edi, 8(%esi)
410 ; X86-NEXT: movl %edx, 12(%esi)
411 ; X86-NEXT: movl %eax, (%esi)
412 ; X86-NEXT: movl %ecx, 4(%esi)
413 ; X86-NEXT: movl %esi, %eax
414 ; X86-NEXT: addl $20, %esp
415 ; X86-NEXT: popl %esi
416 ; X86-NEXT: popl %edi
417 ; X86-NEXT: retl $4
419 …call i128 @llvm.experimental.constrained.fptosi.i128.f128(fp128 %x, metadata !"fpexcept.strict") #0
425 ; X64: # %bb.0: # %entry
432 ; X86-LABEL: fptoui_i8:
433 ; X86: # %bb.0: # %entry
434 ; X86-NEXT: subl $12, %esp
435 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
436 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
437 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
438 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
439 ; X86-NEXT: calll __fixunstfsi
440 ; X86-NEXT: addl $16, %esp
441 ; X86-NEXT: # kill: def $al killed $al killed $eax
442 ; X86-NEXT: addl $12, %esp
443 ; X86-NEXT: retl
445 …v = call i8 @llvm.experimental.constrained.fptoui.i8.f128(fp128 %x, metadata !"fpexcept.strict") #0
451 ; X64: # %bb.0: # %entry
458 ; X86-LABEL: fptoui_i16:
459 ; X86: # %bb.0: # %entry
460 ; X86-NEXT: subl $12, %esp
461 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
462 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
463 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
464 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
465 ; X86-NEXT: calll __fixunstfsi
466 ; X86-NEXT: addl $16, %esp
467 ; X86-NEXT: # kill: def $ax killed $ax killed $eax
468 ; X86-NEXT: addl $12, %esp
469 ; X86-NEXT: retl
471 …= call i16 @llvm.experimental.constrained.fptoui.i16.f128(fp128 %x, metadata !"fpexcept.strict") #0
477 ; X64: # %bb.0: # %entry
483 ; X86-LABEL: fptoui_i32:
484 ; X86: # %bb.0: # %entry
485 ; X86-NEXT: subl $12, %esp
486 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
487 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
488 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
489 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
490 ; X86-NEXT: calll __fixunstfsi
491 ; X86-NEXT: addl $28, %esp
492 ; X86-NEXT: retl
494 …= call i32 @llvm.experimental.constrained.fptoui.i32.f128(fp128 %x, metadata !"fpexcept.strict") #0
500 ; X64: # %bb.0: # %entry
506 ; X86-LABEL: fptoui_i64:
507 ; X86: # %bb.0: # %entry
508 ; X86-NEXT: subl $12, %esp
509 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
510 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
511 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
512 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
513 ; X86-NEXT: calll __fixunstfdi
514 ; X86-NEXT: addl $28, %esp
515 ; X86-NEXT: retl
517 …= call i64 @llvm.experimental.constrained.fptoui.i64.f128(fp128 %x, metadata !"fpexcept.strict") #0
523 ; X64: # %bb.0: # %entry
529 ; X86-LABEL: fptoui_i128:
530 ; X86: # %bb.0: # %entry
531 ; X86-NEXT: pushl %edi
532 ; X86-NEXT: pushl %esi
533 ; X86-NEXT: subl $20, %esp
534 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
535 ; X86-NEXT: subl $12, %esp
536 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
537 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
538 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
539 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
540 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
541 ; X86-NEXT: pushl %eax
542 ; X86-NEXT: calll __fixunstfti
543 ; X86-NEXT: addl $28, %esp
544 ; X86-NEXT: movl (%esp), %eax
545 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
546 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
547 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
548 ; X86-NEXT: movl %edi, 8(%esi)
549 ; X86-NEXT: movl %edx, 12(%esi)
550 ; X86-NEXT: movl %eax, (%esi)
551 ; X86-NEXT: movl %ecx, 4(%esi)
552 ; X86-NEXT: movl %esi, %eax
553 ; X86-NEXT: addl $20, %esp
554 ; X86-NEXT: popl %esi
555 ; X86-NEXT: popl %edi
556 ; X86-NEXT: retl $4
558 …call i128 @llvm.experimental.constrained.fptoui.i128.f128(fp128 %x, metadata !"fpexcept.strict") #0
564 ; X64: # %bb.0: # %entry
571 ; X86-LABEL: sitofp_i8:
572 ; X86: # %bb.0: # %entry
573 ; X86-NEXT: pushl %edi
574 ; X86-NEXT: pushl %esi
575 ; X86-NEXT: subl $20, %esp
576 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
577 ; X86-NEXT: movsbl {{[0-9]+}}(%esp), %eax
578 ; X86-NEXT: subl $8, %esp
579 ; X86-NEXT: leal {{[0-9]+}}(%esp), %ecx
580 ; X86-NEXT: pushl %eax
581 ; X86-NEXT: pushl %ecx
582 ; X86-NEXT: calll __floatsitf
583 ; X86-NEXT: addl $12, %esp
584 ; X86-NEXT: movl (%esp), %eax
585 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
586 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
587 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
588 ; X86-NEXT: movl %edi, 8(%esi)
589 ; X86-NEXT: movl %edx, 12(%esi)
590 ; X86-NEXT: movl %eax, (%esi)
591 ; X86-NEXT: movl %ecx, 4(%esi)
592 ; X86-NEXT: movl %esi, %eax
593 ; X86-NEXT: addl $20, %esp
594 ; X86-NEXT: popl %esi
595 ; X86-NEXT: popl %edi
596 ; X86-NEXT: retl $4
598 …mental.constrained.sitofp.f128.i8(i8 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
604 ; X64: # %bb.0: # %entry
611 ; X86-LABEL: sitofp_i16:
612 ; X86: # %bb.0: # %entry
613 ; X86-NEXT: pushl %edi
614 ; X86-NEXT: pushl %esi
615 ; X86-NEXT: subl $20, %esp
616 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
617 ; X86-NEXT: movswl {{[0-9]+}}(%esp), %eax
618 ; X86-NEXT: subl $8, %esp
619 ; X86-NEXT: leal {{[0-9]+}}(%esp), %ecx
620 ; X86-NEXT: pushl %eax
621 ; X86-NEXT: pushl %ecx
622 ; X86-NEXT: calll __floatsitf
623 ; X86-NEXT: addl $12, %esp
624 ; X86-NEXT: movl (%esp), %eax
625 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
626 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
627 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
628 ; X86-NEXT: movl %edi, 8(%esi)
629 ; X86-NEXT: movl %edx, 12(%esi)
630 ; X86-NEXT: movl %eax, (%esi)
631 ; X86-NEXT: movl %ecx, 4(%esi)
632 ; X86-NEXT: movl %esi, %eax
633 ; X86-NEXT: addl $20, %esp
634 ; X86-NEXT: popl %esi
635 ; X86-NEXT: popl %edi
636 ; X86-NEXT: retl $4
638 …ntal.constrained.sitofp.f128.i16(i16 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
644 ; X64: # %bb.0: # %entry
650 ; X86-LABEL: sitofp_i32:
651 ; X86: # %bb.0: # %entry
652 ; X86-NEXT: pushl %edi
653 ; X86-NEXT: pushl %esi
654 ; X86-NEXT: subl $20, %esp
655 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
656 ; X86-NEXT: subl $8, %esp
657 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
658 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
659 ; X86-NEXT: pushl %eax
660 ; X86-NEXT: calll __floatsitf
661 ; X86-NEXT: addl $12, %esp
662 ; X86-NEXT: movl (%esp), %eax
663 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
664 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
665 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
666 ; X86-NEXT: movl %edi, 8(%esi)
667 ; X86-NEXT: movl %edx, 12(%esi)
668 ; X86-NEXT: movl %eax, (%esi)
669 ; X86-NEXT: movl %ecx, 4(%esi)
670 ; X86-NEXT: movl %esi, %eax
671 ; X86-NEXT: addl $20, %esp
672 ; X86-NEXT: popl %esi
673 ; X86-NEXT: popl %edi
674 ; X86-NEXT: retl $4
676 …ntal.constrained.sitofp.f128.i32(i32 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
682 ; X64: # %bb.0: # %entry
688 ; X86-LABEL: sitofp_i64:
689 ; X86: # %bb.0: # %entry
690 ; X86-NEXT: pushl %edi
691 ; X86-NEXT: pushl %esi
692 ; X86-NEXT: subl $20, %esp
693 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
694 ; X86-NEXT: subl $4, %esp
695 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
696 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
697 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
698 ; X86-NEXT: pushl %eax
699 ; X86-NEXT: calll __floatditf
700 ; X86-NEXT: addl $12, %esp
701 ; X86-NEXT: movl (%esp), %eax
702 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
703 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
704 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
705 ; X86-NEXT: movl %edi, 8(%esi)
706 ; X86-NEXT: movl %edx, 12(%esi)
707 ; X86-NEXT: movl %eax, (%esi)
708 ; X86-NEXT: movl %ecx, 4(%esi)
709 ; X86-NEXT: movl %esi, %eax
710 ; X86-NEXT: addl $20, %esp
711 ; X86-NEXT: popl %esi
712 ; X86-NEXT: popl %edi
713 ; X86-NEXT: retl $4
715 …ntal.constrained.sitofp.f128.i64(i64 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
721 ; X64: # %bb.0: # %entry
727 ; X86-LABEL: sitofp_i128:
728 ; X86: # %bb.0: # %entry
729 ; X86-NEXT: pushl %edi
730 ; X86-NEXT: pushl %esi
731 ; X86-NEXT: subl $20, %esp
732 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
733 ; X86-NEXT: subl $12, %esp
734 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
735 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
736 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
737 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
738 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
739 ; X86-NEXT: pushl %eax
740 ; X86-NEXT: calll __floattitf
741 ; X86-NEXT: addl $28, %esp
742 ; X86-NEXT: movl (%esp), %eax
743 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
744 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
745 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
746 ; X86-NEXT: movl %edi, 8(%esi)
747 ; X86-NEXT: movl %edx, 12(%esi)
748 ; X86-NEXT: movl %eax, (%esi)
749 ; X86-NEXT: movl %ecx, 4(%esi)
750 ; X86-NEXT: movl %esi, %eax
751 ; X86-NEXT: addl $20, %esp
752 ; X86-NEXT: popl %esi
753 ; X86-NEXT: popl %edi
754 ; X86-NEXT: retl $4
756 …al.constrained.sitofp.f128.i128(i128 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
762 ; X64: # %bb.0: # %entry
769 ; X86-LABEL: uitofp_i8:
770 ; X86: # %bb.0: # %entry
771 ; X86-NEXT: pushl %edi
772 ; X86-NEXT: pushl %esi
773 ; X86-NEXT: subl $20, %esp
774 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
775 ; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax
776 ; X86-NEXT: subl $8, %esp
777 ; X86-NEXT: leal {{[0-9]+}}(%esp), %ecx
778 ; X86-NEXT: pushl %eax
779 ; X86-NEXT: pushl %ecx
780 ; X86-NEXT: calll __floatunsitf
781 ; X86-NEXT: addl $12, %esp
782 ; X86-NEXT: movl (%esp), %eax
783 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
784 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
785 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
786 ; X86-NEXT: movl %edi, 8(%esi)
787 ; X86-NEXT: movl %edx, 12(%esi)
788 ; X86-NEXT: movl %eax, (%esi)
789 ; X86-NEXT: movl %ecx, 4(%esi)
790 ; X86-NEXT: movl %esi, %eax
791 ; X86-NEXT: addl $20, %esp
792 ; X86-NEXT: popl %esi
793 ; X86-NEXT: popl %edi
794 ; X86-NEXT: retl $4
796 …mental.constrained.uitofp.f128.i8(i8 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
802 ; X64: # %bb.0: # %entry
809 ; X86-LABEL: uitofp_i16:
810 ; X86: # %bb.0: # %entry
811 ; X86-NEXT: pushl %edi
812 ; X86-NEXT: pushl %esi
813 ; X86-NEXT: subl $20, %esp
814 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
815 ; X86-NEXT: movzwl {{[0-9]+}}(%esp), %eax
816 ; X86-NEXT: subl $8, %esp
817 ; X86-NEXT: leal {{[0-9]+}}(%esp), %ecx
818 ; X86-NEXT: pushl %eax
819 ; X86-NEXT: pushl %ecx
820 ; X86-NEXT: calll __floatunsitf
821 ; X86-NEXT: addl $12, %esp
822 ; X86-NEXT: movl (%esp), %eax
823 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
824 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
825 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
826 ; X86-NEXT: movl %edi, 8(%esi)
827 ; X86-NEXT: movl %edx, 12(%esi)
828 ; X86-NEXT: movl %eax, (%esi)
829 ; X86-NEXT: movl %ecx, 4(%esi)
830 ; X86-NEXT: movl %esi, %eax
831 ; X86-NEXT: addl $20, %esp
832 ; X86-NEXT: popl %esi
833 ; X86-NEXT: popl %edi
834 ; X86-NEXT: retl $4
836 …ntal.constrained.uitofp.f128.i16(i16 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
842 ; X64: # %bb.0: # %entry
848 ; X86-LABEL: uitofp_i32:
849 ; X86: # %bb.0: # %entry
850 ; X86-NEXT: pushl %edi
851 ; X86-NEXT: pushl %esi
852 ; X86-NEXT: subl $20, %esp
853 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
854 ; X86-NEXT: subl $8, %esp
855 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
856 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
857 ; X86-NEXT: pushl %eax
858 ; X86-NEXT: calll __floatunsitf
859 ; X86-NEXT: addl $12, %esp
860 ; X86-NEXT: movl (%esp), %eax
861 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
862 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
863 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
864 ; X86-NEXT: movl %edi, 8(%esi)
865 ; X86-NEXT: movl %edx, 12(%esi)
866 ; X86-NEXT: movl %eax, (%esi)
867 ; X86-NEXT: movl %ecx, 4(%esi)
868 ; X86-NEXT: movl %esi, %eax
869 ; X86-NEXT: addl $20, %esp
870 ; X86-NEXT: popl %esi
871 ; X86-NEXT: popl %edi
872 ; X86-NEXT: retl $4
874 …ntal.constrained.uitofp.f128.i32(i32 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
880 ; X64: # %bb.0: # %entry
886 ; X86-LABEL: uitofp_i64:
887 ; X86: # %bb.0: # %entry
888 ; X86-NEXT: pushl %edi
889 ; X86-NEXT: pushl %esi
890 ; X86-NEXT: subl $20, %esp
891 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
892 ; X86-NEXT: subl $4, %esp
893 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
894 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
895 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
896 ; X86-NEXT: pushl %eax
897 ; X86-NEXT: calll __floatunditf
898 ; X86-NEXT: addl $12, %esp
899 ; X86-NEXT: movl (%esp), %eax
900 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
901 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
902 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
903 ; X86-NEXT: movl %edi, 8(%esi)
904 ; X86-NEXT: movl %edx, 12(%esi)
905 ; X86-NEXT: movl %eax, (%esi)
906 ; X86-NEXT: movl %ecx, 4(%esi)
907 ; X86-NEXT: movl %esi, %eax
908 ; X86-NEXT: addl $20, %esp
909 ; X86-NEXT: popl %esi
910 ; X86-NEXT: popl %edi
911 ; X86-NEXT: retl $4
913 …ntal.constrained.uitofp.f128.i64(i64 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
919 ; X64: # %bb.0: # %entry
925 ; X86-LABEL: uitofp_i128:
926 ; X86: # %bb.0: # %entry
927 ; X86-NEXT: pushl %edi
928 ; X86-NEXT: pushl %esi
929 ; X86-NEXT: subl $20, %esp
930 ; X86-NEXT: movl {{[0-9]+}}(%esp), %esi
931 ; X86-NEXT: subl $12, %esp
932 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
933 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
934 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
935 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
936 ; X86-NEXT: pushl {{[0-9]+}}(%esp)
937 ; X86-NEXT: pushl %eax
938 ; X86-NEXT: calll __floatuntitf
939 ; X86-NEXT: addl $28, %esp
940 ; X86-NEXT: movl (%esp), %eax
941 ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
942 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edx
943 ; X86-NEXT: movl {{[0-9]+}}(%esp), %edi
944 ; X86-NEXT: movl %edi, 8(%esi)
945 ; X86-NEXT: movl %edx, 12(%esi)
946 ; X86-NEXT: movl %eax, (%esi)
947 ; X86-NEXT: movl %ecx, 4(%esi)
948 ; X86-NEXT: movl %esi, %eax
949 ; X86-NEXT: addl $20, %esp
950 ; X86-NEXT: popl %esi
951 ; X86-NEXT: popl %edi
952 ; X86-NEXT: retl $4
954 …al.constrained.uitofp.f128.i128(i128 %x, metadata !"round.dynamic", metadata !"fpexcept.strict") #0
958 attributes #0 = { strictfp }