Lines Matching +full:0 +full:x87
8 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=-sse -O3 | FileCheck %s --check-prefixes=X87
27 ; SSE-X86: # %bb.0:
32 ; SSE-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
42 ; SSE-X64: # %bb.0:
47 ; AVX-X86: # %bb.0:
52 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
62 ; AVX-X64: # %bb.0:
66 ; X87-LABEL: fadd_f64:
67 ; X87: # %bb.0:
68 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
69 ; X87-NEXT: faddl {{[0-9]+}}(%esp)
70 ; X87-NEXT: wait
71 ; X87-NEXT: retl
74 metadata !"fpexcept.strict") #0
80 ; SSE-X86: # %bb.0:
82 ; SSE-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
83 ; SSE-X86-NEXT: addss {{[0-9]+}}(%esp), %xmm0
91 ; SSE-X64: # %bb.0:
96 ; AVX-X86: # %bb.0:
98 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
99 ; AVX-X86-NEXT: vaddss {{[0-9]+}}(%esp), %xmm0, %xmm0
107 ; AVX-X64: # %bb.0:
111 ; X87-LABEL: fadd_f32:
112 ; X87: # %bb.0:
113 ; X87-NEXT: flds {{[0-9]+}}(%esp)
114 ; X87-NEXT: fadds {{[0-9]+}}(%esp)
115 ; X87-NEXT: wait
116 ; X87-NEXT: retl
119 metadata !"fpexcept.strict") #0
125 ; SSE-X86: # %bb.0:
130 ; SSE-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
140 ; SSE-X64: # %bb.0:
145 ; AVX-X86: # %bb.0:
150 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
160 ; AVX-X64: # %bb.0:
164 ; X87-LABEL: fsub_f64:
165 ; X87: # %bb.0:
166 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
167 ; X87-NEXT: fsubl {{[0-9]+}}(%esp)
168 ; X87-NEXT: wait
169 ; X87-NEXT: retl
172 metadata !"fpexcept.strict") #0
178 ; SSE-X86: # %bb.0:
180 ; SSE-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
181 ; SSE-X86-NEXT: subss {{[0-9]+}}(%esp), %xmm0
189 ; SSE-X64: # %bb.0:
194 ; AVX-X86: # %bb.0:
196 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
197 ; AVX-X86-NEXT: vsubss {{[0-9]+}}(%esp), %xmm0, %xmm0
205 ; AVX-X64: # %bb.0:
209 ; X87-LABEL: fsub_f32:
210 ; X87: # %bb.0:
211 ; X87-NEXT: flds {{[0-9]+}}(%esp)
212 ; X87-NEXT: fsubs {{[0-9]+}}(%esp)
213 ; X87-NEXT: wait
214 ; X87-NEXT: retl
217 metadata !"fpexcept.strict") #0
223 ; SSE-X86: # %bb.0:
228 ; SSE-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
238 ; SSE-X64: # %bb.0:
243 ; AVX-X86: # %bb.0:
248 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
258 ; AVX-X64: # %bb.0:
262 ; X87-LABEL: fmul_f64:
263 ; X87: # %bb.0:
264 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
265 ; X87-NEXT: fmull {{[0-9]+}}(%esp)
266 ; X87-NEXT: wait
267 ; X87-NEXT: retl
270 metadata !"fpexcept.strict") #0
276 ; SSE-X86: # %bb.0:
278 ; SSE-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
279 ; SSE-X86-NEXT: mulss {{[0-9]+}}(%esp), %xmm0
287 ; SSE-X64: # %bb.0:
292 ; AVX-X86: # %bb.0:
294 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
295 ; AVX-X86-NEXT: vmulss {{[0-9]+}}(%esp), %xmm0, %xmm0
303 ; AVX-X64: # %bb.0:
307 ; X87-LABEL: fmul_f32:
308 ; X87: # %bb.0:
309 ; X87-NEXT: flds {{[0-9]+}}(%esp)
310 ; X87-NEXT: fmuls {{[0-9]+}}(%esp)
311 ; X87-NEXT: wait
312 ; X87-NEXT: retl
315 metadata !"fpexcept.strict") #0
321 ; SSE-X86: # %bb.0:
326 ; SSE-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
336 ; SSE-X64: # %bb.0:
341 ; AVX-X86: # %bb.0:
346 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
356 ; AVX-X64: # %bb.0:
360 ; X87-LABEL: fdiv_f64:
361 ; X87: # %bb.0:
362 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
363 ; X87-NEXT: fdivl {{[0-9]+}}(%esp)
364 ; X87-NEXT: wait
365 ; X87-NEXT: retl
368 metadata !"fpexcept.strict") #0
374 ; SSE-X86: # %bb.0:
376 ; SSE-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
377 ; SSE-X86-NEXT: divss {{[0-9]+}}(%esp), %xmm0
385 ; SSE-X64: # %bb.0:
390 ; AVX-X86: # %bb.0:
392 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
393 ; AVX-X86-NEXT: vdivss {{[0-9]+}}(%esp), %xmm0, %xmm0
401 ; AVX-X64: # %bb.0:
405 ; X87-LABEL: fdiv_f32:
406 ; X87: # %bb.0:
407 ; X87-NEXT: flds {{[0-9]+}}(%esp)
408 ; X87-NEXT: fdivs {{[0-9]+}}(%esp)
409 ; X87-NEXT: wait
410 ; X87-NEXT: retl
413 metadata !"fpexcept.strict") #0
419 ; SSE-X86: # %bb.0:
420 ; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
421 ; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
422 ; SSE-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
428 ; SSE-X64: # %bb.0:
429 ; SSE-X64-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
435 ; AVX-X86: # %bb.0:
436 ; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
437 ; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
438 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
444 ; AVX-X64: # %bb.0:
445 ; AVX-X64-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
450 ; X87-LABEL: fpext_f32_to_f64:
451 ; X87: # %bb.0:
452 ; X87-NEXT: movl {{[0-9]+}}(%esp), %eax
453 ; X87-NEXT: movl {{[0-9]+}}(%esp), %ecx
454 ; X87-NEXT: flds (%ecx)
455 ; X87-NEXT: fstpl (%eax)
456 ; X87-NEXT: wait
457 ; X87-NEXT: retl
460 metadata !"fpexcept.strict") #0
467 ; SSE-X86: # %bb.0:
468 ; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
469 ; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
470 ; SSE-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
476 ; SSE-X64: # %bb.0:
477 ; SSE-X64-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
483 ; AVX-X86: # %bb.0:
484 ; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
485 ; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %ecx
486 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
492 ; AVX-X64: # %bb.0:
493 ; AVX-X64-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
498 ; X87-LABEL: fptrunc_double_to_f32:
499 ; X87: # %bb.0:
500 ; X87-NEXT: pushl %eax
501 ; X87-NEXT: movl {{[0-9]+}}(%esp), %eax
502 ; X87-NEXT: movl {{[0-9]+}}(%esp), %ecx
503 ; X87-NEXT: fldl (%ecx)
504 ; X87-NEXT: fstps (%esp)
505 ; X87-NEXT: flds (%esp)
506 ; X87-NEXT: fstps (%eax)
507 ; X87-NEXT: wait
508 ; X87-NEXT: popl %eax
509 ; X87-NEXT: retl
513 metadata !"fpexcept.strict") #0
520 ; SSE-X86: # %bb.0:
521 ; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
522 ; SSE-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
528 ; SSE-X64: # %bb.0:
529 ; SSE-X64-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
535 ; AVX-X86: # %bb.0:
536 ; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
537 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
543 ; AVX-X64: # %bb.0:
544 ; AVX-X64-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
549 ; X87-LABEL: fsqrt_f64:
550 ; X87: # %bb.0:
551 ; X87-NEXT: movl {{[0-9]+}}(%esp), %eax
552 ; X87-NEXT: fldl (%eax)
553 ; X87-NEXT: fsqrt
554 ; X87-NEXT: fstpl (%eax)
555 ; X87-NEXT: wait
556 ; X87-NEXT: retl
560 metadata !"fpexcept.strict") #0
567 ; SSE-X86: # %bb.0:
568 ; SSE-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
569 ; SSE-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
575 ; SSE-X64: # %bb.0:
576 ; SSE-X64-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
582 ; AVX-X86: # %bb.0:
583 ; AVX-X86-NEXT: movl {{[0-9]+}}(%esp), %eax
584 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
590 ; AVX-X64: # %bb.0:
591 ; AVX-X64-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
596 ; X87-LABEL: fsqrt_f32:
597 ; X87: # %bb.0:
598 ; X87-NEXT: movl {{[0-9]+}}(%esp), %eax
599 ; X87-NEXT: flds (%eax)
600 ; X87-NEXT: fsqrt
601 ; X87-NEXT: fstps (%eax)
602 ; X87-NEXT: wait
603 ; X87-NEXT: retl
607 metadata !"fpexcept.strict") #0
614 ; SSE-X86: # %bb.0:
616 ; SSE-X86-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
617 ; SSE-X86-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
618 ; SSE-X86-NEXT: movsd {{.*#+}} xmm2 = mem[0],zero
619 ; SSE-X86-NEXT: movsd %xmm2, {{[0-9]+}}(%esp)
620 ; SSE-X86-NEXT: movsd %xmm1, {{[0-9]+}}(%esp)
627 ; SSE-X64: # %bb.0:
634 ; AVX-X86: # %bb.0:
639 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
640 ; AVX-X86-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
650 ; AVX-X64: # %bb.0:
654 ; X87-LABEL: fma_f64:
655 ; X87: # %bb.0:
656 ; X87-NEXT: subl $24, %esp
657 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
658 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
659 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
660 ; X87-NEXT: fstpl {{[0-9]+}}(%esp)
661 ; X87-NEXT: fstpl {{[0-9]+}}(%esp)
662 ; X87-NEXT: fstpl (%esp)
663 ; X87-NEXT: wait
664 ; X87-NEXT: calll fma
665 ; X87-NEXT: addl $24, %esp
666 ; X87-NEXT: retl
669 metadata !"fpexcept.strict") #0
675 ; SSE-X86: # %bb.0:
677 ; SSE-X86-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
678 ; SSE-X86-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
679 ; SSE-X86-NEXT: movss {{.*#+}} xmm2 = mem[0],zero,zero,zero
680 ; SSE-X86-NEXT: movss %xmm2, {{[0-9]+}}(%esp)
681 ; SSE-X86-NEXT: movss %xmm1, {{[0-9]+}}(%esp)
688 ; SSE-X64: # %bb.0:
695 ; AVX-X86: # %bb.0:
697 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
698 ; AVX-X86-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
707 ; AVX-X64: # %bb.0:
711 ; X87-LABEL: fma_f32:
712 ; X87: # %bb.0:
713 ; X87-NEXT: subl $12, %esp
714 ; X87-NEXT: flds {{[0-9]+}}(%esp)
715 ; X87-NEXT: flds {{[0-9]+}}(%esp)
716 ; X87-NEXT: flds {{[0-9]+}}(%esp)
717 ; X87-NEXT: fstps {{[0-9]+}}(%esp)
718 ; X87-NEXT: fstps {{[0-9]+}}(%esp)
719 ; X87-NEXT: fstps (%esp)
720 ; X87-NEXT: wait
721 ; X87-NEXT: calll fmaf
722 ; X87-NEXT: addl $12, %esp
723 ; X87-NEXT: retl
726 metadata !"fpexcept.strict") #0
730 attributes #0 = { strictfp }