Lines Matching refs:X87

8 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=-sse -O3 | FileCheck %s --check-prefix=X87
9 …llc < %s -mtriple=i686-unknown-unknown -mattr=-sse,+cmov -O3 | FileCheck %s --check-prefix=X87-CMOV
50 ; X87-LABEL: test_f32_oeq_q:
51 ; X87: # %bb.0:
52 ; X87-NEXT: flds {{[0-9]+}}(%esp)
53 ; X87-NEXT: flds {{[0-9]+}}(%esp)
54 ; X87-NEXT: fucompp
55 ; X87-NEXT: wait
56 ; X87-NEXT: fnstsw %ax
57 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
58 ; X87-NEXT: sahf
59 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
60 ; X87-NEXT: jne .LBB0_3
61 ; X87-NEXT: # %bb.1:
62 ; X87-NEXT: jp .LBB0_3
63 ; X87-NEXT: # %bb.2:
64 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
65 ; X87-NEXT: .LBB0_3:
66 ; X87-NEXT: movl (%eax), %eax
67 ; X87-NEXT: retl
69 ; X87-CMOV-LABEL: test_f32_oeq_q:
70 ; X87-CMOV: # %bb.0:
71 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
72 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
73 ; X87-CMOV-NEXT: fucompi %st(1), %st
74 ; X87-CMOV-NEXT: fstp %st(0)
75 ; X87-CMOV-NEXT: wait
76 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
77 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
78 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
79 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
80 ; X87-CMOV-NEXT: movl (%ecx), %eax
81 ; X87-CMOV-NEXT: retl
124 ; X87-LABEL: test_f32_ogt_q:
125 ; X87: # %bb.0:
126 ; X87-NEXT: flds {{[0-9]+}}(%esp)
127 ; X87-NEXT: flds {{[0-9]+}}(%esp)
128 ; X87-NEXT: fucompp
129 ; X87-NEXT: wait
130 ; X87-NEXT: fnstsw %ax
131 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
132 ; X87-NEXT: sahf
133 ; X87-NEXT: ja .LBB1_1
134 ; X87-NEXT: # %bb.2:
135 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
136 ; X87-NEXT: movl (%eax), %eax
137 ; X87-NEXT: retl
138 ; X87-NEXT: .LBB1_1:
139 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
140 ; X87-NEXT: movl (%eax), %eax
141 ; X87-NEXT: retl
143 ; X87-CMOV-LABEL: test_f32_ogt_q:
144 ; X87-CMOV: # %bb.0:
145 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
146 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
147 ; X87-CMOV-NEXT: fucompi %st(1), %st
148 ; X87-CMOV-NEXT: fstp %st(0)
149 ; X87-CMOV-NEXT: wait
150 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
151 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
152 ; X87-CMOV-NEXT: cmoval %eax, %ecx
153 ; X87-CMOV-NEXT: movl (%ecx), %eax
154 ; X87-CMOV-NEXT: retl
197 ; X87-LABEL: test_f32_oge_q:
198 ; X87: # %bb.0:
199 ; X87-NEXT: flds {{[0-9]+}}(%esp)
200 ; X87-NEXT: flds {{[0-9]+}}(%esp)
201 ; X87-NEXT: fucompp
202 ; X87-NEXT: wait
203 ; X87-NEXT: fnstsw %ax
204 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
205 ; X87-NEXT: sahf
206 ; X87-NEXT: jae .LBB2_1
207 ; X87-NEXT: # %bb.2:
208 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
209 ; X87-NEXT: movl (%eax), %eax
210 ; X87-NEXT: retl
211 ; X87-NEXT: .LBB2_1:
212 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
213 ; X87-NEXT: movl (%eax), %eax
214 ; X87-NEXT: retl
216 ; X87-CMOV-LABEL: test_f32_oge_q:
217 ; X87-CMOV: # %bb.0:
218 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
219 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
220 ; X87-CMOV-NEXT: fucompi %st(1), %st
221 ; X87-CMOV-NEXT: fstp %st(0)
222 ; X87-CMOV-NEXT: wait
223 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
224 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
225 ; X87-CMOV-NEXT: cmovael %eax, %ecx
226 ; X87-CMOV-NEXT: movl (%ecx), %eax
227 ; X87-CMOV-NEXT: retl
270 ; X87-LABEL: test_f32_olt_q:
271 ; X87: # %bb.0:
272 ; X87-NEXT: flds {{[0-9]+}}(%esp)
273 ; X87-NEXT: flds {{[0-9]+}}(%esp)
274 ; X87-NEXT: fucompp
275 ; X87-NEXT: wait
276 ; X87-NEXT: fnstsw %ax
277 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
278 ; X87-NEXT: sahf
279 ; X87-NEXT: ja .LBB3_1
280 ; X87-NEXT: # %bb.2:
281 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
282 ; X87-NEXT: movl (%eax), %eax
283 ; X87-NEXT: retl
284 ; X87-NEXT: .LBB3_1:
285 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
286 ; X87-NEXT: movl (%eax), %eax
287 ; X87-NEXT: retl
289 ; X87-CMOV-LABEL: test_f32_olt_q:
290 ; X87-CMOV: # %bb.0:
291 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
292 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
293 ; X87-CMOV-NEXT: fucompi %st(1), %st
294 ; X87-CMOV-NEXT: fstp %st(0)
295 ; X87-CMOV-NEXT: wait
296 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
297 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
298 ; X87-CMOV-NEXT: cmoval %eax, %ecx
299 ; X87-CMOV-NEXT: movl (%ecx), %eax
300 ; X87-CMOV-NEXT: retl
343 ; X87-LABEL: test_f32_ole_q:
344 ; X87: # %bb.0:
345 ; X87-NEXT: flds {{[0-9]+}}(%esp)
346 ; X87-NEXT: flds {{[0-9]+}}(%esp)
347 ; X87-NEXT: fucompp
348 ; X87-NEXT: wait
349 ; X87-NEXT: fnstsw %ax
350 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
351 ; X87-NEXT: sahf
352 ; X87-NEXT: jae .LBB4_1
353 ; X87-NEXT: # %bb.2:
354 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
355 ; X87-NEXT: movl (%eax), %eax
356 ; X87-NEXT: retl
357 ; X87-NEXT: .LBB4_1:
358 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
359 ; X87-NEXT: movl (%eax), %eax
360 ; X87-NEXT: retl
362 ; X87-CMOV-LABEL: test_f32_ole_q:
363 ; X87-CMOV: # %bb.0:
364 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
365 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
366 ; X87-CMOV-NEXT: fucompi %st(1), %st
367 ; X87-CMOV-NEXT: fstp %st(0)
368 ; X87-CMOV-NEXT: wait
369 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
370 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
371 ; X87-CMOV-NEXT: cmovael %eax, %ecx
372 ; X87-CMOV-NEXT: movl (%ecx), %eax
373 ; X87-CMOV-NEXT: retl
416 ; X87-LABEL: test_f32_one_q:
417 ; X87: # %bb.0:
418 ; X87-NEXT: flds {{[0-9]+}}(%esp)
419 ; X87-NEXT: flds {{[0-9]+}}(%esp)
420 ; X87-NEXT: fucompp
421 ; X87-NEXT: wait
422 ; X87-NEXT: fnstsw %ax
423 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
424 ; X87-NEXT: sahf
425 ; X87-NEXT: jne .LBB5_1
426 ; X87-NEXT: # %bb.2:
427 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
428 ; X87-NEXT: movl (%eax), %eax
429 ; X87-NEXT: retl
430 ; X87-NEXT: .LBB5_1:
431 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
432 ; X87-NEXT: movl (%eax), %eax
433 ; X87-NEXT: retl
435 ; X87-CMOV-LABEL: test_f32_one_q:
436 ; X87-CMOV: # %bb.0:
437 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
438 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
439 ; X87-CMOV-NEXT: fucompi %st(1), %st
440 ; X87-CMOV-NEXT: fstp %st(0)
441 ; X87-CMOV-NEXT: wait
442 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
443 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
444 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
445 ; X87-CMOV-NEXT: movl (%ecx), %eax
446 ; X87-CMOV-NEXT: retl
489 ; X87-LABEL: test_f32_ord_q:
490 ; X87: # %bb.0:
491 ; X87-NEXT: flds {{[0-9]+}}(%esp)
492 ; X87-NEXT: flds {{[0-9]+}}(%esp)
493 ; X87-NEXT: fucompp
494 ; X87-NEXT: wait
495 ; X87-NEXT: fnstsw %ax
496 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
497 ; X87-NEXT: sahf
498 ; X87-NEXT: jnp .LBB6_1
499 ; X87-NEXT: # %bb.2:
500 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
501 ; X87-NEXT: movl (%eax), %eax
502 ; X87-NEXT: retl
503 ; X87-NEXT: .LBB6_1:
504 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
505 ; X87-NEXT: movl (%eax), %eax
506 ; X87-NEXT: retl
508 ; X87-CMOV-LABEL: test_f32_ord_q:
509 ; X87-CMOV: # %bb.0:
510 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
511 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
512 ; X87-CMOV-NEXT: fucompi %st(1), %st
513 ; X87-CMOV-NEXT: fstp %st(0)
514 ; X87-CMOV-NEXT: wait
515 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
516 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
517 ; X87-CMOV-NEXT: cmovnpl %eax, %ecx
518 ; X87-CMOV-NEXT: movl (%ecx), %eax
519 ; X87-CMOV-NEXT: retl
562 ; X87-LABEL: test_f32_ueq_q:
563 ; X87: # %bb.0:
564 ; X87-NEXT: flds {{[0-9]+}}(%esp)
565 ; X87-NEXT: flds {{[0-9]+}}(%esp)
566 ; X87-NEXT: fucompp
567 ; X87-NEXT: wait
568 ; X87-NEXT: fnstsw %ax
569 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
570 ; X87-NEXT: sahf
571 ; X87-NEXT: je .LBB7_1
572 ; X87-NEXT: # %bb.2:
573 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
574 ; X87-NEXT: movl (%eax), %eax
575 ; X87-NEXT: retl
576 ; X87-NEXT: .LBB7_1:
577 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
578 ; X87-NEXT: movl (%eax), %eax
579 ; X87-NEXT: retl
581 ; X87-CMOV-LABEL: test_f32_ueq_q:
582 ; X87-CMOV: # %bb.0:
583 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
584 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
585 ; X87-CMOV-NEXT: fucompi %st(1), %st
586 ; X87-CMOV-NEXT: fstp %st(0)
587 ; X87-CMOV-NEXT: wait
588 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
589 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
590 ; X87-CMOV-NEXT: cmovel %eax, %ecx
591 ; X87-CMOV-NEXT: movl (%ecx), %eax
592 ; X87-CMOV-NEXT: retl
635 ; X87-LABEL: test_f32_ugt_q:
636 ; X87: # %bb.0:
637 ; X87-NEXT: flds {{[0-9]+}}(%esp)
638 ; X87-NEXT: flds {{[0-9]+}}(%esp)
639 ; X87-NEXT: fucompp
640 ; X87-NEXT: wait
641 ; X87-NEXT: fnstsw %ax
642 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
643 ; X87-NEXT: sahf
644 ; X87-NEXT: jb .LBB8_1
645 ; X87-NEXT: # %bb.2:
646 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
647 ; X87-NEXT: movl (%eax), %eax
648 ; X87-NEXT: retl
649 ; X87-NEXT: .LBB8_1:
650 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
651 ; X87-NEXT: movl (%eax), %eax
652 ; X87-NEXT: retl
654 ; X87-CMOV-LABEL: test_f32_ugt_q:
655 ; X87-CMOV: # %bb.0:
656 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
657 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
658 ; X87-CMOV-NEXT: fucompi %st(1), %st
659 ; X87-CMOV-NEXT: fstp %st(0)
660 ; X87-CMOV-NEXT: wait
661 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
662 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
663 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
664 ; X87-CMOV-NEXT: movl (%ecx), %eax
665 ; X87-CMOV-NEXT: retl
708 ; X87-LABEL: test_f32_uge_q:
709 ; X87: # %bb.0:
710 ; X87-NEXT: flds {{[0-9]+}}(%esp)
711 ; X87-NEXT: flds {{[0-9]+}}(%esp)
712 ; X87-NEXT: fucompp
713 ; X87-NEXT: wait
714 ; X87-NEXT: fnstsw %ax
715 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
716 ; X87-NEXT: sahf
717 ; X87-NEXT: jbe .LBB9_1
718 ; X87-NEXT: # %bb.2:
719 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
720 ; X87-NEXT: movl (%eax), %eax
721 ; X87-NEXT: retl
722 ; X87-NEXT: .LBB9_1:
723 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
724 ; X87-NEXT: movl (%eax), %eax
725 ; X87-NEXT: retl
727 ; X87-CMOV-LABEL: test_f32_uge_q:
728 ; X87-CMOV: # %bb.0:
729 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
730 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
731 ; X87-CMOV-NEXT: fucompi %st(1), %st
732 ; X87-CMOV-NEXT: fstp %st(0)
733 ; X87-CMOV-NEXT: wait
734 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
735 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
736 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
737 ; X87-CMOV-NEXT: movl (%ecx), %eax
738 ; X87-CMOV-NEXT: retl
781 ; X87-LABEL: test_f32_ult_q:
782 ; X87: # %bb.0:
783 ; X87-NEXT: flds {{[0-9]+}}(%esp)
784 ; X87-NEXT: flds {{[0-9]+}}(%esp)
785 ; X87-NEXT: fucompp
786 ; X87-NEXT: wait
787 ; X87-NEXT: fnstsw %ax
788 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
789 ; X87-NEXT: sahf
790 ; X87-NEXT: jb .LBB10_1
791 ; X87-NEXT: # %bb.2:
792 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
793 ; X87-NEXT: movl (%eax), %eax
794 ; X87-NEXT: retl
795 ; X87-NEXT: .LBB10_1:
796 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
797 ; X87-NEXT: movl (%eax), %eax
798 ; X87-NEXT: retl
800 ; X87-CMOV-LABEL: test_f32_ult_q:
801 ; X87-CMOV: # %bb.0:
802 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
803 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
804 ; X87-CMOV-NEXT: fucompi %st(1), %st
805 ; X87-CMOV-NEXT: fstp %st(0)
806 ; X87-CMOV-NEXT: wait
807 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
808 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
809 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
810 ; X87-CMOV-NEXT: movl (%ecx), %eax
811 ; X87-CMOV-NEXT: retl
854 ; X87-LABEL: test_f32_ule_q:
855 ; X87: # %bb.0:
856 ; X87-NEXT: flds {{[0-9]+}}(%esp)
857 ; X87-NEXT: flds {{[0-9]+}}(%esp)
858 ; X87-NEXT: fucompp
859 ; X87-NEXT: wait
860 ; X87-NEXT: fnstsw %ax
861 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
862 ; X87-NEXT: sahf
863 ; X87-NEXT: jbe .LBB11_1
864 ; X87-NEXT: # %bb.2:
865 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
866 ; X87-NEXT: movl (%eax), %eax
867 ; X87-NEXT: retl
868 ; X87-NEXT: .LBB11_1:
869 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
870 ; X87-NEXT: movl (%eax), %eax
871 ; X87-NEXT: retl
873 ; X87-CMOV-LABEL: test_f32_ule_q:
874 ; X87-CMOV: # %bb.0:
875 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
876 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
877 ; X87-CMOV-NEXT: fucompi %st(1), %st
878 ; X87-CMOV-NEXT: fstp %st(0)
879 ; X87-CMOV-NEXT: wait
880 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
881 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
882 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
883 ; X87-CMOV-NEXT: movl (%ecx), %eax
884 ; X87-CMOV-NEXT: retl
931 ; X87-LABEL: test_f32_une_q:
932 ; X87: # %bb.0:
933 ; X87-NEXT: flds {{[0-9]+}}(%esp)
934 ; X87-NEXT: flds {{[0-9]+}}(%esp)
935 ; X87-NEXT: fucompp
936 ; X87-NEXT: wait
937 ; X87-NEXT: fnstsw %ax
938 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
939 ; X87-NEXT: sahf
940 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
941 ; X87-NEXT: jne .LBB12_3
942 ; X87-NEXT: # %bb.1:
943 ; X87-NEXT: jp .LBB12_3
944 ; X87-NEXT: # %bb.2:
945 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
946 ; X87-NEXT: .LBB12_3:
947 ; X87-NEXT: movl (%eax), %eax
948 ; X87-NEXT: retl
950 ; X87-CMOV-LABEL: test_f32_une_q:
951 ; X87-CMOV: # %bb.0:
952 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
953 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
954 ; X87-CMOV-NEXT: fucompi %st(1), %st
955 ; X87-CMOV-NEXT: fstp %st(0)
956 ; X87-CMOV-NEXT: wait
957 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
958 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
959 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
960 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
961 ; X87-CMOV-NEXT: movl (%ecx), %eax
962 ; X87-CMOV-NEXT: retl
1005 ; X87-LABEL: test_f32_uno_q:
1006 ; X87: # %bb.0:
1007 ; X87-NEXT: flds {{[0-9]+}}(%esp)
1008 ; X87-NEXT: flds {{[0-9]+}}(%esp)
1009 ; X87-NEXT: fucompp
1010 ; X87-NEXT: wait
1011 ; X87-NEXT: fnstsw %ax
1012 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1013 ; X87-NEXT: sahf
1014 ; X87-NEXT: jp .LBB13_1
1015 ; X87-NEXT: # %bb.2:
1016 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1017 ; X87-NEXT: movl (%eax), %eax
1018 ; X87-NEXT: retl
1019 ; X87-NEXT: .LBB13_1:
1020 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1021 ; X87-NEXT: movl (%eax), %eax
1022 ; X87-NEXT: retl
1024 ; X87-CMOV-LABEL: test_f32_uno_q:
1025 ; X87-CMOV: # %bb.0:
1026 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
1027 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
1028 ; X87-CMOV-NEXT: fucompi %st(1), %st
1029 ; X87-CMOV-NEXT: fstp %st(0)
1030 ; X87-CMOV-NEXT: wait
1031 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1032 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1033 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
1034 ; X87-CMOV-NEXT: movl (%ecx), %eax
1035 ; X87-CMOV-NEXT: retl
1082 ; X87-LABEL: test_f64_oeq_q:
1083 ; X87: # %bb.0:
1084 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1085 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1086 ; X87-NEXT: fucompp
1087 ; X87-NEXT: wait
1088 ; X87-NEXT: fnstsw %ax
1089 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1090 ; X87-NEXT: sahf
1091 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1092 ; X87-NEXT: jne .LBB14_3
1093 ; X87-NEXT: # %bb.1:
1094 ; X87-NEXT: jp .LBB14_3
1095 ; X87-NEXT: # %bb.2:
1096 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1097 ; X87-NEXT: .LBB14_3:
1098 ; X87-NEXT: movl (%eax), %eax
1099 ; X87-NEXT: retl
1101 ; X87-CMOV-LABEL: test_f64_oeq_q:
1102 ; X87-CMOV: # %bb.0:
1103 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1104 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1105 ; X87-CMOV-NEXT: fucompi %st(1), %st
1106 ; X87-CMOV-NEXT: fstp %st(0)
1107 ; X87-CMOV-NEXT: wait
1108 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1109 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1110 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
1111 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
1112 ; X87-CMOV-NEXT: movl (%ecx), %eax
1113 ; X87-CMOV-NEXT: retl
1156 ; X87-LABEL: test_f64_ogt_q:
1157 ; X87: # %bb.0:
1158 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1159 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1160 ; X87-NEXT: fucompp
1161 ; X87-NEXT: wait
1162 ; X87-NEXT: fnstsw %ax
1163 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1164 ; X87-NEXT: sahf
1165 ; X87-NEXT: ja .LBB15_1
1166 ; X87-NEXT: # %bb.2:
1167 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1168 ; X87-NEXT: movl (%eax), %eax
1169 ; X87-NEXT: retl
1170 ; X87-NEXT: .LBB15_1:
1171 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1172 ; X87-NEXT: movl (%eax), %eax
1173 ; X87-NEXT: retl
1175 ; X87-CMOV-LABEL: test_f64_ogt_q:
1176 ; X87-CMOV: # %bb.0:
1177 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1178 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1179 ; X87-CMOV-NEXT: fucompi %st(1), %st
1180 ; X87-CMOV-NEXT: fstp %st(0)
1181 ; X87-CMOV-NEXT: wait
1182 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1183 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1184 ; X87-CMOV-NEXT: cmoval %eax, %ecx
1185 ; X87-CMOV-NEXT: movl (%ecx), %eax
1186 ; X87-CMOV-NEXT: retl
1229 ; X87-LABEL: test_f64_oge_q:
1230 ; X87: # %bb.0:
1231 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1232 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1233 ; X87-NEXT: fucompp
1234 ; X87-NEXT: wait
1235 ; X87-NEXT: fnstsw %ax
1236 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1237 ; X87-NEXT: sahf
1238 ; X87-NEXT: jae .LBB16_1
1239 ; X87-NEXT: # %bb.2:
1240 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1241 ; X87-NEXT: movl (%eax), %eax
1242 ; X87-NEXT: retl
1243 ; X87-NEXT: .LBB16_1:
1244 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1245 ; X87-NEXT: movl (%eax), %eax
1246 ; X87-NEXT: retl
1248 ; X87-CMOV-LABEL: test_f64_oge_q:
1249 ; X87-CMOV: # %bb.0:
1250 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1251 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1252 ; X87-CMOV-NEXT: fucompi %st(1), %st
1253 ; X87-CMOV-NEXT: fstp %st(0)
1254 ; X87-CMOV-NEXT: wait
1255 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1256 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1257 ; X87-CMOV-NEXT: cmovael %eax, %ecx
1258 ; X87-CMOV-NEXT: movl (%ecx), %eax
1259 ; X87-CMOV-NEXT: retl
1302 ; X87-LABEL: test_f64_olt_q:
1303 ; X87: # %bb.0:
1304 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1305 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1306 ; X87-NEXT: fucompp
1307 ; X87-NEXT: wait
1308 ; X87-NEXT: fnstsw %ax
1309 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1310 ; X87-NEXT: sahf
1311 ; X87-NEXT: ja .LBB17_1
1312 ; X87-NEXT: # %bb.2:
1313 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1314 ; X87-NEXT: movl (%eax), %eax
1315 ; X87-NEXT: retl
1316 ; X87-NEXT: .LBB17_1:
1317 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1318 ; X87-NEXT: movl (%eax), %eax
1319 ; X87-NEXT: retl
1321 ; X87-CMOV-LABEL: test_f64_olt_q:
1322 ; X87-CMOV: # %bb.0:
1323 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1324 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1325 ; X87-CMOV-NEXT: fucompi %st(1), %st
1326 ; X87-CMOV-NEXT: fstp %st(0)
1327 ; X87-CMOV-NEXT: wait
1328 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1329 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1330 ; X87-CMOV-NEXT: cmoval %eax, %ecx
1331 ; X87-CMOV-NEXT: movl (%ecx), %eax
1332 ; X87-CMOV-NEXT: retl
1375 ; X87-LABEL: test_f64_ole_q:
1376 ; X87: # %bb.0:
1377 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1378 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1379 ; X87-NEXT: fucompp
1380 ; X87-NEXT: wait
1381 ; X87-NEXT: fnstsw %ax
1382 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1383 ; X87-NEXT: sahf
1384 ; X87-NEXT: jae .LBB18_1
1385 ; X87-NEXT: # %bb.2:
1386 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1387 ; X87-NEXT: movl (%eax), %eax
1388 ; X87-NEXT: retl
1389 ; X87-NEXT: .LBB18_1:
1390 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1391 ; X87-NEXT: movl (%eax), %eax
1392 ; X87-NEXT: retl
1394 ; X87-CMOV-LABEL: test_f64_ole_q:
1395 ; X87-CMOV: # %bb.0:
1396 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1397 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1398 ; X87-CMOV-NEXT: fucompi %st(1), %st
1399 ; X87-CMOV-NEXT: fstp %st(0)
1400 ; X87-CMOV-NEXT: wait
1401 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1402 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1403 ; X87-CMOV-NEXT: cmovael %eax, %ecx
1404 ; X87-CMOV-NEXT: movl (%ecx), %eax
1405 ; X87-CMOV-NEXT: retl
1448 ; X87-LABEL: test_f64_one_q:
1449 ; X87: # %bb.0:
1450 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1451 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1452 ; X87-NEXT: fucompp
1453 ; X87-NEXT: wait
1454 ; X87-NEXT: fnstsw %ax
1455 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1456 ; X87-NEXT: sahf
1457 ; X87-NEXT: jne .LBB19_1
1458 ; X87-NEXT: # %bb.2:
1459 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1460 ; X87-NEXT: movl (%eax), %eax
1461 ; X87-NEXT: retl
1462 ; X87-NEXT: .LBB19_1:
1463 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1464 ; X87-NEXT: movl (%eax), %eax
1465 ; X87-NEXT: retl
1467 ; X87-CMOV-LABEL: test_f64_one_q:
1468 ; X87-CMOV: # %bb.0:
1469 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1470 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1471 ; X87-CMOV-NEXT: fucompi %st(1), %st
1472 ; X87-CMOV-NEXT: fstp %st(0)
1473 ; X87-CMOV-NEXT: wait
1474 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1475 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1476 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
1477 ; X87-CMOV-NEXT: movl (%ecx), %eax
1478 ; X87-CMOV-NEXT: retl
1521 ; X87-LABEL: test_f64_ord_q:
1522 ; X87: # %bb.0:
1523 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1524 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1525 ; X87-NEXT: fucompp
1526 ; X87-NEXT: wait
1527 ; X87-NEXT: fnstsw %ax
1528 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1529 ; X87-NEXT: sahf
1530 ; X87-NEXT: jnp .LBB20_1
1531 ; X87-NEXT: # %bb.2:
1532 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1533 ; X87-NEXT: movl (%eax), %eax
1534 ; X87-NEXT: retl
1535 ; X87-NEXT: .LBB20_1:
1536 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1537 ; X87-NEXT: movl (%eax), %eax
1538 ; X87-NEXT: retl
1540 ; X87-CMOV-LABEL: test_f64_ord_q:
1541 ; X87-CMOV: # %bb.0:
1542 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1543 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1544 ; X87-CMOV-NEXT: fucompi %st(1), %st
1545 ; X87-CMOV-NEXT: fstp %st(0)
1546 ; X87-CMOV-NEXT: wait
1547 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1548 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1549 ; X87-CMOV-NEXT: cmovnpl %eax, %ecx
1550 ; X87-CMOV-NEXT: movl (%ecx), %eax
1551 ; X87-CMOV-NEXT: retl
1594 ; X87-LABEL: test_f64_ueq_q:
1595 ; X87: # %bb.0:
1596 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1597 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1598 ; X87-NEXT: fucompp
1599 ; X87-NEXT: wait
1600 ; X87-NEXT: fnstsw %ax
1601 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1602 ; X87-NEXT: sahf
1603 ; X87-NEXT: je .LBB21_1
1604 ; X87-NEXT: # %bb.2:
1605 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1606 ; X87-NEXT: movl (%eax), %eax
1607 ; X87-NEXT: retl
1608 ; X87-NEXT: .LBB21_1:
1609 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1610 ; X87-NEXT: movl (%eax), %eax
1611 ; X87-NEXT: retl
1613 ; X87-CMOV-LABEL: test_f64_ueq_q:
1614 ; X87-CMOV: # %bb.0:
1615 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1616 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1617 ; X87-CMOV-NEXT: fucompi %st(1), %st
1618 ; X87-CMOV-NEXT: fstp %st(0)
1619 ; X87-CMOV-NEXT: wait
1620 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1621 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1622 ; X87-CMOV-NEXT: cmovel %eax, %ecx
1623 ; X87-CMOV-NEXT: movl (%ecx), %eax
1624 ; X87-CMOV-NEXT: retl
1667 ; X87-LABEL: test_f64_ugt_q:
1668 ; X87: # %bb.0:
1669 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1670 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1671 ; X87-NEXT: fucompp
1672 ; X87-NEXT: wait
1673 ; X87-NEXT: fnstsw %ax
1674 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1675 ; X87-NEXT: sahf
1676 ; X87-NEXT: jb .LBB22_1
1677 ; X87-NEXT: # %bb.2:
1678 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1679 ; X87-NEXT: movl (%eax), %eax
1680 ; X87-NEXT: retl
1681 ; X87-NEXT: .LBB22_1:
1682 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1683 ; X87-NEXT: movl (%eax), %eax
1684 ; X87-NEXT: retl
1686 ; X87-CMOV-LABEL: test_f64_ugt_q:
1687 ; X87-CMOV: # %bb.0:
1688 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1689 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1690 ; X87-CMOV-NEXT: fucompi %st(1), %st
1691 ; X87-CMOV-NEXT: fstp %st(0)
1692 ; X87-CMOV-NEXT: wait
1693 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1694 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1695 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
1696 ; X87-CMOV-NEXT: movl (%ecx), %eax
1697 ; X87-CMOV-NEXT: retl
1740 ; X87-LABEL: test_f64_uge_q:
1741 ; X87: # %bb.0:
1742 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1743 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1744 ; X87-NEXT: fucompp
1745 ; X87-NEXT: wait
1746 ; X87-NEXT: fnstsw %ax
1747 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1748 ; X87-NEXT: sahf
1749 ; X87-NEXT: jbe .LBB23_1
1750 ; X87-NEXT: # %bb.2:
1751 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1752 ; X87-NEXT: movl (%eax), %eax
1753 ; X87-NEXT: retl
1754 ; X87-NEXT: .LBB23_1:
1755 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1756 ; X87-NEXT: movl (%eax), %eax
1757 ; X87-NEXT: retl
1759 ; X87-CMOV-LABEL: test_f64_uge_q:
1760 ; X87-CMOV: # %bb.0:
1761 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1762 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1763 ; X87-CMOV-NEXT: fucompi %st(1), %st
1764 ; X87-CMOV-NEXT: fstp %st(0)
1765 ; X87-CMOV-NEXT: wait
1766 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1767 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1768 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
1769 ; X87-CMOV-NEXT: movl (%ecx), %eax
1770 ; X87-CMOV-NEXT: retl
1813 ; X87-LABEL: test_f64_ult_q:
1814 ; X87: # %bb.0:
1815 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1816 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1817 ; X87-NEXT: fucompp
1818 ; X87-NEXT: wait
1819 ; X87-NEXT: fnstsw %ax
1820 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1821 ; X87-NEXT: sahf
1822 ; X87-NEXT: jb .LBB24_1
1823 ; X87-NEXT: # %bb.2:
1824 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1825 ; X87-NEXT: movl (%eax), %eax
1826 ; X87-NEXT: retl
1827 ; X87-NEXT: .LBB24_1:
1828 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1829 ; X87-NEXT: movl (%eax), %eax
1830 ; X87-NEXT: retl
1832 ; X87-CMOV-LABEL: test_f64_ult_q:
1833 ; X87-CMOV: # %bb.0:
1834 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1835 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1836 ; X87-CMOV-NEXT: fucompi %st(1), %st
1837 ; X87-CMOV-NEXT: fstp %st(0)
1838 ; X87-CMOV-NEXT: wait
1839 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1840 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1841 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
1842 ; X87-CMOV-NEXT: movl (%ecx), %eax
1843 ; X87-CMOV-NEXT: retl
1886 ; X87-LABEL: test_f64_ule_q:
1887 ; X87: # %bb.0:
1888 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1889 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1890 ; X87-NEXT: fucompp
1891 ; X87-NEXT: wait
1892 ; X87-NEXT: fnstsw %ax
1893 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1894 ; X87-NEXT: sahf
1895 ; X87-NEXT: jbe .LBB25_1
1896 ; X87-NEXT: # %bb.2:
1897 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1898 ; X87-NEXT: movl (%eax), %eax
1899 ; X87-NEXT: retl
1900 ; X87-NEXT: .LBB25_1:
1901 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1902 ; X87-NEXT: movl (%eax), %eax
1903 ; X87-NEXT: retl
1905 ; X87-CMOV-LABEL: test_f64_ule_q:
1906 ; X87-CMOV: # %bb.0:
1907 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1908 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1909 ; X87-CMOV-NEXT: fucompi %st(1), %st
1910 ; X87-CMOV-NEXT: fstp %st(0)
1911 ; X87-CMOV-NEXT: wait
1912 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1913 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1914 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
1915 ; X87-CMOV-NEXT: movl (%ecx), %eax
1916 ; X87-CMOV-NEXT: retl
1963 ; X87-LABEL: test_f64_une_q:
1964 ; X87: # %bb.0:
1965 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1966 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
1967 ; X87-NEXT: fucompp
1968 ; X87-NEXT: wait
1969 ; X87-NEXT: fnstsw %ax
1970 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
1971 ; X87-NEXT: sahf
1972 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1973 ; X87-NEXT: jne .LBB26_3
1974 ; X87-NEXT: # %bb.1:
1975 ; X87-NEXT: jp .LBB26_3
1976 ; X87-NEXT: # %bb.2:
1977 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
1978 ; X87-NEXT: .LBB26_3:
1979 ; X87-NEXT: movl (%eax), %eax
1980 ; X87-NEXT: retl
1982 ; X87-CMOV-LABEL: test_f64_une_q:
1983 ; X87-CMOV: # %bb.0:
1984 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1985 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
1986 ; X87-CMOV-NEXT: fucompi %st(1), %st
1987 ; X87-CMOV-NEXT: fstp %st(0)
1988 ; X87-CMOV-NEXT: wait
1989 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
1990 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
1991 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
1992 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
1993 ; X87-CMOV-NEXT: movl (%ecx), %eax
1994 ; X87-CMOV-NEXT: retl
2037 ; X87-LABEL: test_f64_uno_q:
2038 ; X87: # %bb.0:
2039 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
2040 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
2041 ; X87-NEXT: fucompp
2042 ; X87-NEXT: wait
2043 ; X87-NEXT: fnstsw %ax
2044 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2045 ; X87-NEXT: sahf
2046 ; X87-NEXT: jp .LBB27_1
2047 ; X87-NEXT: # %bb.2:
2048 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2049 ; X87-NEXT: movl (%eax), %eax
2050 ; X87-NEXT: retl
2051 ; X87-NEXT: .LBB27_1:
2052 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2053 ; X87-NEXT: movl (%eax), %eax
2054 ; X87-NEXT: retl
2056 ; X87-CMOV-LABEL: test_f64_uno_q:
2057 ; X87-CMOV: # %bb.0:
2058 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
2059 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
2060 ; X87-CMOV-NEXT: fucompi %st(1), %st
2061 ; X87-CMOV-NEXT: fstp %st(0)
2062 ; X87-CMOV-NEXT: wait
2063 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2064 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2065 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
2066 ; X87-CMOV-NEXT: movl (%ecx), %eax
2067 ; X87-CMOV-NEXT: retl
2114 ; X87-LABEL: test_f32_oeq_s:
2115 ; X87: # %bb.0:
2116 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2117 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2118 ; X87-NEXT: fcompp
2119 ; X87-NEXT: wait
2120 ; X87-NEXT: fnstsw %ax
2121 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2122 ; X87-NEXT: sahf
2123 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2124 ; X87-NEXT: jne .LBB28_3
2125 ; X87-NEXT: # %bb.1:
2126 ; X87-NEXT: jp .LBB28_3
2127 ; X87-NEXT: # %bb.2:
2128 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2129 ; X87-NEXT: .LBB28_3:
2130 ; X87-NEXT: movl (%eax), %eax
2131 ; X87-NEXT: retl
2133 ; X87-CMOV-LABEL: test_f32_oeq_s:
2134 ; X87-CMOV: # %bb.0:
2135 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2136 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2137 ; X87-CMOV-NEXT: fcompi %st(1), %st
2138 ; X87-CMOV-NEXT: fstp %st(0)
2139 ; X87-CMOV-NEXT: wait
2140 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2141 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2142 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
2143 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
2144 ; X87-CMOV-NEXT: movl (%ecx), %eax
2145 ; X87-CMOV-NEXT: retl
2188 ; X87-LABEL: test_f32_ogt_s:
2189 ; X87: # %bb.0:
2190 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2191 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2192 ; X87-NEXT: fcompp
2193 ; X87-NEXT: wait
2194 ; X87-NEXT: fnstsw %ax
2195 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2196 ; X87-NEXT: sahf
2197 ; X87-NEXT: ja .LBB29_1
2198 ; X87-NEXT: # %bb.2:
2199 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2200 ; X87-NEXT: movl (%eax), %eax
2201 ; X87-NEXT: retl
2202 ; X87-NEXT: .LBB29_1:
2203 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2204 ; X87-NEXT: movl (%eax), %eax
2205 ; X87-NEXT: retl
2207 ; X87-CMOV-LABEL: test_f32_ogt_s:
2208 ; X87-CMOV: # %bb.0:
2209 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2210 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2211 ; X87-CMOV-NEXT: fcompi %st(1), %st
2212 ; X87-CMOV-NEXT: fstp %st(0)
2213 ; X87-CMOV-NEXT: wait
2214 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2215 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2216 ; X87-CMOV-NEXT: cmoval %eax, %ecx
2217 ; X87-CMOV-NEXT: movl (%ecx), %eax
2218 ; X87-CMOV-NEXT: retl
2261 ; X87-LABEL: test_f32_oge_s:
2262 ; X87: # %bb.0:
2263 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2264 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2265 ; X87-NEXT: fcompp
2266 ; X87-NEXT: wait
2267 ; X87-NEXT: fnstsw %ax
2268 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2269 ; X87-NEXT: sahf
2270 ; X87-NEXT: jae .LBB30_1
2271 ; X87-NEXT: # %bb.2:
2272 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2273 ; X87-NEXT: movl (%eax), %eax
2274 ; X87-NEXT: retl
2275 ; X87-NEXT: .LBB30_1:
2276 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2277 ; X87-NEXT: movl (%eax), %eax
2278 ; X87-NEXT: retl
2280 ; X87-CMOV-LABEL: test_f32_oge_s:
2281 ; X87-CMOV: # %bb.0:
2282 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2283 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2284 ; X87-CMOV-NEXT: fcompi %st(1), %st
2285 ; X87-CMOV-NEXT: fstp %st(0)
2286 ; X87-CMOV-NEXT: wait
2287 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2288 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2289 ; X87-CMOV-NEXT: cmovael %eax, %ecx
2290 ; X87-CMOV-NEXT: movl (%ecx), %eax
2291 ; X87-CMOV-NEXT: retl
2334 ; X87-LABEL: test_f32_olt_s:
2335 ; X87: # %bb.0:
2336 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2337 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2338 ; X87-NEXT: fcompp
2339 ; X87-NEXT: wait
2340 ; X87-NEXT: fnstsw %ax
2341 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2342 ; X87-NEXT: sahf
2343 ; X87-NEXT: ja .LBB31_1
2344 ; X87-NEXT: # %bb.2:
2345 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2346 ; X87-NEXT: movl (%eax), %eax
2347 ; X87-NEXT: retl
2348 ; X87-NEXT: .LBB31_1:
2349 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2350 ; X87-NEXT: movl (%eax), %eax
2351 ; X87-NEXT: retl
2353 ; X87-CMOV-LABEL: test_f32_olt_s:
2354 ; X87-CMOV: # %bb.0:
2355 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2356 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2357 ; X87-CMOV-NEXT: fcompi %st(1), %st
2358 ; X87-CMOV-NEXT: fstp %st(0)
2359 ; X87-CMOV-NEXT: wait
2360 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2361 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2362 ; X87-CMOV-NEXT: cmoval %eax, %ecx
2363 ; X87-CMOV-NEXT: movl (%ecx), %eax
2364 ; X87-CMOV-NEXT: retl
2407 ; X87-LABEL: test_f32_ole_s:
2408 ; X87: # %bb.0:
2409 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2410 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2411 ; X87-NEXT: fcompp
2412 ; X87-NEXT: wait
2413 ; X87-NEXT: fnstsw %ax
2414 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2415 ; X87-NEXT: sahf
2416 ; X87-NEXT: jae .LBB32_1
2417 ; X87-NEXT: # %bb.2:
2418 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2419 ; X87-NEXT: movl (%eax), %eax
2420 ; X87-NEXT: retl
2421 ; X87-NEXT: .LBB32_1:
2422 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2423 ; X87-NEXT: movl (%eax), %eax
2424 ; X87-NEXT: retl
2426 ; X87-CMOV-LABEL: test_f32_ole_s:
2427 ; X87-CMOV: # %bb.0:
2428 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2429 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2430 ; X87-CMOV-NEXT: fcompi %st(1), %st
2431 ; X87-CMOV-NEXT: fstp %st(0)
2432 ; X87-CMOV-NEXT: wait
2433 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2434 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2435 ; X87-CMOV-NEXT: cmovael %eax, %ecx
2436 ; X87-CMOV-NEXT: movl (%ecx), %eax
2437 ; X87-CMOV-NEXT: retl
2480 ; X87-LABEL: test_f32_one_s:
2481 ; X87: # %bb.0:
2482 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2483 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2484 ; X87-NEXT: fcompp
2485 ; X87-NEXT: wait
2486 ; X87-NEXT: fnstsw %ax
2487 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2488 ; X87-NEXT: sahf
2489 ; X87-NEXT: jne .LBB33_1
2490 ; X87-NEXT: # %bb.2:
2491 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2492 ; X87-NEXT: movl (%eax), %eax
2493 ; X87-NEXT: retl
2494 ; X87-NEXT: .LBB33_1:
2495 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2496 ; X87-NEXT: movl (%eax), %eax
2497 ; X87-NEXT: retl
2499 ; X87-CMOV-LABEL: test_f32_one_s:
2500 ; X87-CMOV: # %bb.0:
2501 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2502 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2503 ; X87-CMOV-NEXT: fcompi %st(1), %st
2504 ; X87-CMOV-NEXT: fstp %st(0)
2505 ; X87-CMOV-NEXT: wait
2506 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2507 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2508 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
2509 ; X87-CMOV-NEXT: movl (%ecx), %eax
2510 ; X87-CMOV-NEXT: retl
2553 ; X87-LABEL: test_f32_ord_s:
2554 ; X87: # %bb.0:
2555 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2556 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2557 ; X87-NEXT: fcompp
2558 ; X87-NEXT: wait
2559 ; X87-NEXT: fnstsw %ax
2560 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2561 ; X87-NEXT: sahf
2562 ; X87-NEXT: jnp .LBB34_1
2563 ; X87-NEXT: # %bb.2:
2564 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2565 ; X87-NEXT: movl (%eax), %eax
2566 ; X87-NEXT: retl
2567 ; X87-NEXT: .LBB34_1:
2568 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2569 ; X87-NEXT: movl (%eax), %eax
2570 ; X87-NEXT: retl
2572 ; X87-CMOV-LABEL: test_f32_ord_s:
2573 ; X87-CMOV: # %bb.0:
2574 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2575 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2576 ; X87-CMOV-NEXT: fcompi %st(1), %st
2577 ; X87-CMOV-NEXT: fstp %st(0)
2578 ; X87-CMOV-NEXT: wait
2579 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2580 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2581 ; X87-CMOV-NEXT: cmovnpl %eax, %ecx
2582 ; X87-CMOV-NEXT: movl (%ecx), %eax
2583 ; X87-CMOV-NEXT: retl
2626 ; X87-LABEL: test_f32_ueq_s:
2627 ; X87: # %bb.0:
2628 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2629 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2630 ; X87-NEXT: fcompp
2631 ; X87-NEXT: wait
2632 ; X87-NEXT: fnstsw %ax
2633 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2634 ; X87-NEXT: sahf
2635 ; X87-NEXT: je .LBB35_1
2636 ; X87-NEXT: # %bb.2:
2637 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2638 ; X87-NEXT: movl (%eax), %eax
2639 ; X87-NEXT: retl
2640 ; X87-NEXT: .LBB35_1:
2641 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2642 ; X87-NEXT: movl (%eax), %eax
2643 ; X87-NEXT: retl
2645 ; X87-CMOV-LABEL: test_f32_ueq_s:
2646 ; X87-CMOV: # %bb.0:
2647 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2648 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2649 ; X87-CMOV-NEXT: fcompi %st(1), %st
2650 ; X87-CMOV-NEXT: fstp %st(0)
2651 ; X87-CMOV-NEXT: wait
2652 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2653 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2654 ; X87-CMOV-NEXT: cmovel %eax, %ecx
2655 ; X87-CMOV-NEXT: movl (%ecx), %eax
2656 ; X87-CMOV-NEXT: retl
2699 ; X87-LABEL: test_f32_ugt_s:
2700 ; X87: # %bb.0:
2701 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2702 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2703 ; X87-NEXT: fcompp
2704 ; X87-NEXT: wait
2705 ; X87-NEXT: fnstsw %ax
2706 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2707 ; X87-NEXT: sahf
2708 ; X87-NEXT: jb .LBB36_1
2709 ; X87-NEXT: # %bb.2:
2710 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2711 ; X87-NEXT: movl (%eax), %eax
2712 ; X87-NEXT: retl
2713 ; X87-NEXT: .LBB36_1:
2714 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2715 ; X87-NEXT: movl (%eax), %eax
2716 ; X87-NEXT: retl
2718 ; X87-CMOV-LABEL: test_f32_ugt_s:
2719 ; X87-CMOV: # %bb.0:
2720 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2721 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2722 ; X87-CMOV-NEXT: fcompi %st(1), %st
2723 ; X87-CMOV-NEXT: fstp %st(0)
2724 ; X87-CMOV-NEXT: wait
2725 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2726 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2727 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
2728 ; X87-CMOV-NEXT: movl (%ecx), %eax
2729 ; X87-CMOV-NEXT: retl
2772 ; X87-LABEL: test_f32_uge_s:
2773 ; X87: # %bb.0:
2774 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2775 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2776 ; X87-NEXT: fcompp
2777 ; X87-NEXT: wait
2778 ; X87-NEXT: fnstsw %ax
2779 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2780 ; X87-NEXT: sahf
2781 ; X87-NEXT: jbe .LBB37_1
2782 ; X87-NEXT: # %bb.2:
2783 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2784 ; X87-NEXT: movl (%eax), %eax
2785 ; X87-NEXT: retl
2786 ; X87-NEXT: .LBB37_1:
2787 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2788 ; X87-NEXT: movl (%eax), %eax
2789 ; X87-NEXT: retl
2791 ; X87-CMOV-LABEL: test_f32_uge_s:
2792 ; X87-CMOV: # %bb.0:
2793 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2794 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2795 ; X87-CMOV-NEXT: fcompi %st(1), %st
2796 ; X87-CMOV-NEXT: fstp %st(0)
2797 ; X87-CMOV-NEXT: wait
2798 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2799 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2800 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
2801 ; X87-CMOV-NEXT: movl (%ecx), %eax
2802 ; X87-CMOV-NEXT: retl
2845 ; X87-LABEL: test_f32_ult_s:
2846 ; X87: # %bb.0:
2847 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2848 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2849 ; X87-NEXT: fcompp
2850 ; X87-NEXT: wait
2851 ; X87-NEXT: fnstsw %ax
2852 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2853 ; X87-NEXT: sahf
2854 ; X87-NEXT: jb .LBB38_1
2855 ; X87-NEXT: # %bb.2:
2856 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2857 ; X87-NEXT: movl (%eax), %eax
2858 ; X87-NEXT: retl
2859 ; X87-NEXT: .LBB38_1:
2860 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2861 ; X87-NEXT: movl (%eax), %eax
2862 ; X87-NEXT: retl
2864 ; X87-CMOV-LABEL: test_f32_ult_s:
2865 ; X87-CMOV: # %bb.0:
2866 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2867 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2868 ; X87-CMOV-NEXT: fcompi %st(1), %st
2869 ; X87-CMOV-NEXT: fstp %st(0)
2870 ; X87-CMOV-NEXT: wait
2871 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2872 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2873 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
2874 ; X87-CMOV-NEXT: movl (%ecx), %eax
2875 ; X87-CMOV-NEXT: retl
2918 ; X87-LABEL: test_f32_ule_s:
2919 ; X87: # %bb.0:
2920 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2921 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2922 ; X87-NEXT: fcompp
2923 ; X87-NEXT: wait
2924 ; X87-NEXT: fnstsw %ax
2925 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
2926 ; X87-NEXT: sahf
2927 ; X87-NEXT: jbe .LBB39_1
2928 ; X87-NEXT: # %bb.2:
2929 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2930 ; X87-NEXT: movl (%eax), %eax
2931 ; X87-NEXT: retl
2932 ; X87-NEXT: .LBB39_1:
2933 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
2934 ; X87-NEXT: movl (%eax), %eax
2935 ; X87-NEXT: retl
2937 ; X87-CMOV-LABEL: test_f32_ule_s:
2938 ; X87-CMOV: # %bb.0:
2939 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2940 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
2941 ; X87-CMOV-NEXT: fcompi %st(1), %st
2942 ; X87-CMOV-NEXT: fstp %st(0)
2943 ; X87-CMOV-NEXT: wait
2944 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
2945 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
2946 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
2947 ; X87-CMOV-NEXT: movl (%ecx), %eax
2948 ; X87-CMOV-NEXT: retl
2995 ; X87-LABEL: test_f32_une_s:
2996 ; X87: # %bb.0:
2997 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2998 ; X87-NEXT: flds {{[0-9]+}}(%esp)
2999 ; X87-NEXT: fcompp
3000 ; X87-NEXT: wait
3001 ; X87-NEXT: fnstsw %ax
3002 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3003 ; X87-NEXT: sahf
3004 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3005 ; X87-NEXT: jne .LBB40_3
3006 ; X87-NEXT: # %bb.1:
3007 ; X87-NEXT: jp .LBB40_3
3008 ; X87-NEXT: # %bb.2:
3009 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3010 ; X87-NEXT: .LBB40_3:
3011 ; X87-NEXT: movl (%eax), %eax
3012 ; X87-NEXT: retl
3014 ; X87-CMOV-LABEL: test_f32_une_s:
3015 ; X87-CMOV: # %bb.0:
3016 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
3017 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
3018 ; X87-CMOV-NEXT: fcompi %st(1), %st
3019 ; X87-CMOV-NEXT: fstp %st(0)
3020 ; X87-CMOV-NEXT: wait
3021 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3022 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3023 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
3024 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
3025 ; X87-CMOV-NEXT: movl (%ecx), %eax
3026 ; X87-CMOV-NEXT: retl
3069 ; X87-LABEL: test_f32_uno_s:
3070 ; X87: # %bb.0:
3071 ; X87-NEXT: flds {{[0-9]+}}(%esp)
3072 ; X87-NEXT: flds {{[0-9]+}}(%esp)
3073 ; X87-NEXT: fcompp
3074 ; X87-NEXT: wait
3075 ; X87-NEXT: fnstsw %ax
3076 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3077 ; X87-NEXT: sahf
3078 ; X87-NEXT: jp .LBB41_1
3079 ; X87-NEXT: # %bb.2:
3080 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3081 ; X87-NEXT: movl (%eax), %eax
3082 ; X87-NEXT: retl
3083 ; X87-NEXT: .LBB41_1:
3084 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3085 ; X87-NEXT: movl (%eax), %eax
3086 ; X87-NEXT: retl
3088 ; X87-CMOV-LABEL: test_f32_uno_s:
3089 ; X87-CMOV: # %bb.0:
3090 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
3091 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
3092 ; X87-CMOV-NEXT: fcompi %st(1), %st
3093 ; X87-CMOV-NEXT: fstp %st(0)
3094 ; X87-CMOV-NEXT: wait
3095 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3096 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3097 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
3098 ; X87-CMOV-NEXT: movl (%ecx), %eax
3099 ; X87-CMOV-NEXT: retl
3146 ; X87-LABEL: test_f64_oeq_s:
3147 ; X87: # %bb.0:
3148 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3149 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3150 ; X87-NEXT: fcompp
3151 ; X87-NEXT: wait
3152 ; X87-NEXT: fnstsw %ax
3153 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3154 ; X87-NEXT: sahf
3155 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3156 ; X87-NEXT: jne .LBB42_3
3157 ; X87-NEXT: # %bb.1:
3158 ; X87-NEXT: jp .LBB42_3
3159 ; X87-NEXT: # %bb.2:
3160 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3161 ; X87-NEXT: .LBB42_3:
3162 ; X87-NEXT: movl (%eax), %eax
3163 ; X87-NEXT: retl
3165 ; X87-CMOV-LABEL: test_f64_oeq_s:
3166 ; X87-CMOV: # %bb.0:
3167 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3168 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3169 ; X87-CMOV-NEXT: fcompi %st(1), %st
3170 ; X87-CMOV-NEXT: fstp %st(0)
3171 ; X87-CMOV-NEXT: wait
3172 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3173 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3174 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
3175 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
3176 ; X87-CMOV-NEXT: movl (%ecx), %eax
3177 ; X87-CMOV-NEXT: retl
3220 ; X87-LABEL: test_f64_ogt_s:
3221 ; X87: # %bb.0:
3222 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3223 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3224 ; X87-NEXT: fcompp
3225 ; X87-NEXT: wait
3226 ; X87-NEXT: fnstsw %ax
3227 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3228 ; X87-NEXT: sahf
3229 ; X87-NEXT: ja .LBB43_1
3230 ; X87-NEXT: # %bb.2:
3231 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3232 ; X87-NEXT: movl (%eax), %eax
3233 ; X87-NEXT: retl
3234 ; X87-NEXT: .LBB43_1:
3235 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3236 ; X87-NEXT: movl (%eax), %eax
3237 ; X87-NEXT: retl
3239 ; X87-CMOV-LABEL: test_f64_ogt_s:
3240 ; X87-CMOV: # %bb.0:
3241 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3242 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3243 ; X87-CMOV-NEXT: fcompi %st(1), %st
3244 ; X87-CMOV-NEXT: fstp %st(0)
3245 ; X87-CMOV-NEXT: wait
3246 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3247 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3248 ; X87-CMOV-NEXT: cmoval %eax, %ecx
3249 ; X87-CMOV-NEXT: movl (%ecx), %eax
3250 ; X87-CMOV-NEXT: retl
3293 ; X87-LABEL: test_f64_oge_s:
3294 ; X87: # %bb.0:
3295 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3296 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3297 ; X87-NEXT: fcompp
3298 ; X87-NEXT: wait
3299 ; X87-NEXT: fnstsw %ax
3300 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3301 ; X87-NEXT: sahf
3302 ; X87-NEXT: jae .LBB44_1
3303 ; X87-NEXT: # %bb.2:
3304 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3305 ; X87-NEXT: movl (%eax), %eax
3306 ; X87-NEXT: retl
3307 ; X87-NEXT: .LBB44_1:
3308 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3309 ; X87-NEXT: movl (%eax), %eax
3310 ; X87-NEXT: retl
3312 ; X87-CMOV-LABEL: test_f64_oge_s:
3313 ; X87-CMOV: # %bb.0:
3314 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3315 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3316 ; X87-CMOV-NEXT: fcompi %st(1), %st
3317 ; X87-CMOV-NEXT: fstp %st(0)
3318 ; X87-CMOV-NEXT: wait
3319 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3320 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3321 ; X87-CMOV-NEXT: cmovael %eax, %ecx
3322 ; X87-CMOV-NEXT: movl (%ecx), %eax
3323 ; X87-CMOV-NEXT: retl
3366 ; X87-LABEL: test_f64_olt_s:
3367 ; X87: # %bb.0:
3368 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3369 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3370 ; X87-NEXT: fcompp
3371 ; X87-NEXT: wait
3372 ; X87-NEXT: fnstsw %ax
3373 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3374 ; X87-NEXT: sahf
3375 ; X87-NEXT: ja .LBB45_1
3376 ; X87-NEXT: # %bb.2:
3377 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3378 ; X87-NEXT: movl (%eax), %eax
3379 ; X87-NEXT: retl
3380 ; X87-NEXT: .LBB45_1:
3381 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3382 ; X87-NEXT: movl (%eax), %eax
3383 ; X87-NEXT: retl
3385 ; X87-CMOV-LABEL: test_f64_olt_s:
3386 ; X87-CMOV: # %bb.0:
3387 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3388 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3389 ; X87-CMOV-NEXT: fcompi %st(1), %st
3390 ; X87-CMOV-NEXT: fstp %st(0)
3391 ; X87-CMOV-NEXT: wait
3392 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3393 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3394 ; X87-CMOV-NEXT: cmoval %eax, %ecx
3395 ; X87-CMOV-NEXT: movl (%ecx), %eax
3396 ; X87-CMOV-NEXT: retl
3439 ; X87-LABEL: test_f64_ole_s:
3440 ; X87: # %bb.0:
3441 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3442 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3443 ; X87-NEXT: fcompp
3444 ; X87-NEXT: wait
3445 ; X87-NEXT: fnstsw %ax
3446 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3447 ; X87-NEXT: sahf
3448 ; X87-NEXT: jae .LBB46_1
3449 ; X87-NEXT: # %bb.2:
3450 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3451 ; X87-NEXT: movl (%eax), %eax
3452 ; X87-NEXT: retl
3453 ; X87-NEXT: .LBB46_1:
3454 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3455 ; X87-NEXT: movl (%eax), %eax
3456 ; X87-NEXT: retl
3458 ; X87-CMOV-LABEL: test_f64_ole_s:
3459 ; X87-CMOV: # %bb.0:
3460 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3461 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3462 ; X87-CMOV-NEXT: fcompi %st(1), %st
3463 ; X87-CMOV-NEXT: fstp %st(0)
3464 ; X87-CMOV-NEXT: wait
3465 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3466 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3467 ; X87-CMOV-NEXT: cmovael %eax, %ecx
3468 ; X87-CMOV-NEXT: movl (%ecx), %eax
3469 ; X87-CMOV-NEXT: retl
3512 ; X87-LABEL: test_f64_one_s:
3513 ; X87: # %bb.0:
3514 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3515 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3516 ; X87-NEXT: fcompp
3517 ; X87-NEXT: wait
3518 ; X87-NEXT: fnstsw %ax
3519 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3520 ; X87-NEXT: sahf
3521 ; X87-NEXT: jne .LBB47_1
3522 ; X87-NEXT: # %bb.2:
3523 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3524 ; X87-NEXT: movl (%eax), %eax
3525 ; X87-NEXT: retl
3526 ; X87-NEXT: .LBB47_1:
3527 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3528 ; X87-NEXT: movl (%eax), %eax
3529 ; X87-NEXT: retl
3531 ; X87-CMOV-LABEL: test_f64_one_s:
3532 ; X87-CMOV: # %bb.0:
3533 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3534 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3535 ; X87-CMOV-NEXT: fcompi %st(1), %st
3536 ; X87-CMOV-NEXT: fstp %st(0)
3537 ; X87-CMOV-NEXT: wait
3538 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3539 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3540 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
3541 ; X87-CMOV-NEXT: movl (%ecx), %eax
3542 ; X87-CMOV-NEXT: retl
3585 ; X87-LABEL: test_f64_ord_s:
3586 ; X87: # %bb.0:
3587 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3588 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3589 ; X87-NEXT: fcompp
3590 ; X87-NEXT: wait
3591 ; X87-NEXT: fnstsw %ax
3592 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3593 ; X87-NEXT: sahf
3594 ; X87-NEXT: jnp .LBB48_1
3595 ; X87-NEXT: # %bb.2:
3596 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3597 ; X87-NEXT: movl (%eax), %eax
3598 ; X87-NEXT: retl
3599 ; X87-NEXT: .LBB48_1:
3600 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3601 ; X87-NEXT: movl (%eax), %eax
3602 ; X87-NEXT: retl
3604 ; X87-CMOV-LABEL: test_f64_ord_s:
3605 ; X87-CMOV: # %bb.0:
3606 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3607 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3608 ; X87-CMOV-NEXT: fcompi %st(1), %st
3609 ; X87-CMOV-NEXT: fstp %st(0)
3610 ; X87-CMOV-NEXT: wait
3611 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3612 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3613 ; X87-CMOV-NEXT: cmovnpl %eax, %ecx
3614 ; X87-CMOV-NEXT: movl (%ecx), %eax
3615 ; X87-CMOV-NEXT: retl
3658 ; X87-LABEL: test_f64_ueq_s:
3659 ; X87: # %bb.0:
3660 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3661 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3662 ; X87-NEXT: fcompp
3663 ; X87-NEXT: wait
3664 ; X87-NEXT: fnstsw %ax
3665 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3666 ; X87-NEXT: sahf
3667 ; X87-NEXT: je .LBB49_1
3668 ; X87-NEXT: # %bb.2:
3669 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3670 ; X87-NEXT: movl (%eax), %eax
3671 ; X87-NEXT: retl
3672 ; X87-NEXT: .LBB49_1:
3673 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3674 ; X87-NEXT: movl (%eax), %eax
3675 ; X87-NEXT: retl
3677 ; X87-CMOV-LABEL: test_f64_ueq_s:
3678 ; X87-CMOV: # %bb.0:
3679 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3680 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3681 ; X87-CMOV-NEXT: fcompi %st(1), %st
3682 ; X87-CMOV-NEXT: fstp %st(0)
3683 ; X87-CMOV-NEXT: wait
3684 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3685 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3686 ; X87-CMOV-NEXT: cmovel %eax, %ecx
3687 ; X87-CMOV-NEXT: movl (%ecx), %eax
3688 ; X87-CMOV-NEXT: retl
3731 ; X87-LABEL: test_f64_ugt_s:
3732 ; X87: # %bb.0:
3733 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3734 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3735 ; X87-NEXT: fcompp
3736 ; X87-NEXT: wait
3737 ; X87-NEXT: fnstsw %ax
3738 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3739 ; X87-NEXT: sahf
3740 ; X87-NEXT: jb .LBB50_1
3741 ; X87-NEXT: # %bb.2:
3742 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3743 ; X87-NEXT: movl (%eax), %eax
3744 ; X87-NEXT: retl
3745 ; X87-NEXT: .LBB50_1:
3746 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3747 ; X87-NEXT: movl (%eax), %eax
3748 ; X87-NEXT: retl
3750 ; X87-CMOV-LABEL: test_f64_ugt_s:
3751 ; X87-CMOV: # %bb.0:
3752 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3753 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3754 ; X87-CMOV-NEXT: fcompi %st(1), %st
3755 ; X87-CMOV-NEXT: fstp %st(0)
3756 ; X87-CMOV-NEXT: wait
3757 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3758 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3759 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
3760 ; X87-CMOV-NEXT: movl (%ecx), %eax
3761 ; X87-CMOV-NEXT: retl
3804 ; X87-LABEL: test_f64_uge_s:
3805 ; X87: # %bb.0:
3806 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3807 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3808 ; X87-NEXT: fcompp
3809 ; X87-NEXT: wait
3810 ; X87-NEXT: fnstsw %ax
3811 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3812 ; X87-NEXT: sahf
3813 ; X87-NEXT: jbe .LBB51_1
3814 ; X87-NEXT: # %bb.2:
3815 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3816 ; X87-NEXT: movl (%eax), %eax
3817 ; X87-NEXT: retl
3818 ; X87-NEXT: .LBB51_1:
3819 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3820 ; X87-NEXT: movl (%eax), %eax
3821 ; X87-NEXT: retl
3823 ; X87-CMOV-LABEL: test_f64_uge_s:
3824 ; X87-CMOV: # %bb.0:
3825 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3826 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3827 ; X87-CMOV-NEXT: fcompi %st(1), %st
3828 ; X87-CMOV-NEXT: fstp %st(0)
3829 ; X87-CMOV-NEXT: wait
3830 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3831 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3832 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
3833 ; X87-CMOV-NEXT: movl (%ecx), %eax
3834 ; X87-CMOV-NEXT: retl
3877 ; X87-LABEL: test_f64_ult_s:
3878 ; X87: # %bb.0:
3879 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3880 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3881 ; X87-NEXT: fcompp
3882 ; X87-NEXT: wait
3883 ; X87-NEXT: fnstsw %ax
3884 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3885 ; X87-NEXT: sahf
3886 ; X87-NEXT: jb .LBB52_1
3887 ; X87-NEXT: # %bb.2:
3888 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3889 ; X87-NEXT: movl (%eax), %eax
3890 ; X87-NEXT: retl
3891 ; X87-NEXT: .LBB52_1:
3892 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3893 ; X87-NEXT: movl (%eax), %eax
3894 ; X87-NEXT: retl
3896 ; X87-CMOV-LABEL: test_f64_ult_s:
3897 ; X87-CMOV: # %bb.0:
3898 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3899 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3900 ; X87-CMOV-NEXT: fcompi %st(1), %st
3901 ; X87-CMOV-NEXT: fstp %st(0)
3902 ; X87-CMOV-NEXT: wait
3903 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3904 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3905 ; X87-CMOV-NEXT: cmovbl %eax, %ecx
3906 ; X87-CMOV-NEXT: movl (%ecx), %eax
3907 ; X87-CMOV-NEXT: retl
3950 ; X87-LABEL: test_f64_ule_s:
3951 ; X87: # %bb.0:
3952 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3953 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
3954 ; X87-NEXT: fcompp
3955 ; X87-NEXT: wait
3956 ; X87-NEXT: fnstsw %ax
3957 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
3958 ; X87-NEXT: sahf
3959 ; X87-NEXT: jbe .LBB53_1
3960 ; X87-NEXT: # %bb.2:
3961 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3962 ; X87-NEXT: movl (%eax), %eax
3963 ; X87-NEXT: retl
3964 ; X87-NEXT: .LBB53_1:
3965 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
3966 ; X87-NEXT: movl (%eax), %eax
3967 ; X87-NEXT: retl
3969 ; X87-CMOV-LABEL: test_f64_ule_s:
3970 ; X87-CMOV: # %bb.0:
3971 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3972 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
3973 ; X87-CMOV-NEXT: fcompi %st(1), %st
3974 ; X87-CMOV-NEXT: fstp %st(0)
3975 ; X87-CMOV-NEXT: wait
3976 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
3977 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
3978 ; X87-CMOV-NEXT: cmovbel %eax, %ecx
3979 ; X87-CMOV-NEXT: movl (%ecx), %eax
3980 ; X87-CMOV-NEXT: retl
4027 ; X87-LABEL: test_f64_une_s:
4028 ; X87: # %bb.0:
4029 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
4030 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
4031 ; X87-NEXT: fcompp
4032 ; X87-NEXT: wait
4033 ; X87-NEXT: fnstsw %ax
4034 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
4035 ; X87-NEXT: sahf
4036 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
4037 ; X87-NEXT: jne .LBB54_3
4038 ; X87-NEXT: # %bb.1:
4039 ; X87-NEXT: jp .LBB54_3
4040 ; X87-NEXT: # %bb.2:
4041 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
4042 ; X87-NEXT: .LBB54_3:
4043 ; X87-NEXT: movl (%eax), %eax
4044 ; X87-NEXT: retl
4046 ; X87-CMOV-LABEL: test_f64_une_s:
4047 ; X87-CMOV: # %bb.0:
4048 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
4049 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
4050 ; X87-CMOV-NEXT: fcompi %st(1), %st
4051 ; X87-CMOV-NEXT: fstp %st(0)
4052 ; X87-CMOV-NEXT: wait
4053 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
4054 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
4055 ; X87-CMOV-NEXT: cmovnel %eax, %ecx
4056 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
4057 ; X87-CMOV-NEXT: movl (%ecx), %eax
4058 ; X87-CMOV-NEXT: retl
4101 ; X87-LABEL: test_f64_uno_s:
4102 ; X87: # %bb.0:
4103 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
4104 ; X87-NEXT: fldl {{[0-9]+}}(%esp)
4105 ; X87-NEXT: fcompp
4106 ; X87-NEXT: wait
4107 ; X87-NEXT: fnstsw %ax
4108 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
4109 ; X87-NEXT: sahf
4110 ; X87-NEXT: jp .LBB55_1
4111 ; X87-NEXT: # %bb.2:
4112 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
4113 ; X87-NEXT: movl (%eax), %eax
4114 ; X87-NEXT: retl
4115 ; X87-NEXT: .LBB55_1:
4116 ; X87-NEXT: leal {{[0-9]+}}(%esp), %eax
4117 ; X87-NEXT: movl (%eax), %eax
4118 ; X87-NEXT: retl
4120 ; X87-CMOV-LABEL: test_f64_uno_s:
4121 ; X87-CMOV: # %bb.0:
4122 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
4123 ; X87-CMOV-NEXT: fldl {{[0-9]+}}(%esp)
4124 ; X87-CMOV-NEXT: fcompi %st(1), %st
4125 ; X87-CMOV-NEXT: fstp %st(0)
4126 ; X87-CMOV-NEXT: wait
4127 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %eax
4128 ; X87-CMOV-NEXT: leal {{[0-9]+}}(%esp), %ecx
4129 ; X87-CMOV-NEXT: cmovpl %eax, %ecx
4130 ; X87-CMOV-NEXT: movl (%ecx), %eax
4131 ; X87-CMOV-NEXT: retl
4178 ; X87-LABEL: foo:
4179 ; X87: # %bb.0:
4180 ; X87-NEXT: flds {{[0-9]+}}(%esp)
4181 ; X87-NEXT: flds {{[0-9]+}}(%esp)
4182 ; X87-NEXT: fucompp
4183 ; X87-NEXT: wait
4184 ; X87-NEXT: fnstsw %ax
4185 ; X87-NEXT: # kill: def $ah killed $ah killed $ax
4186 ; X87-NEXT: sahf
4187 ; X87-NEXT: jbe .LBB56_1
4188 ; X87-NEXT: # %bb.2:
4189 ; X87-NEXT: jmp bar # TAILCALL
4190 ; X87-NEXT: .LBB56_1:
4191 ; X87-NEXT: retl
4193 ; X87-CMOV-LABEL: foo:
4194 ; X87-CMOV: # %bb.0:
4195 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
4196 ; X87-CMOV-NEXT: flds {{[0-9]+}}(%esp)
4197 ; X87-CMOV-NEXT: fucompi %st(1), %st
4198 ; X87-CMOV-NEXT: fstp %st(0)
4199 ; X87-CMOV-NEXT: wait
4200 ; X87-CMOV-NEXT: jbe .LBB56_1
4201 ; X87-CMOV-NEXT: # %bb.2:
4202 ; X87-CMOV-NEXT: jmp bar # TAILCALL
4203 ; X87-CMOV-NEXT: .LBB56_1:
4204 ; X87-CMOV-NEXT: retl