Lines Matching +full:0 +full:x87
24 …llc < %s -mtriple=i386-pc-windows-msvc -mattr=-sse | FileCheck %s --check-prefixes=X87,X87-WIN
25 …llc < %s -mtriple=i386-unknown-linux-gnu -mattr=-sse | FileCheck %s --check-prefixes=X87,X87-LIN
32 ; X86-AVX512: # %bb.0:
33 ; X86-AVX512-NEXT: vcvttss2usi {{[0-9]+}}(%esp), %eax
37 ; X64-AVX512: # %bb.0:
42 ; X86-SSE3-WIN: # %bb.0:
47 ; X86-SSE3-WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
57 ; X86-SSE3-LIN: # %bb.0:
59 ; X86-SSE3-LIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
68 ; X64-SSE: # %bb.0:
74 ; X86-SSE2: # %bb.0:
75 ; X86-SSE2-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
76 ; X86-SSE2-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
80 ; X86-SSE2-NEXT: xorl $-2147483648, %ecx # imm = 0x80000000
87 ; X86-SSE1: # %bb.0:
88 ; X86-SSE1-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
89 ; X86-SSE1-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
93 ; X86-SSE1-NEXT: xorl $-2147483648, %ecx # imm = 0x80000000
99 ; X87-WIN-LABEL: f_to_u32:
100 ; X87-WIN: # %bb.0:
101 ; X87-WIN-NEXT: pushl %ebp
102 ; X87-WIN-NEXT: movl %esp, %ebp
103 ; X87-WIN-NEXT: andl $-8, %esp
104 ; X87-WIN-NEXT: subl $16, %esp
105 ; X87-WIN-NEXT: flds 8(%ebp)
106 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
107 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
108 ; X87-WIN-NEXT: orl $3072, %eax # imm = 0xC00
109 ; X87-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
110 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
111 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
112 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
113 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
114 ; X87-WIN-NEXT: movl %ebp, %esp
115 ; X87-WIN-NEXT: popl %ebp
116 ; X87-WIN-NEXT: retl
118 ; X87-LIN-LABEL: f_to_u32:
119 ; X87-LIN: # %bb.0:
120 ; X87-LIN-NEXT: subl $20, %esp
121 ; X87-LIN-NEXT: flds {{[0-9]+}}(%esp)
122 ; X87-LIN-NEXT: fnstcw {{[0-9]+}}(%esp)
123 ; X87-LIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
124 ; X87-LIN-NEXT: orl $3072, %eax # imm = 0xC00
125 ; X87-LIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
126 ; X87-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
127 ; X87-LIN-NEXT: fistpll {{[0-9]+}}(%esp)
128 ; X87-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
129 ; X87-LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
130 ; X87-LIN-NEXT: addl $20, %esp
131 ; X87-LIN-NEXT: retl
138 ; X86-AVX512: # %bb.0:
139 ; X86-AVX512-NEXT: vcvttss2si {{[0-9]+}}(%esp), %eax
143 ; X64-AVX512: # %bb.0:
148 ; X86-SSE: # %bb.0:
149 ; X86-SSE-NEXT: cvttss2si {{[0-9]+}}(%esp), %eax
153 ; X64-SSE: # %bb.0:
157 ; X87-LABEL: f_to_s32:
158 ; X87: # %bb.0:
159 ; X87-NEXT: subl $8, %esp
160 ; X87-NEXT: flds {{[0-9]+}}(%esp)
161 ; X87-NEXT: fnstcw (%esp)
162 ; X87-NEXT: movzwl (%esp), %eax
163 ; X87-NEXT: orl $3072, %eax # imm = 0xC00
164 ; X87-NEXT: movw %ax, {{[0-9]+}}(%esp)
165 ; X87-NEXT: fldcw {{[0-9]+}}(%esp)
166 ; X87-NEXT: fistpl {{[0-9]+}}(%esp)
167 ; X87-NEXT: fldcw (%esp)
168 ; X87-NEXT: movl {{[0-9]+}}(%esp), %eax
169 ; X87-NEXT: addl $8, %esp
170 ; X87-NEXT: retl
177 ; X86-AVX512: # %bb.0:
178 ; X86-AVX512-NEXT: vcvttsd2usi {{[0-9]+}}(%esp), %eax
182 ; X64-AVX512: # %bb.0:
187 ; X86-SSE3-WIN: # %bb.0:
192 ; X86-SSE3-WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
202 ; X86-SSE3-LIN: # %bb.0:
204 ; X86-SSE3-LIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
213 ; X64-SSE: # %bb.0:
219 ; X86-SSE2: # %bb.0:
220 ; X86-SSE2-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
221 ; X86-SSE2-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
225 ; X86-SSE2-NEXT: xorl $-2147483648, %ecx # imm = 0x80000000
232 ; X86-SSE1-WIN: # %bb.0:
238 ; X86-SSE1-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
239 ; X86-SSE1-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
240 ; X86-SSE1-WIN-NEXT: orl $3072, %eax # imm = 0xC00
241 ; X86-SSE1-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
242 ; X86-SSE1-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
243 ; X86-SSE1-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
244 ; X86-SSE1-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
245 ; X86-SSE1-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
251 ; X86-SSE1-LIN: # %bb.0:
253 ; X86-SSE1-LIN-NEXT: fldl {{[0-9]+}}(%esp)
254 ; X86-SSE1-LIN-NEXT: fnstcw {{[0-9]+}}(%esp)
255 ; X86-SSE1-LIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
256 ; X86-SSE1-LIN-NEXT: orl $3072, %eax # imm = 0xC00
257 ; X86-SSE1-LIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
258 ; X86-SSE1-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
259 ; X86-SSE1-LIN-NEXT: fistpll {{[0-9]+}}(%esp)
260 ; X86-SSE1-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
261 ; X86-SSE1-LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
265 ; X87-WIN-LABEL: d_to_u32:
266 ; X87-WIN: # %bb.0:
267 ; X87-WIN-NEXT: pushl %ebp
268 ; X87-WIN-NEXT: movl %esp, %ebp
269 ; X87-WIN-NEXT: andl $-8, %esp
270 ; X87-WIN-NEXT: subl $16, %esp
271 ; X87-WIN-NEXT: fldl 8(%ebp)
272 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
273 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
274 ; X87-WIN-NEXT: orl $3072, %eax # imm = 0xC00
275 ; X87-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
276 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
277 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
278 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
279 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
280 ; X87-WIN-NEXT: movl %ebp, %esp
281 ; X87-WIN-NEXT: popl %ebp
282 ; X87-WIN-NEXT: retl
284 ; X87-LIN-LABEL: d_to_u32:
285 ; X87-LIN: # %bb.0:
286 ; X87-LIN-NEXT: subl $20, %esp
287 ; X87-LIN-NEXT: fldl {{[0-9]+}}(%esp)
288 ; X87-LIN-NEXT: fnstcw {{[0-9]+}}(%esp)
289 ; X87-LIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
290 ; X87-LIN-NEXT: orl $3072, %eax # imm = 0xC00
291 ; X87-LIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
292 ; X87-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
293 ; X87-LIN-NEXT: fistpll {{[0-9]+}}(%esp)
294 ; X87-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
295 ; X87-LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
296 ; X87-LIN-NEXT: addl $20, %esp
297 ; X87-LIN-NEXT: retl
304 ; X86-AVX512: # %bb.0:
305 ; X86-AVX512-NEXT: vcvttsd2si {{[0-9]+}}(%esp), %eax
309 ; X64-AVX512: # %bb.0:
314 ; X86-SSE3: # %bb.0:
315 ; X86-SSE3-NEXT: cvttsd2si {{[0-9]+}}(%esp), %eax
319 ; X64-SSE: # %bb.0:
324 ; X86-SSE2: # %bb.0:
325 ; X86-SSE2-NEXT: cvttsd2si {{[0-9]+}}(%esp), %eax
329 ; X86-SSE1: # %bb.0:
331 ; X86-SSE1-NEXT: fldl {{[0-9]+}}(%esp)
334 ; X86-SSE1-NEXT: orl $3072, %eax # imm = 0xC00
335 ; X86-SSE1-NEXT: movw %ax, {{[0-9]+}}(%esp)
336 ; X86-SSE1-NEXT: fldcw {{[0-9]+}}(%esp)
337 ; X86-SSE1-NEXT: fistpl {{[0-9]+}}(%esp)
339 ; X86-SSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
343 ; X87-LABEL: d_to_s32:
344 ; X87: # %bb.0:
345 ; X87-NEXT: subl $8, %esp
346 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
347 ; X87-NEXT: fnstcw (%esp)
348 ; X87-NEXT: movzwl (%esp), %eax
349 ; X87-NEXT: orl $3072, %eax # imm = 0xC00
350 ; X87-NEXT: movw %ax, {{[0-9]+}}(%esp)
351 ; X87-NEXT: fldcw {{[0-9]+}}(%esp)
352 ; X87-NEXT: fistpl {{[0-9]+}}(%esp)
353 ; X87-NEXT: fldcw (%esp)
354 ; X87-NEXT: movl {{[0-9]+}}(%esp), %eax
355 ; X87-NEXT: addl $8, %esp
356 ; X87-NEXT: retl
363 ; X86-AVX512-WIN: # %bb.0:
376 ; X86-AVX512-LIN: # %bb.0:
378 ; X86-AVX512-LIN-NEXT: fldt {{[0-9]+}}(%esp)
385 ; X64-AVX512-WIN: # %bb.0:
394 ; X64-AVX512-LIN: # %bb.0:
395 ; X64-AVX512-LIN-NEXT: fldt {{[0-9]+}}(%rsp)
396 ; X64-AVX512-LIN-NEXT: fisttpll -{{[0-9]+}}(%rsp)
397 ; X64-AVX512-LIN-NEXT: movl -{{[0-9]+}}(%rsp), %eax
401 ; X86-SSE3-WIN: # %bb.0:
414 ; X86-SSE3-LIN: # %bb.0:
416 ; X86-SSE3-LIN-NEXT: fldt {{[0-9]+}}(%esp)
423 ; X64-SSE3-WIN: # %bb.0:
432 ; X64-SSE3-LIN: # %bb.0:
433 ; X64-SSE3-LIN-NEXT: fldt {{[0-9]+}}(%rsp)
434 ; X64-SSE3-LIN-NEXT: fisttpll -{{[0-9]+}}(%rsp)
435 ; X64-SSE3-LIN-NEXT: movl -{{[0-9]+}}(%rsp), %eax
439 ; X86-SSE2-WIN: # %bb.0:
445 ; X86-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
446 ; X86-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
447 ; X86-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
448 ; X86-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
449 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
450 ; X86-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
451 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
452 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
458 ; X86-SSE2-LIN: # %bb.0:
460 ; X86-SSE2-LIN-NEXT: fldt {{[0-9]+}}(%esp)
461 ; X86-SSE2-LIN-NEXT: fnstcw {{[0-9]+}}(%esp)
462 ; X86-SSE2-LIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
463 ; X86-SSE2-LIN-NEXT: orl $3072, %eax # imm = 0xC00
464 ; X86-SSE2-LIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
465 ; X86-SSE2-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
466 ; X86-SSE2-LIN-NEXT: fistpll {{[0-9]+}}(%esp)
467 ; X86-SSE2-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
468 ; X86-SSE2-LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
473 ; X64-SSE2-WIN: # %bb.0:
476 ; X64-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%rsp)
477 ; X64-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%rsp), %eax
478 ; X64-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
479 ; X64-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%rsp)
480 ; X64-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%rsp)
481 ; X64-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%rsp)
482 ; X64-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%rsp)
483 ; X64-SSE2-WIN-NEXT: movl {{[0-9]+}}(%rsp), %eax
488 ; X64-SSE2-LIN: # %bb.0:
489 ; X64-SSE2-LIN-NEXT: fldt {{[0-9]+}}(%rsp)
490 ; X64-SSE2-LIN-NEXT: fnstcw -{{[0-9]+}}(%rsp)
491 ; X64-SSE2-LIN-NEXT: movzwl -{{[0-9]+}}(%rsp), %eax
492 ; X64-SSE2-LIN-NEXT: orl $3072, %eax # imm = 0xC00
493 ; X64-SSE2-LIN-NEXT: movw %ax, -{{[0-9]+}}(%rsp)
494 ; X64-SSE2-LIN-NEXT: fldcw -{{[0-9]+}}(%rsp)
495 ; X64-SSE2-LIN-NEXT: fistpll -{{[0-9]+}}(%rsp)
496 ; X64-SSE2-LIN-NEXT: fldcw -{{[0-9]+}}(%rsp)
497 ; X64-SSE2-LIN-NEXT: movl -{{[0-9]+}}(%rsp), %eax
501 ; X86-SSE1-WIN: # %bb.0:
507 ; X86-SSE1-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
508 ; X86-SSE1-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
509 ; X86-SSE1-WIN-NEXT: orl $3072, %eax # imm = 0xC00
510 ; X86-SSE1-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
511 ; X86-SSE1-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
512 ; X86-SSE1-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
513 ; X86-SSE1-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
514 ; X86-SSE1-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
520 ; X86-SSE1-LIN: # %bb.0:
522 ; X86-SSE1-LIN-NEXT: fldt {{[0-9]+}}(%esp)
523 ; X86-SSE1-LIN-NEXT: fnstcw {{[0-9]+}}(%esp)
524 ; X86-SSE1-LIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
525 ; X86-SSE1-LIN-NEXT: orl $3072, %eax # imm = 0xC00
526 ; X86-SSE1-LIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
527 ; X86-SSE1-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
528 ; X86-SSE1-LIN-NEXT: fistpll {{[0-9]+}}(%esp)
529 ; X86-SSE1-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
530 ; X86-SSE1-LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
534 ; X87-WIN-LABEL: x_to_u32:
535 ; X87-WIN: # %bb.0:
536 ; X87-WIN-NEXT: pushl %ebp
537 ; X87-WIN-NEXT: movl %esp, %ebp
538 ; X87-WIN-NEXT: andl $-8, %esp
539 ; X87-WIN-NEXT: subl $16, %esp
540 ; X87-WIN-NEXT: fldt 8(%ebp)
541 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
542 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
543 ; X87-WIN-NEXT: orl $3072, %eax # imm = 0xC00
544 ; X87-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
545 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
546 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
547 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
548 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
549 ; X87-WIN-NEXT: movl %ebp, %esp
550 ; X87-WIN-NEXT: popl %ebp
551 ; X87-WIN-NEXT: retl
553 ; X87-LIN-LABEL: x_to_u32:
554 ; X87-LIN: # %bb.0:
555 ; X87-LIN-NEXT: subl $20, %esp
556 ; X87-LIN-NEXT: fldt {{[0-9]+}}(%esp)
557 ; X87-LIN-NEXT: fnstcw {{[0-9]+}}(%esp)
558 ; X87-LIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
559 ; X87-LIN-NEXT: orl $3072, %eax # imm = 0xC00
560 ; X87-LIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
561 ; X87-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
562 ; X87-LIN-NEXT: fistpll {{[0-9]+}}(%esp)
563 ; X87-LIN-NEXT: fldcw {{[0-9]+}}(%esp)
564 ; X87-LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
565 ; X87-LIN-NEXT: addl $20, %esp
566 ; X87-LIN-NEXT: retl
573 ; X86-AVX512: # %bb.0:
575 ; X86-AVX512-NEXT: fldt {{[0-9]+}}(%esp)
582 ; X64-AVX512-WIN: # %bb.0:
585 ; X64-AVX512-WIN-NEXT: fisttpl {{[0-9]+}}(%rsp)
586 ; X64-AVX512-WIN-NEXT: movl {{[0-9]+}}(%rsp), %eax
591 ; X64-AVX512-LIN: # %bb.0:
592 ; X64-AVX512-LIN-NEXT: fldt {{[0-9]+}}(%rsp)
593 ; X64-AVX512-LIN-NEXT: fisttpl -{{[0-9]+}}(%rsp)
594 ; X64-AVX512-LIN-NEXT: movl -{{[0-9]+}}(%rsp), %eax
598 ; X86-SSE3: # %bb.0:
600 ; X86-SSE3-NEXT: fldt {{[0-9]+}}(%esp)
607 ; X64-SSE3-WIN: # %bb.0:
610 ; X64-SSE3-WIN-NEXT: fisttpl {{[0-9]+}}(%rsp)
611 ; X64-SSE3-WIN-NEXT: movl {{[0-9]+}}(%rsp), %eax
616 ; X64-SSE3-LIN: # %bb.0:
617 ; X64-SSE3-LIN-NEXT: fldt {{[0-9]+}}(%rsp)
618 ; X64-SSE3-LIN-NEXT: fisttpl -{{[0-9]+}}(%rsp)
619 ; X64-SSE3-LIN-NEXT: movl -{{[0-9]+}}(%rsp), %eax
623 ; X86-SSE2: # %bb.0:
625 ; X86-SSE2-NEXT: fldt {{[0-9]+}}(%esp)
628 ; X86-SSE2-NEXT: orl $3072, %eax # imm = 0xC00
629 ; X86-SSE2-NEXT: movw %ax, {{[0-9]+}}(%esp)
630 ; X86-SSE2-NEXT: fldcw {{[0-9]+}}(%esp)
631 ; X86-SSE2-NEXT: fistpl {{[0-9]+}}(%esp)
633 ; X86-SSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
638 ; X64-SSE2-WIN: # %bb.0:
643 ; X64-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
644 ; X64-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%rsp)
645 ; X64-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%rsp)
646 ; X64-SSE2-WIN-NEXT: fistpl {{[0-9]+}}(%rsp)
648 ; X64-SSE2-WIN-NEXT: movl {{[0-9]+}}(%rsp), %eax
653 ; X64-SSE2-LIN: # %bb.0:
654 ; X64-SSE2-LIN-NEXT: fldt {{[0-9]+}}(%rsp)
655 ; X64-SSE2-LIN-NEXT: fnstcw -{{[0-9]+}}(%rsp)
656 ; X64-SSE2-LIN-NEXT: movzwl -{{[0-9]+}}(%rsp), %eax
657 ; X64-SSE2-LIN-NEXT: orl $3072, %eax # imm = 0xC00
658 ; X64-SSE2-LIN-NEXT: movw %ax, -{{[0-9]+}}(%rsp)
659 ; X64-SSE2-LIN-NEXT: fldcw -{{[0-9]+}}(%rsp)
660 ; X64-SSE2-LIN-NEXT: fistpl -{{[0-9]+}}(%rsp)
661 ; X64-SSE2-LIN-NEXT: fldcw -{{[0-9]+}}(%rsp)
662 ; X64-SSE2-LIN-NEXT: movl -{{[0-9]+}}(%rsp), %eax
666 ; X86-SSE1: # %bb.0:
668 ; X86-SSE1-NEXT: fldt {{[0-9]+}}(%esp)
671 ; X86-SSE1-NEXT: orl $3072, %eax # imm = 0xC00
672 ; X86-SSE1-NEXT: movw %ax, {{[0-9]+}}(%esp)
673 ; X86-SSE1-NEXT: fldcw {{[0-9]+}}(%esp)
674 ; X86-SSE1-NEXT: fistpl {{[0-9]+}}(%esp)
676 ; X86-SSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
680 ; X87-LABEL: x_to_s32:
681 ; X87: # %bb.0:
682 ; X87-NEXT: subl $8, %esp
683 ; X87-NEXT: fldt {{[0-9]+}}(%esp)
684 ; X87-NEXT: fnstcw (%esp)
685 ; X87-NEXT: movzwl (%esp), %eax
686 ; X87-NEXT: orl $3072, %eax # imm = 0xC00
687 ; X87-NEXT: movw %ax, {{[0-9]+}}(%esp)
688 ; X87-NEXT: fldcw {{[0-9]+}}(%esp)
689 ; X87-NEXT: fistpl {{[0-9]+}}(%esp)
690 ; X87-NEXT: fldcw (%esp)
691 ; X87-NEXT: movl {{[0-9]+}}(%esp), %eax
692 ; X87-NEXT: addl $8, %esp
693 ; X87-NEXT: retl
700 ; X86-AVX512-WIN: # %bb.0:
702 ; X86-AVX512-WIN-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0
709 ; X86-AVX512-LIN: # %bb.0:
711 ; X86-AVX512-LIN-NEXT: vmovaps {{[0-9]+}}(%esp), %xmm0
718 ; X64-AVX512-WIN: # %bb.0:
725 ; X64-AVX512-LIN: # %bb.0:
732 ; X86-SSE-WIN: # %bb.0:
733 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
734 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
735 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
736 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
742 ; X86-SSE-LIN: # %bb.0:
744 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
745 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
746 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
747 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
753 ; X64-SSE-WIN: # %bb.0:
760 ; X64-SSE-LIN: # %bb.0:
766 ; X87-WIN-LABEL: t_to_u32:
767 ; X87-WIN: # %bb.0:
768 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
769 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
770 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
771 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
772 ; X87-WIN-NEXT: calll ___fixunstfsi
773 ; X87-WIN-NEXT: addl $16, %esp
774 ; X87-WIN-NEXT: retl
776 ; X87-LIN-LABEL: t_to_u32:
777 ; X87-LIN: # %bb.0:
778 ; X87-LIN-NEXT: subl $12, %esp
779 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
780 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
781 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
782 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
783 ; X87-LIN-NEXT: calll __fixunstfsi
784 ; X87-LIN-NEXT: addl $28, %esp
785 ; X87-LIN-NEXT: retl
792 ; X86-AVX512-WIN: # %bb.0:
794 ; X86-AVX512-WIN-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0
801 ; X86-AVX512-LIN: # %bb.0:
803 ; X86-AVX512-LIN-NEXT: vmovaps {{[0-9]+}}(%esp), %xmm0
810 ; X64-AVX512-WIN: # %bb.0:
817 ; X64-AVX512-LIN: # %bb.0:
824 ; X86-SSE-WIN: # %bb.0:
825 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
826 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
827 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
828 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
834 ; X86-SSE-LIN: # %bb.0:
836 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
837 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
838 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
839 ; X86-SSE-LIN-NEXT: pushl {{[0-9]+}}(%esp)
845 ; X64-SSE-WIN: # %bb.0:
852 ; X64-SSE-LIN: # %bb.0:
858 ; X87-WIN-LABEL: t_to_s32:
859 ; X87-WIN: # %bb.0:
860 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
861 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
862 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
863 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
864 ; X87-WIN-NEXT: calll ___fixtfsi
865 ; X87-WIN-NEXT: addl $16, %esp
866 ; X87-WIN-NEXT: retl
868 ; X87-LIN-LABEL: t_to_s32:
869 ; X87-LIN: # %bb.0:
870 ; X87-LIN-NEXT: subl $12, %esp
871 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
872 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
873 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
874 ; X87-LIN-NEXT: pushl {{[0-9]+}}(%esp)
875 ; X87-LIN-NEXT: calll __fixtfsi
876 ; X87-LIN-NEXT: addl $28, %esp
877 ; X87-LIN-NEXT: retl