• Home
  • Raw
  • Download

Lines Matching refs:WIN

2 …FileCheck %s --check-prefixes=CHECK,X86,X86-AVX512,X86-AVX512DQVL,X86-AVX512-WIN,X86-AVX512DQVL-WIN
4 …FileCheck %s --check-prefixes=CHECK,X64,X64-AVX512,X64-AVX512DQVL,X64-AVX512-WIN,X64-AVX512DQVL-WIN
6 …q | FileCheck %s --check-prefixes=CHECK,X86,X86-AVX512,X86-AVX512DQ,X86-AVX512-WIN,X86-AVX512DQ-WIN
8 …q | FileCheck %s --check-prefixes=CHECK,X64,X64-AVX512,X64-AVX512DQ,X64-AVX512-WIN,X64-AVX512DQ-WIN
10 …12f | FileCheck %s --check-prefixes=CHECK,X86,X86-AVX512,X86-AVX512F,X86-AVX512-WIN,X86-AVX512F-WIN
12 …12f | FileCheck %s --check-prefixes=CHECK,X64,X64-AVX512,X64-AVX512F,X64-AVX512-WIN,X64-AVX512F-WIN
14 … -mattr=+sse3 | FileCheck %s --check-prefixes=CHECK,X86,X86-SSE,X86-SSE3,X86-SSE-WIN,X86-SSE3-WIN
16 … -mattr=+sse3 | FileCheck %s --check-prefixes=CHECK,X64,X64-SSE,X64-SSE3,X64-SSE-WIN,X64-SSE3-WIN
18 … -mattr=+sse2 | FileCheck %s --check-prefixes=CHECK,X86,X86-SSE,X86-SSE2,X86-SSE-WIN,X86-SSE2-WIN
20 … -mattr=+sse2 | FileCheck %s --check-prefixes=CHECK,X64,X64-SSE,X64-SSE2,X64-SSE-WIN,X64-SSE2-WIN
22 …mtriple=i386-pc-windows-msvc -mattr=-sse | FileCheck %s --check-prefixes=CHECK,X86,X87,X87-WIN
64 ; X86-AVX512F-WIN-LABEL: f_to_u64:
65 ; X86-AVX512F-WIN: # %bb.0:
66 ; X86-AVX512F-WIN-NEXT: pushl %ebp
67 ; X86-AVX512F-WIN-NEXT: movl %esp, %ebp
68 ; X86-AVX512F-WIN-NEXT: andl $-8, %esp
69 ; X86-AVX512F-WIN-NEXT: subl $8, %esp
70 ; X86-AVX512F-WIN-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
71 ; X86-AVX512F-WIN-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
72 ; X86-AVX512F-WIN-NEXT: xorl %edx, %edx
73 ; X86-AVX512F-WIN-NEXT: vucomiss %xmm0, %xmm1
74 ; X86-AVX512F-WIN-NEXT: setbe %dl
75 ; X86-AVX512F-WIN-NEXT: kmovw %edx, %k1
76 ; X86-AVX512F-WIN-NEXT: vmovss %xmm1, %xmm1, %xmm1 {%k1} {z}
77 ; X86-AVX512F-WIN-NEXT: vsubss %xmm1, %xmm0, %xmm0
78 ; X86-AVX512F-WIN-NEXT: vmovss %xmm0, (%esp)
79 ; X86-AVX512F-WIN-NEXT: flds (%esp)
80 ; X86-AVX512F-WIN-NEXT: fisttpll (%esp)
81 ; X86-AVX512F-WIN-NEXT: shll $31, %edx
82 ; X86-AVX512F-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
83 ; X86-AVX512F-WIN-NEXT: movl (%esp), %eax
84 ; X86-AVX512F-WIN-NEXT: movl %ebp, %esp
85 ; X86-AVX512F-WIN-NEXT: popl %ebp
86 ; X86-AVX512F-WIN-NEXT: retl
108 ; X86-SSE3-WIN-LABEL: f_to_u64:
109 ; X86-SSE3-WIN: # %bb.0:
110 ; X86-SSE3-WIN-NEXT: pushl %ebp
111 ; X86-SSE3-WIN-NEXT: movl %esp, %ebp
112 ; X86-SSE3-WIN-NEXT: andl $-8, %esp
113 ; X86-SSE3-WIN-NEXT: subl $8, %esp
114 ; X86-SSE3-WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
115 ; X86-SSE3-WIN-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
116 ; X86-SSE3-WIN-NEXT: ucomiss %xmm0, %xmm1
117 ; X86-SSE3-WIN-NEXT: jbe LBB0_2
118 ; X86-SSE3-WIN-NEXT: # %bb.1:
119 ; X86-SSE3-WIN-NEXT: xorps %xmm1, %xmm1
120 ; X86-SSE3-WIN-NEXT: LBB0_2:
121 ; X86-SSE3-WIN-NEXT: subss %xmm1, %xmm0
122 ; X86-SSE3-WIN-NEXT: movss %xmm0, (%esp)
123 ; X86-SSE3-WIN-NEXT: flds (%esp)
124 ; X86-SSE3-WIN-NEXT: fisttpll (%esp)
125 ; X86-SSE3-WIN-NEXT: setbe %al
126 ; X86-SSE3-WIN-NEXT: movzbl %al, %edx
127 ; X86-SSE3-WIN-NEXT: shll $31, %edx
128 ; X86-SSE3-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
129 ; X86-SSE3-WIN-NEXT: movl (%esp), %eax
130 ; X86-SSE3-WIN-NEXT: movl %ebp, %esp
131 ; X86-SSE3-WIN-NEXT: popl %ebp
132 ; X86-SSE3-WIN-NEXT: retl
169 ; X86-SSE2-WIN-LABEL: f_to_u64:
170 ; X86-SSE2-WIN: # %bb.0:
171 ; X86-SSE2-WIN-NEXT: pushl %ebp
172 ; X86-SSE2-WIN-NEXT: movl %esp, %ebp
173 ; X86-SSE2-WIN-NEXT: andl $-8, %esp
174 ; X86-SSE2-WIN-NEXT: subl $16, %esp
175 ; X86-SSE2-WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
176 ; X86-SSE2-WIN-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
177 ; X86-SSE2-WIN-NEXT: ucomiss %xmm0, %xmm1
178 ; X86-SSE2-WIN-NEXT: jbe LBB0_2
179 ; X86-SSE2-WIN-NEXT: # %bb.1:
180 ; X86-SSE2-WIN-NEXT: xorps %xmm1, %xmm1
181 ; X86-SSE2-WIN-NEXT: LBB0_2:
182 ; X86-SSE2-WIN-NEXT: subss %xmm1, %xmm0
183 ; X86-SSE2-WIN-NEXT: movss %xmm0, {{[0-9]+}}(%esp)
184 ; X86-SSE2-WIN-NEXT: setbe %al
185 ; X86-SSE2-WIN-NEXT: flds {{[0-9]+}}(%esp)
186 ; X86-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
187 ; X86-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
188 ; X86-SSE2-WIN-NEXT: orl $3072, %ecx # imm = 0xC00
189 ; X86-SSE2-WIN-NEXT: movw %cx, {{[0-9]+}}(%esp)
190 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
191 ; X86-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
192 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
193 ; X86-SSE2-WIN-NEXT: movzbl %al, %edx
194 ; X86-SSE2-WIN-NEXT: shll $31, %edx
195 ; X86-SSE2-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
196 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
197 ; X86-SSE2-WIN-NEXT: movl %ebp, %esp
198 ; X86-SSE2-WIN-NEXT: popl %ebp
199 ; X86-SSE2-WIN-NEXT: retl
229 ; X87-WIN-LABEL: f_to_u64:
230 ; X87-WIN: # %bb.0:
231 ; X87-WIN-NEXT: pushl %ebp
232 ; X87-WIN-NEXT: movl %esp, %ebp
233 ; X87-WIN-NEXT: andl $-8, %esp
234 ; X87-WIN-NEXT: subl $16, %esp
235 ; X87-WIN-NEXT: flds 8(%ebp)
236 ; X87-WIN-NEXT: flds __real@5f000000
237 ; X87-WIN-NEXT: fucom %st(1)
238 ; X87-WIN-NEXT: fnstsw %ax
239 ; X87-WIN-NEXT: xorl %edx, %edx
240 ; X87-WIN-NEXT: # kill: def $ah killed $ah killed $ax
241 ; X87-WIN-NEXT: sahf
242 ; X87-WIN-NEXT: setbe %al
243 ; X87-WIN-NEXT: fldz
244 ; X87-WIN-NEXT: jbe LBB0_2
245 ; X87-WIN-NEXT: # %bb.1:
246 ; X87-WIN-NEXT: fstp %st(1)
247 ; X87-WIN-NEXT: fldz
248 ; X87-WIN-NEXT: LBB0_2:
249 ; X87-WIN-NEXT: fstp %st(0)
250 ; X87-WIN-NEXT: fsubrp %st, %st(1)
251 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
252 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
253 ; X87-WIN-NEXT: orl $3072, %ecx # imm = 0xC00
254 ; X87-WIN-NEXT: movw %cx, {{[0-9]+}}(%esp)
255 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
256 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
257 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
258 ; X87-WIN-NEXT: movb %al, %dl
259 ; X87-WIN-NEXT: shll $31, %edx
260 ; X87-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
261 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
262 ; X87-WIN-NEXT: movl %ebp, %esp
263 ; X87-WIN-NEXT: popl %ebp
264 ; X87-WIN-NEXT: retl
325 ; X86-AVX512F-WIN-LABEL: f_to_s64:
326 ; X86-AVX512F-WIN: # %bb.0:
327 ; X86-AVX512F-WIN-NEXT: pushl %ebp
328 ; X86-AVX512F-WIN-NEXT: movl %esp, %ebp
329 ; X86-AVX512F-WIN-NEXT: andl $-8, %esp
330 ; X86-AVX512F-WIN-NEXT: subl $8, %esp
331 ; X86-AVX512F-WIN-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
332 ; X86-AVX512F-WIN-NEXT: vmovss %xmm0, (%esp)
333 ; X86-AVX512F-WIN-NEXT: flds (%esp)
334 ; X86-AVX512F-WIN-NEXT: fisttpll (%esp)
335 ; X86-AVX512F-WIN-NEXT: movl (%esp), %eax
336 ; X86-AVX512F-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
337 ; X86-AVX512F-WIN-NEXT: movl %ebp, %esp
338 ; X86-AVX512F-WIN-NEXT: popl %ebp
339 ; X86-AVX512F-WIN-NEXT: retl
353 ; X86-SSE3-WIN-LABEL: f_to_s64:
354 ; X86-SSE3-WIN: # %bb.0:
355 ; X86-SSE3-WIN-NEXT: pushl %ebp
356 ; X86-SSE3-WIN-NEXT: movl %esp, %ebp
357 ; X86-SSE3-WIN-NEXT: andl $-8, %esp
358 ; X86-SSE3-WIN-NEXT: subl $8, %esp
359 ; X86-SSE3-WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
360 ; X86-SSE3-WIN-NEXT: movss %xmm0, (%esp)
361 ; X86-SSE3-WIN-NEXT: flds (%esp)
362 ; X86-SSE3-WIN-NEXT: fisttpll (%esp)
363 ; X86-SSE3-WIN-NEXT: movl (%esp), %eax
364 ; X86-SSE3-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
365 ; X86-SSE3-WIN-NEXT: movl %ebp, %esp
366 ; X86-SSE3-WIN-NEXT: popl %ebp
367 ; X86-SSE3-WIN-NEXT: retl
386 ; X86-SSE2-WIN-LABEL: f_to_s64:
387 ; X86-SSE2-WIN: # %bb.0:
388 ; X86-SSE2-WIN-NEXT: pushl %ebp
389 ; X86-SSE2-WIN-NEXT: movl %esp, %ebp
390 ; X86-SSE2-WIN-NEXT: andl $-8, %esp
391 ; X86-SSE2-WIN-NEXT: subl $16, %esp
392 ; X86-SSE2-WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
393 ; X86-SSE2-WIN-NEXT: movss %xmm0, {{[0-9]+}}(%esp)
394 ; X86-SSE2-WIN-NEXT: flds {{[0-9]+}}(%esp)
395 ; X86-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
396 ; X86-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
397 ; X86-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
398 ; X86-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
399 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
400 ; X86-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
401 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
402 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
403 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
404 ; X86-SSE2-WIN-NEXT: movl %ebp, %esp
405 ; X86-SSE2-WIN-NEXT: popl %ebp
406 ; X86-SSE2-WIN-NEXT: retl
426 ; X87-WIN-LABEL: f_to_s64:
427 ; X87-WIN: # %bb.0:
428 ; X87-WIN-NEXT: pushl %ebp
429 ; X87-WIN-NEXT: movl %esp, %ebp
430 ; X87-WIN-NEXT: andl $-8, %esp
431 ; X87-WIN-NEXT: subl $16, %esp
432 ; X87-WIN-NEXT: flds 8(%ebp)
433 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
434 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
435 ; X87-WIN-NEXT: orl $3072, %eax # imm = 0xC00
436 ; X87-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
437 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
438 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
439 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
440 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
441 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
442 ; X87-WIN-NEXT: movl %ebp, %esp
443 ; X87-WIN-NEXT: popl %ebp
444 ; X87-WIN-NEXT: retl
488 ; X86-AVX512F-WIN-LABEL: d_to_u64:
489 ; X86-AVX512F-WIN: # %bb.0:
490 ; X86-AVX512F-WIN-NEXT: pushl %ebp
491 ; X86-AVX512F-WIN-NEXT: movl %esp, %ebp
492 ; X86-AVX512F-WIN-NEXT: andl $-8, %esp
493 ; X86-AVX512F-WIN-NEXT: subl $8, %esp
494 ; X86-AVX512F-WIN-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
495 ; X86-AVX512F-WIN-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
496 ; X86-AVX512F-WIN-NEXT: xorl %edx, %edx
497 ; X86-AVX512F-WIN-NEXT: vucomisd %xmm0, %xmm1
498 ; X86-AVX512F-WIN-NEXT: setbe %dl
499 ; X86-AVX512F-WIN-NEXT: kmovw %edx, %k1
500 ; X86-AVX512F-WIN-NEXT: vmovsd %xmm1, %xmm1, %xmm1 {%k1} {z}
501 ; X86-AVX512F-WIN-NEXT: vsubsd %xmm1, %xmm0, %xmm0
502 ; X86-AVX512F-WIN-NEXT: vmovsd %xmm0, (%esp)
503 ; X86-AVX512F-WIN-NEXT: fldl (%esp)
504 ; X86-AVX512F-WIN-NEXT: fisttpll (%esp)
505 ; X86-AVX512F-WIN-NEXT: shll $31, %edx
506 ; X86-AVX512F-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
507 ; X86-AVX512F-WIN-NEXT: movl (%esp), %eax
508 ; X86-AVX512F-WIN-NEXT: movl %ebp, %esp
509 ; X86-AVX512F-WIN-NEXT: popl %ebp
510 ; X86-AVX512F-WIN-NEXT: retl
532 ; X86-SSE3-WIN-LABEL: d_to_u64:
533 ; X86-SSE3-WIN: # %bb.0:
534 ; X86-SSE3-WIN-NEXT: pushl %ebp
535 ; X86-SSE3-WIN-NEXT: movl %esp, %ebp
536 ; X86-SSE3-WIN-NEXT: andl $-8, %esp
537 ; X86-SSE3-WIN-NEXT: subl $8, %esp
538 ; X86-SSE3-WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
539 ; X86-SSE3-WIN-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
540 ; X86-SSE3-WIN-NEXT: ucomisd %xmm0, %xmm1
541 ; X86-SSE3-WIN-NEXT: jbe LBB2_2
542 ; X86-SSE3-WIN-NEXT: # %bb.1:
543 ; X86-SSE3-WIN-NEXT: xorpd %xmm1, %xmm1
544 ; X86-SSE3-WIN-NEXT: LBB2_2:
545 ; X86-SSE3-WIN-NEXT: subsd %xmm1, %xmm0
546 ; X86-SSE3-WIN-NEXT: movsd %xmm0, (%esp)
547 ; X86-SSE3-WIN-NEXT: fldl (%esp)
548 ; X86-SSE3-WIN-NEXT: fisttpll (%esp)
549 ; X86-SSE3-WIN-NEXT: setbe %al
550 ; X86-SSE3-WIN-NEXT: movzbl %al, %edx
551 ; X86-SSE3-WIN-NEXT: shll $31, %edx
552 ; X86-SSE3-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
553 ; X86-SSE3-WIN-NEXT: movl (%esp), %eax
554 ; X86-SSE3-WIN-NEXT: movl %ebp, %esp
555 ; X86-SSE3-WIN-NEXT: popl %ebp
556 ; X86-SSE3-WIN-NEXT: retl
593 ; X86-SSE2-WIN-LABEL: d_to_u64:
594 ; X86-SSE2-WIN: # %bb.0:
595 ; X86-SSE2-WIN-NEXT: pushl %ebp
596 ; X86-SSE2-WIN-NEXT: movl %esp, %ebp
597 ; X86-SSE2-WIN-NEXT: andl $-8, %esp
598 ; X86-SSE2-WIN-NEXT: subl $16, %esp
599 ; X86-SSE2-WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
600 ; X86-SSE2-WIN-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
601 ; X86-SSE2-WIN-NEXT: ucomisd %xmm0, %xmm1
602 ; X86-SSE2-WIN-NEXT: jbe LBB2_2
603 ; X86-SSE2-WIN-NEXT: # %bb.1:
604 ; X86-SSE2-WIN-NEXT: xorpd %xmm1, %xmm1
605 ; X86-SSE2-WIN-NEXT: LBB2_2:
606 ; X86-SSE2-WIN-NEXT: subsd %xmm1, %xmm0
607 ; X86-SSE2-WIN-NEXT: movsd %xmm0, {{[0-9]+}}(%esp)
608 ; X86-SSE2-WIN-NEXT: setbe %al
609 ; X86-SSE2-WIN-NEXT: fldl {{[0-9]+}}(%esp)
610 ; X86-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
611 ; X86-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
612 ; X86-SSE2-WIN-NEXT: orl $3072, %ecx # imm = 0xC00
613 ; X86-SSE2-WIN-NEXT: movw %cx, {{[0-9]+}}(%esp)
614 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
615 ; X86-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
616 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
617 ; X86-SSE2-WIN-NEXT: movzbl %al, %edx
618 ; X86-SSE2-WIN-NEXT: shll $31, %edx
619 ; X86-SSE2-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
620 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
621 ; X86-SSE2-WIN-NEXT: movl %ebp, %esp
622 ; X86-SSE2-WIN-NEXT: popl %ebp
623 ; X86-SSE2-WIN-NEXT: retl
653 ; X87-WIN-LABEL: d_to_u64:
654 ; X87-WIN: # %bb.0:
655 ; X87-WIN-NEXT: pushl %ebp
656 ; X87-WIN-NEXT: movl %esp, %ebp
657 ; X87-WIN-NEXT: andl $-8, %esp
658 ; X87-WIN-NEXT: subl $16, %esp
659 ; X87-WIN-NEXT: fldl 8(%ebp)
660 ; X87-WIN-NEXT: flds __real@5f000000
661 ; X87-WIN-NEXT: fucom %st(1)
662 ; X87-WIN-NEXT: fnstsw %ax
663 ; X87-WIN-NEXT: xorl %edx, %edx
664 ; X87-WIN-NEXT: # kill: def $ah killed $ah killed $ax
665 ; X87-WIN-NEXT: sahf
666 ; X87-WIN-NEXT: setbe %al
667 ; X87-WIN-NEXT: fldz
668 ; X87-WIN-NEXT: jbe LBB2_2
669 ; X87-WIN-NEXT: # %bb.1:
670 ; X87-WIN-NEXT: fstp %st(1)
671 ; X87-WIN-NEXT: fldz
672 ; X87-WIN-NEXT: LBB2_2:
673 ; X87-WIN-NEXT: fstp %st(0)
674 ; X87-WIN-NEXT: fsubrp %st, %st(1)
675 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
676 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
677 ; X87-WIN-NEXT: orl $3072, %ecx # imm = 0xC00
678 ; X87-WIN-NEXT: movw %cx, {{[0-9]+}}(%esp)
679 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
680 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
681 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
682 ; X87-WIN-NEXT: movb %al, %dl
683 ; X87-WIN-NEXT: shll $31, %edx
684 ; X87-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
685 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
686 ; X87-WIN-NEXT: movl %ebp, %esp
687 ; X87-WIN-NEXT: popl %ebp
688 ; X87-WIN-NEXT: retl
749 ; X86-AVX512F-WIN-LABEL: d_to_s64:
750 ; X86-AVX512F-WIN: # %bb.0:
751 ; X86-AVX512F-WIN-NEXT: pushl %ebp
752 ; X86-AVX512F-WIN-NEXT: movl %esp, %ebp
753 ; X86-AVX512F-WIN-NEXT: andl $-8, %esp
754 ; X86-AVX512F-WIN-NEXT: subl $8, %esp
755 ; X86-AVX512F-WIN-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
756 ; X86-AVX512F-WIN-NEXT: vmovsd %xmm0, (%esp)
757 ; X86-AVX512F-WIN-NEXT: fldl (%esp)
758 ; X86-AVX512F-WIN-NEXT: fisttpll (%esp)
759 ; X86-AVX512F-WIN-NEXT: movl (%esp), %eax
760 ; X86-AVX512F-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
761 ; X86-AVX512F-WIN-NEXT: movl %ebp, %esp
762 ; X86-AVX512F-WIN-NEXT: popl %ebp
763 ; X86-AVX512F-WIN-NEXT: retl
777 ; X86-SSE3-WIN-LABEL: d_to_s64:
778 ; X86-SSE3-WIN: # %bb.0:
779 ; X86-SSE3-WIN-NEXT: pushl %ebp
780 ; X86-SSE3-WIN-NEXT: movl %esp, %ebp
781 ; X86-SSE3-WIN-NEXT: andl $-8, %esp
782 ; X86-SSE3-WIN-NEXT: subl $8, %esp
783 ; X86-SSE3-WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
784 ; X86-SSE3-WIN-NEXT: movsd %xmm0, (%esp)
785 ; X86-SSE3-WIN-NEXT: fldl (%esp)
786 ; X86-SSE3-WIN-NEXT: fisttpll (%esp)
787 ; X86-SSE3-WIN-NEXT: movl (%esp), %eax
788 ; X86-SSE3-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
789 ; X86-SSE3-WIN-NEXT: movl %ebp, %esp
790 ; X86-SSE3-WIN-NEXT: popl %ebp
791 ; X86-SSE3-WIN-NEXT: retl
810 ; X86-SSE2-WIN-LABEL: d_to_s64:
811 ; X86-SSE2-WIN: # %bb.0:
812 ; X86-SSE2-WIN-NEXT: pushl %ebp
813 ; X86-SSE2-WIN-NEXT: movl %esp, %ebp
814 ; X86-SSE2-WIN-NEXT: andl $-8, %esp
815 ; X86-SSE2-WIN-NEXT: subl $16, %esp
816 ; X86-SSE2-WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
817 ; X86-SSE2-WIN-NEXT: movsd %xmm0, {{[0-9]+}}(%esp)
818 ; X86-SSE2-WIN-NEXT: fldl {{[0-9]+}}(%esp)
819 ; X86-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
820 ; X86-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
821 ; X86-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
822 ; X86-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
823 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
824 ; X86-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
825 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
826 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
827 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
828 ; X86-SSE2-WIN-NEXT: movl %ebp, %esp
829 ; X86-SSE2-WIN-NEXT: popl %ebp
830 ; X86-SSE2-WIN-NEXT: retl
850 ; X87-WIN-LABEL: d_to_s64:
851 ; X87-WIN: # %bb.0:
852 ; X87-WIN-NEXT: pushl %ebp
853 ; X87-WIN-NEXT: movl %esp, %ebp
854 ; X87-WIN-NEXT: andl $-8, %esp
855 ; X87-WIN-NEXT: subl $16, %esp
856 ; X87-WIN-NEXT: fldl 8(%ebp)
857 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
858 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
859 ; X87-WIN-NEXT: orl $3072, %eax # imm = 0xC00
860 ; X87-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
861 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
862 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
863 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
864 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
865 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
866 ; X87-WIN-NEXT: movl %ebp, %esp
867 ; X87-WIN-NEXT: popl %ebp
868 ; X87-WIN-NEXT: retl
890 ; X86-AVX512-WIN-LABEL: x_to_u64:
891 ; X86-AVX512-WIN: # %bb.0:
892 ; X86-AVX512-WIN-NEXT: pushl %ebp
893 ; X86-AVX512-WIN-NEXT: movl %esp, %ebp
894 ; X86-AVX512-WIN-NEXT: andl $-8, %esp
895 ; X86-AVX512-WIN-NEXT: subl $8, %esp
896 ; X86-AVX512-WIN-NEXT: fldt 8(%ebp)
897 ; X86-AVX512-WIN-NEXT: flds __real@5f000000
898 ; X86-AVX512-WIN-NEXT: xorl %edx, %edx
899 ; X86-AVX512-WIN-NEXT: fucomi %st(1), %st
900 ; X86-AVX512-WIN-NEXT: fldz
901 ; X86-AVX512-WIN-NEXT: fcmovbe %st(1), %st
902 ; X86-AVX512-WIN-NEXT: fstp %st(1)
903 ; X86-AVX512-WIN-NEXT: fsubrp %st, %st(1)
904 ; X86-AVX512-WIN-NEXT: fisttpll (%esp)
905 ; X86-AVX512-WIN-NEXT: setbe %dl
906 ; X86-AVX512-WIN-NEXT: shll $31, %edx
907 ; X86-AVX512-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
908 ; X86-AVX512-WIN-NEXT: movl (%esp), %eax
909 ; X86-AVX512-WIN-NEXT: movl %ebp, %esp
910 ; X86-AVX512-WIN-NEXT: popl %ebp
911 ; X86-AVX512-WIN-NEXT: retl
932 ; X64-AVX512-WIN-LABEL: x_to_u64:
933 ; X64-AVX512-WIN: # %bb.0:
934 ; X64-AVX512-WIN-NEXT: pushq %rax
935 ; X64-AVX512-WIN-NEXT: fldt (%rcx)
936 ; X64-AVX512-WIN-NEXT: flds __real@{{.*}}(%rip)
937 ; X64-AVX512-WIN-NEXT: xorl %eax, %eax
938 ; X64-AVX512-WIN-NEXT: fucomi %st(1), %st
939 ; X64-AVX512-WIN-NEXT: fldz
940 ; X64-AVX512-WIN-NEXT: fcmovbe %st(1), %st
941 ; X64-AVX512-WIN-NEXT: fstp %st(1)
942 ; X64-AVX512-WIN-NEXT: fsubrp %st, %st(1)
943 ; X64-AVX512-WIN-NEXT: fisttpll (%rsp)
944 ; X64-AVX512-WIN-NEXT: setbe %al
945 ; X64-AVX512-WIN-NEXT: shlq $63, %rax
946 ; X64-AVX512-WIN-NEXT: xorq (%rsp), %rax
947 ; X64-AVX512-WIN-NEXT: popq %rcx
948 ; X64-AVX512-WIN-NEXT: retq
966 ; X86-SSE3-WIN-LABEL: x_to_u64:
967 ; X86-SSE3-WIN: # %bb.0:
968 ; X86-SSE3-WIN-NEXT: pushl %ebp
969 ; X86-SSE3-WIN-NEXT: movl %esp, %ebp
970 ; X86-SSE3-WIN-NEXT: andl $-8, %esp
971 ; X86-SSE3-WIN-NEXT: subl $8, %esp
972 ; X86-SSE3-WIN-NEXT: fldt 8(%ebp)
973 ; X86-SSE3-WIN-NEXT: flds __real@5f000000
974 ; X86-SSE3-WIN-NEXT: xorl %edx, %edx
975 ; X86-SSE3-WIN-NEXT: fucomi %st(1), %st
976 ; X86-SSE3-WIN-NEXT: fldz
977 ; X86-SSE3-WIN-NEXT: fcmovbe %st(1), %st
978 ; X86-SSE3-WIN-NEXT: fstp %st(1)
979 ; X86-SSE3-WIN-NEXT: fsubrp %st, %st(1)
980 ; X86-SSE3-WIN-NEXT: fisttpll (%esp)
981 ; X86-SSE3-WIN-NEXT: setbe %dl
982 ; X86-SSE3-WIN-NEXT: shll $31, %edx
983 ; X86-SSE3-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
984 ; X86-SSE3-WIN-NEXT: movl (%esp), %eax
985 ; X86-SSE3-WIN-NEXT: movl %ebp, %esp
986 ; X86-SSE3-WIN-NEXT: popl %ebp
987 ; X86-SSE3-WIN-NEXT: retl
1008 ; X64-SSE3-WIN-LABEL: x_to_u64:
1009 ; X64-SSE3-WIN: # %bb.0:
1010 ; X64-SSE3-WIN-NEXT: pushq %rax
1011 ; X64-SSE3-WIN-NEXT: fldt (%rcx)
1012 ; X64-SSE3-WIN-NEXT: flds __real@{{.*}}(%rip)
1013 ; X64-SSE3-WIN-NEXT: xorl %eax, %eax
1014 ; X64-SSE3-WIN-NEXT: fucomi %st(1), %st
1015 ; X64-SSE3-WIN-NEXT: fldz
1016 ; X64-SSE3-WIN-NEXT: fcmovbe %st(1), %st
1017 ; X64-SSE3-WIN-NEXT: fstp %st(1)
1018 ; X64-SSE3-WIN-NEXT: fsubrp %st, %st(1)
1019 ; X64-SSE3-WIN-NEXT: fisttpll (%rsp)
1020 ; X64-SSE3-WIN-NEXT: setbe %al
1021 ; X64-SSE3-WIN-NEXT: shlq $63, %rax
1022 ; X64-SSE3-WIN-NEXT: xorq (%rsp), %rax
1023 ; X64-SSE3-WIN-NEXT: popq %rcx
1024 ; X64-SSE3-WIN-NEXT: retq
1042 ; X86-SSE2-WIN-LABEL: x_to_u64:
1043 ; X86-SSE2-WIN: # %bb.0:
1044 ; X86-SSE2-WIN-NEXT: pushl %ebp
1045 ; X86-SSE2-WIN-NEXT: movl %esp, %ebp
1046 ; X86-SSE2-WIN-NEXT: andl $-8, %esp
1047 ; X86-SSE2-WIN-NEXT: subl $16, %esp
1048 ; X86-SSE2-WIN-NEXT: fldt 8(%ebp)
1049 ; X86-SSE2-WIN-NEXT: flds __real@5f000000
1050 ; X86-SSE2-WIN-NEXT: xorl %edx, %edx
1051 ; X86-SSE2-WIN-NEXT: fucomi %st(1), %st
1052 ; X86-SSE2-WIN-NEXT: setbe %dl
1053 ; X86-SSE2-WIN-NEXT: fldz
1054 ; X86-SSE2-WIN-NEXT: fcmovbe %st(1), %st
1055 ; X86-SSE2-WIN-NEXT: fstp %st(1)
1056 ; X86-SSE2-WIN-NEXT: fsubrp %st, %st(1)
1057 ; X86-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
1058 ; X86-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
1059 ; X86-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
1060 ; X86-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
1061 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1062 ; X86-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
1063 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1064 ; X86-SSE2-WIN-NEXT: shll $31, %edx
1065 ; X86-SSE2-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
1066 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
1067 ; X86-SSE2-WIN-NEXT: movl %ebp, %esp
1068 ; X86-SSE2-WIN-NEXT: popl %ebp
1069 ; X86-SSE2-WIN-NEXT: retl
1096 ; X64-SSE2-WIN-LABEL: x_to_u64:
1097 ; X64-SSE2-WIN: # %bb.0:
1098 ; X64-SSE2-WIN-NEXT: subq $16, %rsp
1099 ; X64-SSE2-WIN-NEXT: fldt (%rcx)
1100 ; X64-SSE2-WIN-NEXT: flds __real@{{.*}}(%rip)
1101 ; X64-SSE2-WIN-NEXT: xorl %eax, %eax
1102 ; X64-SSE2-WIN-NEXT: fucomi %st(1), %st
1103 ; X64-SSE2-WIN-NEXT: setbe %al
1104 ; X64-SSE2-WIN-NEXT: fldz
1105 ; X64-SSE2-WIN-NEXT: fcmovbe %st(1), %st
1106 ; X64-SSE2-WIN-NEXT: fstp %st(1)
1107 ; X64-SSE2-WIN-NEXT: fsubrp %st, %st(1)
1108 ; X64-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%rsp)
1109 ; X64-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%rsp), %ecx
1110 ; X64-SSE2-WIN-NEXT: orl $3072, %ecx # imm = 0xC00
1111 ; X64-SSE2-WIN-NEXT: movw %cx, {{[0-9]+}}(%rsp)
1112 ; X64-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%rsp)
1113 ; X64-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%rsp)
1114 ; X64-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%rsp)
1115 ; X64-SSE2-WIN-NEXT: shlq $63, %rax
1116 ; X64-SSE2-WIN-NEXT: xorq {{[0-9]+}}(%rsp), %rax
1117 ; X64-SSE2-WIN-NEXT: addq $16, %rsp
1118 ; X64-SSE2-WIN-NEXT: retq
1142 ; X87-WIN-LABEL: x_to_u64:
1143 ; X87-WIN: # %bb.0:
1144 ; X87-WIN-NEXT: pushl %ebp
1145 ; X87-WIN-NEXT: movl %esp, %ebp
1146 ; X87-WIN-NEXT: andl $-8, %esp
1147 ; X87-WIN-NEXT: subl $16, %esp
1148 ; X87-WIN-NEXT: fldt 8(%ebp)
1149 ; X87-WIN-NEXT: flds __real@5f000000
1150 ; X87-WIN-NEXT: fucom %st(1)
1151 ; X87-WIN-NEXT: fnstsw %ax
1152 ; X87-WIN-NEXT: xorl %edx, %edx
1153 ; X87-WIN-NEXT: # kill: def $ah killed $ah killed $ax
1154 ; X87-WIN-NEXT: sahf
1155 ; X87-WIN-NEXT: setbe %al
1156 ; X87-WIN-NEXT: fldz
1157 ; X87-WIN-NEXT: jbe LBB4_2
1158 ; X87-WIN-NEXT: # %bb.1:
1159 ; X87-WIN-NEXT: fstp %st(1)
1160 ; X87-WIN-NEXT: fldz
1161 ; X87-WIN-NEXT: LBB4_2:
1162 ; X87-WIN-NEXT: fstp %st(0)
1163 ; X87-WIN-NEXT: fsubrp %st, %st(1)
1164 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
1165 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %ecx
1166 ; X87-WIN-NEXT: orl $3072, %ecx # imm = 0xC00
1167 ; X87-WIN-NEXT: movw %cx, {{[0-9]+}}(%esp)
1168 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1169 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
1170 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1171 ; X87-WIN-NEXT: movb %al, %dl
1172 ; X87-WIN-NEXT: shll $31, %edx
1173 ; X87-WIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
1174 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
1175 ; X87-WIN-NEXT: movl %ebp, %esp
1176 ; X87-WIN-NEXT: popl %ebp
1177 ; X87-WIN-NEXT: retl
1216 ; X86-AVX512-WIN-LABEL: x_to_s64:
1217 ; X86-AVX512-WIN: # %bb.0:
1218 ; X86-AVX512-WIN-NEXT: pushl %ebp
1219 ; X86-AVX512-WIN-NEXT: movl %esp, %ebp
1220 ; X86-AVX512-WIN-NEXT: andl $-8, %esp
1221 ; X86-AVX512-WIN-NEXT: subl $8, %esp
1222 ; X86-AVX512-WIN-NEXT: fldt 8(%ebp)
1223 ; X86-AVX512-WIN-NEXT: fisttpll (%esp)
1224 ; X86-AVX512-WIN-NEXT: movl (%esp), %eax
1225 ; X86-AVX512-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
1226 ; X86-AVX512-WIN-NEXT: movl %ebp, %esp
1227 ; X86-AVX512-WIN-NEXT: popl %ebp
1228 ; X86-AVX512-WIN-NEXT: retl
1240 ; X64-AVX512-WIN-LABEL: x_to_s64:
1241 ; X64-AVX512-WIN: # %bb.0:
1242 ; X64-AVX512-WIN-NEXT: pushq %rax
1243 ; X64-AVX512-WIN-NEXT: fldt (%rcx)
1244 ; X64-AVX512-WIN-NEXT: fisttpll (%rsp)
1245 ; X64-AVX512-WIN-NEXT: movq (%rsp), %rax
1246 ; X64-AVX512-WIN-NEXT: popq %rcx
1247 ; X64-AVX512-WIN-NEXT: retq
1256 ; X86-SSE3-WIN-LABEL: x_to_s64:
1257 ; X86-SSE3-WIN: # %bb.0:
1258 ; X86-SSE3-WIN-NEXT: pushl %ebp
1259 ; X86-SSE3-WIN-NEXT: movl %esp, %ebp
1260 ; X86-SSE3-WIN-NEXT: andl $-8, %esp
1261 ; X86-SSE3-WIN-NEXT: subl $8, %esp
1262 ; X86-SSE3-WIN-NEXT: fldt 8(%ebp)
1263 ; X86-SSE3-WIN-NEXT: fisttpll (%esp)
1264 ; X86-SSE3-WIN-NEXT: movl (%esp), %eax
1265 ; X86-SSE3-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
1266 ; X86-SSE3-WIN-NEXT: movl %ebp, %esp
1267 ; X86-SSE3-WIN-NEXT: popl %ebp
1268 ; X86-SSE3-WIN-NEXT: retl
1280 ; X64-SSE3-WIN-LABEL: x_to_s64:
1281 ; X64-SSE3-WIN: # %bb.0:
1282 ; X64-SSE3-WIN-NEXT: pushq %rax
1283 ; X64-SSE3-WIN-NEXT: fldt (%rcx)
1284 ; X64-SSE3-WIN-NEXT: fisttpll (%rsp)
1285 ; X64-SSE3-WIN-NEXT: movq (%rsp), %rax
1286 ; X64-SSE3-WIN-NEXT: popq %rcx
1287 ; X64-SSE3-WIN-NEXT: retq
1296 ; X86-SSE2-WIN-LABEL: x_to_s64:
1297 ; X86-SSE2-WIN: # %bb.0:
1298 ; X86-SSE2-WIN-NEXT: pushl %ebp
1299 ; X86-SSE2-WIN-NEXT: movl %esp, %ebp
1300 ; X86-SSE2-WIN-NEXT: andl $-8, %esp
1301 ; X86-SSE2-WIN-NEXT: subl $16, %esp
1302 ; X86-SSE2-WIN-NEXT: fldt 8(%ebp)
1303 ; X86-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
1304 ; X86-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
1305 ; X86-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
1306 ; X86-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
1307 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1308 ; X86-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
1309 ; X86-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1310 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
1311 ; X86-SSE2-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
1312 ; X86-SSE2-WIN-NEXT: movl %ebp, %esp
1313 ; X86-SSE2-WIN-NEXT: popl %ebp
1314 ; X86-SSE2-WIN-NEXT: retl
1332 ; X64-SSE2-WIN-LABEL: x_to_s64:
1333 ; X64-SSE2-WIN: # %bb.0:
1334 ; X64-SSE2-WIN-NEXT: subq $16, %rsp
1335 ; X64-SSE2-WIN-NEXT: fldt (%rcx)
1336 ; X64-SSE2-WIN-NEXT: fnstcw {{[0-9]+}}(%rsp)
1337 ; X64-SSE2-WIN-NEXT: movzwl {{[0-9]+}}(%rsp), %eax
1338 ; X64-SSE2-WIN-NEXT: orl $3072, %eax # imm = 0xC00
1339 ; X64-SSE2-WIN-NEXT: movw %ax, {{[0-9]+}}(%rsp)
1340 ; X64-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%rsp)
1341 ; X64-SSE2-WIN-NEXT: fistpll {{[0-9]+}}(%rsp)
1342 ; X64-SSE2-WIN-NEXT: fldcw {{[0-9]+}}(%rsp)
1343 ; X64-SSE2-WIN-NEXT: movq {{[0-9]+}}(%rsp), %rax
1344 ; X64-SSE2-WIN-NEXT: addq $16, %rsp
1345 ; X64-SSE2-WIN-NEXT: retq
1360 ; X87-WIN-LABEL: x_to_s64:
1361 ; X87-WIN: # %bb.0:
1362 ; X87-WIN-NEXT: pushl %ebp
1363 ; X87-WIN-NEXT: movl %esp, %ebp
1364 ; X87-WIN-NEXT: andl $-8, %esp
1365 ; X87-WIN-NEXT: subl $16, %esp
1366 ; X87-WIN-NEXT: fldt 8(%ebp)
1367 ; X87-WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
1368 ; X87-WIN-NEXT: movzwl {{[0-9]+}}(%esp), %eax
1369 ; X87-WIN-NEXT: orl $3072, %eax # imm = 0xC00
1370 ; X87-WIN-NEXT: movw %ax, {{[0-9]+}}(%esp)
1371 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1372 ; X87-WIN-NEXT: fistpll {{[0-9]+}}(%esp)
1373 ; X87-WIN-NEXT: fldcw {{[0-9]+}}(%esp)
1374 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %eax
1375 ; X87-WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
1376 ; X87-WIN-NEXT: movl %ebp, %esp
1377 ; X87-WIN-NEXT: popl %ebp
1378 ; X87-WIN-NEXT: retl
1400 ; X86-AVX512-WIN-LABEL: t_to_u64:
1401 ; X86-AVX512-WIN: # %bb.0:
1402 ; X86-AVX512-WIN-NEXT: subl $16, %esp
1403 ; X86-AVX512-WIN-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0
1404 ; X86-AVX512-WIN-NEXT: vmovups %xmm0, (%esp)
1405 ; X86-AVX512-WIN-NEXT: calll ___fixunstfdi
1406 ; X86-AVX512-WIN-NEXT: addl $16, %esp
1407 ; X86-AVX512-WIN-NEXT: retl
1418 ; X64-AVX512-WIN-LABEL: t_to_u64:
1419 ; X64-AVX512-WIN: # %bb.0:
1420 ; X64-AVX512-WIN-NEXT: subq $40, %rsp
1421 ; X64-AVX512-WIN-NEXT: callq __fixunstfdi
1422 ; X64-AVX512-WIN-NEXT: addq $40, %rsp
1423 ; X64-AVX512-WIN-NEXT: retq
1432 ; X86-SSE-WIN-LABEL: t_to_u64:
1433 ; X86-SSE-WIN: # %bb.0:
1434 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1435 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1436 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1437 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1438 ; X86-SSE-WIN-NEXT: calll ___fixunstfdi
1439 ; X86-SSE-WIN-NEXT: addl $16, %esp
1440 ; X86-SSE-WIN-NEXT: retl
1453 ; X64-SSE-WIN-LABEL: t_to_u64:
1454 ; X64-SSE-WIN: # %bb.0:
1455 ; X64-SSE-WIN-NEXT: subq $40, %rsp
1456 ; X64-SSE-WIN-NEXT: callq __fixunstfdi
1457 ; X64-SSE-WIN-NEXT: addq $40, %rsp
1458 ; X64-SSE-WIN-NEXT: retq
1467 ; X87-WIN-LABEL: t_to_u64:
1468 ; X87-WIN: # %bb.0:
1469 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1470 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1471 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1472 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1473 ; X87-WIN-NEXT: calll ___fixunstfdi
1474 ; X87-WIN-NEXT: addl $16, %esp
1475 ; X87-WIN-NEXT: retl
1492 ; X86-AVX512-WIN-LABEL: t_to_s64:
1493 ; X86-AVX512-WIN: # %bb.0:
1494 ; X86-AVX512-WIN-NEXT: subl $16, %esp
1495 ; X86-AVX512-WIN-NEXT: vmovups {{[0-9]+}}(%esp), %xmm0
1496 ; X86-AVX512-WIN-NEXT: vmovups %xmm0, (%esp)
1497 ; X86-AVX512-WIN-NEXT: calll ___fixtfdi
1498 ; X86-AVX512-WIN-NEXT: addl $16, %esp
1499 ; X86-AVX512-WIN-NEXT: retl
1510 ; X64-AVX512-WIN-LABEL: t_to_s64:
1511 ; X64-AVX512-WIN: # %bb.0:
1512 ; X64-AVX512-WIN-NEXT: subq $40, %rsp
1513 ; X64-AVX512-WIN-NEXT: callq __fixtfdi
1514 ; X64-AVX512-WIN-NEXT: addq $40, %rsp
1515 ; X64-AVX512-WIN-NEXT: retq
1524 ; X86-SSE-WIN-LABEL: t_to_s64:
1525 ; X86-SSE-WIN: # %bb.0:
1526 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1527 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1528 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1529 ; X86-SSE-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1530 ; X86-SSE-WIN-NEXT: calll ___fixtfdi
1531 ; X86-SSE-WIN-NEXT: addl $16, %esp
1532 ; X86-SSE-WIN-NEXT: retl
1545 ; X64-SSE-WIN-LABEL: t_to_s64:
1546 ; X64-SSE-WIN: # %bb.0:
1547 ; X64-SSE-WIN-NEXT: subq $40, %rsp
1548 ; X64-SSE-WIN-NEXT: callq __fixtfdi
1549 ; X64-SSE-WIN-NEXT: addq $40, %rsp
1550 ; X64-SSE-WIN-NEXT: retq
1559 ; X87-WIN-LABEL: t_to_s64:
1560 ; X87-WIN: # %bb.0:
1561 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1562 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1563 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1564 ; X87-WIN-NEXT: pushl {{[0-9]+}}(%esp)
1565 ; X87-WIN-NEXT: calll ___fixtfdi
1566 ; X87-WIN-NEXT: addl $16, %esp
1567 ; X87-WIN-NEXT: retl