; X86-NEXT: fldt 8(%ebp)
; X86-NEXT: flds {{\.LCPI.*}}
; X86-NEXT: fld %st(1)
-; X86-NEXT: fsub %st(1)
+; X86-NEXT: fsub %st(1), %st
; X86-NEXT: fxch %st(1)
; X86-NEXT: fucomp %st(2)
; X86-NEXT: fnstsw %ax
; X64-X87-NEXT: fldt {{[0-9]+}}(%rsp)
; X64-X87-NEXT: flds {{.*}}(%rip)
; X64-X87-NEXT: fld %st(1)
-; X64-X87-NEXT: fsub %st(1)
+; X64-X87-NEXT: fsub %st(1), %st
; X64-X87-NEXT: xorl %eax, %eax
; X64-X87-NEXT: fxch %st(1)
-; X64-X87-NEXT: fucompi %st(2)
+; X64-X87-NEXT: fucompi %st(2), %st
; X64-X87-NEXT: fcmovnbe %st(1), %st
; X64-X87-NEXT: fstp %st(1)
; X64-X87-NEXT: fnstcw -{{[0-9]+}}(%rsp)
; X64-SSSE3-NEXT: fldt {{[0-9]+}}(%rsp)
; X64-SSSE3-NEXT: flds {{.*}}(%rip)
; X64-SSSE3-NEXT: fld %st(1)
-; X64-SSSE3-NEXT: fsub %st(1)
+; X64-SSSE3-NEXT: fsub %st(1), %st
; X64-SSSE3-NEXT: xorl %eax, %eax
; X64-SSSE3-NEXT: fxch %st(1)
-; X64-SSSE3-NEXT: fucompi %st(2)
+; X64-SSSE3-NEXT: fucompi %st(2), %st
; X64-SSSE3-NEXT: fcmovnbe %st(1), %st
; X64-SSSE3-NEXT: fstp %st(1)
; X64-SSSE3-NEXT: fisttpll -{{[0-9]+}}(%rsp)
; X86-NEXT: fldt (%eax)
; X86-NEXT: flds {{\.LCPI.*}}
; X86-NEXT: fld %st(1)
-; X86-NEXT: fsub %st(1)
+; X86-NEXT: fsub %st(1), %st
; X86-NEXT: fxch %st(1)
; X86-NEXT: fucomp %st(2)
; X86-NEXT: fnstsw %ax
; X64-X87-NEXT: fldt (%rdi)
; X64-X87-NEXT: flds {{.*}}(%rip)
; X64-X87-NEXT: fld %st(1)
-; X64-X87-NEXT: fsub %st(1)
+; X64-X87-NEXT: fsub %st(1), %st
; X64-X87-NEXT: xorl %eax, %eax
; X64-X87-NEXT: fxch %st(1)
-; X64-X87-NEXT: fucompi %st(2)
+; X64-X87-NEXT: fucompi %st(2), %st
; X64-X87-NEXT: fcmovnbe %st(1), %st
; X64-X87-NEXT: fstp %st(1)
; X64-X87-NEXT: fnstcw -{{[0-9]+}}(%rsp)
; X64-SSSE3-NEXT: fldt (%rdi)
; X64-SSSE3-NEXT: flds {{.*}}(%rip)
; X64-SSSE3-NEXT: fld %st(1)
-; X64-SSSE3-NEXT: fsub %st(1)
+; X64-SSSE3-NEXT: fsub %st(1), %st
; X64-SSSE3-NEXT: xorl %eax, %eax
; X64-SSSE3-NEXT: fxch %st(1)
-; X64-SSSE3-NEXT: fucompi %st(2)
+; X64-SSSE3-NEXT: fucompi %st(2), %st
; X64-SSSE3-NEXT: fcmovnbe %st(1), %st
; X64-SSSE3-NEXT: fstp %st(1)
; X64-SSSE3-NEXT: fisttpll -{{[0-9]+}}(%rsp)
; X87_WIN-NEXT: flds 8(%ebp)
; X87_WIN-NEXT: flds __real@5f000000
; X87_WIN-NEXT: fld %st(1)
-; X87_WIN-NEXT: fsub %st(1)
+; X87_WIN-NEXT: fsub %st(1), %st
; X87_WIN-NEXT: fxch %st(1)
; X87_WIN-NEXT: fucomp %st(2)
; X87_WIN-NEXT: fnstsw %ax
; X87_LIN-NEXT: flds {{[0-9]+}}(%esp)
; X87_LIN-NEXT: flds {{\.LCPI.*}}
; X87_LIN-NEXT: fld %st(1)
-; X87_LIN-NEXT: fsub %st(1)
+; X87_LIN-NEXT: fsub %st(1), %st
; X87_LIN-NEXT: fxch %st(1)
; X87_LIN-NEXT: fucomp %st(2)
; X87_LIN-NEXT: fnstsw %ax
; X87_WIN-NEXT: fldl 8(%ebp)
; X87_WIN-NEXT: flds __real@5f000000
; X87_WIN-NEXT: fld %st(1)
-; X87_WIN-NEXT: fsub %st(1)
+; X87_WIN-NEXT: fsub %st(1), %st
; X87_WIN-NEXT: fxch %st(1)
; X87_WIN-NEXT: fucomp %st(2)
; X87_WIN-NEXT: fnstsw %ax
; X87_LIN-NEXT: fldl {{[0-9]+}}(%esp)
; X87_LIN-NEXT: flds {{\.LCPI.*}}
; X87_LIN-NEXT: fld %st(1)
-; X87_LIN-NEXT: fsub %st(1)
+; X87_LIN-NEXT: fsub %st(1), %st
; X87_LIN-NEXT: fxch %st(1)
; X87_LIN-NEXT: fucomp %st(2)
; X87_LIN-NEXT: fnstsw %ax
; AVX512_32_WIN-NEXT: fldt 8(%ebp)
; AVX512_32_WIN-NEXT: flds __real@5f000000
; AVX512_32_WIN-NEXT: fld %st(1)
-; AVX512_32_WIN-NEXT: fsub %st(1)
+; AVX512_32_WIN-NEXT: fsub %st(1), %st
; AVX512_32_WIN-NEXT: xorl %edx, %edx
; AVX512_32_WIN-NEXT: fxch %st(1)
-; AVX512_32_WIN-NEXT: fucompi %st(2)
+; AVX512_32_WIN-NEXT: fucompi %st(2), %st
; AVX512_32_WIN-NEXT: fcmovnbe %st(1), %st
; AVX512_32_WIN-NEXT: fstp %st(1)
; AVX512_32_WIN-NEXT: fisttpll (%esp)
; AVX512_32_LIN-NEXT: fldt {{[0-9]+}}(%esp)
; AVX512_32_LIN-NEXT: flds {{\.LCPI.*}}
; AVX512_32_LIN-NEXT: fld %st(1)
-; AVX512_32_LIN-NEXT: fsub %st(1)
+; AVX512_32_LIN-NEXT: fsub %st(1), %st
; AVX512_32_LIN-NEXT: xorl %edx, %edx
; AVX512_32_LIN-NEXT: fxch %st(1)
-; AVX512_32_LIN-NEXT: fucompi %st(2)
+; AVX512_32_LIN-NEXT: fucompi %st(2), %st
; AVX512_32_LIN-NEXT: fcmovnbe %st(1), %st
; AVX512_32_LIN-NEXT: fstp %st(1)
; AVX512_32_LIN-NEXT: fisttpll (%esp)
; AVX512_64_WIN-NEXT: fldt (%rcx)
; AVX512_64_WIN-NEXT: flds __real@{{.*}}(%rip)
; AVX512_64_WIN-NEXT: fld %st(1)
-; AVX512_64_WIN-NEXT: fsub %st(1)
+; AVX512_64_WIN-NEXT: fsub %st(1), %st
; AVX512_64_WIN-NEXT: xorl %ecx, %ecx
; AVX512_64_WIN-NEXT: fxch %st(1)
-; AVX512_64_WIN-NEXT: fucompi %st(2)
+; AVX512_64_WIN-NEXT: fucompi %st(2), %st
; AVX512_64_WIN-NEXT: fcmovnbe %st(1), %st
; AVX512_64_WIN-NEXT: fstp %st(1)
; AVX512_64_WIN-NEXT: fisttpll (%rsp)
; AVX512_64_LIN-NEXT: fldt {{[0-9]+}}(%rsp)
; AVX512_64_LIN-NEXT: flds {{.*}}(%rip)
; AVX512_64_LIN-NEXT: fld %st(1)
-; AVX512_64_LIN-NEXT: fsub %st(1)
+; AVX512_64_LIN-NEXT: fsub %st(1), %st
; AVX512_64_LIN-NEXT: xorl %ecx, %ecx
; AVX512_64_LIN-NEXT: fxch %st(1)
-; AVX512_64_LIN-NEXT: fucompi %st(2)
+; AVX512_64_LIN-NEXT: fucompi %st(2), %st
; AVX512_64_LIN-NEXT: fcmovnbe %st(1), %st
; AVX512_64_LIN-NEXT: fstp %st(1)
; AVX512_64_LIN-NEXT: fisttpll -{{[0-9]+}}(%rsp)
; SSE3_32_WIN-NEXT: fldt 8(%ebp)
; SSE3_32_WIN-NEXT: flds __real@5f000000
; SSE3_32_WIN-NEXT: fld %st(1)
-; SSE3_32_WIN-NEXT: fsub %st(1)
+; SSE3_32_WIN-NEXT: fsub %st(1), %st
; SSE3_32_WIN-NEXT: xorl %edx, %edx
; SSE3_32_WIN-NEXT: fxch %st(1)
-; SSE3_32_WIN-NEXT: fucompi %st(2)
+; SSE3_32_WIN-NEXT: fucompi %st(2), %st
; SSE3_32_WIN-NEXT: fcmovnbe %st(1), %st
; SSE3_32_WIN-NEXT: fstp %st(1)
; SSE3_32_WIN-NEXT: fisttpll (%esp)
; SSE3_32_LIN-NEXT: fldt {{[0-9]+}}(%esp)
; SSE3_32_LIN-NEXT: flds {{\.LCPI.*}}
; SSE3_32_LIN-NEXT: fld %st(1)
-; SSE3_32_LIN-NEXT: fsub %st(1)
+; SSE3_32_LIN-NEXT: fsub %st(1), %st
; SSE3_32_LIN-NEXT: xorl %edx, %edx
; SSE3_32_LIN-NEXT: fxch %st(1)
-; SSE3_32_LIN-NEXT: fucompi %st(2)
+; SSE3_32_LIN-NEXT: fucompi %st(2), %st
; SSE3_32_LIN-NEXT: fcmovnbe %st(1), %st
; SSE3_32_LIN-NEXT: fstp %st(1)
; SSE3_32_LIN-NEXT: fisttpll (%esp)
; SSE3_64_WIN-NEXT: fldt (%rcx)
; SSE3_64_WIN-NEXT: flds __real@{{.*}}(%rip)
; SSE3_64_WIN-NEXT: fld %st(1)
-; SSE3_64_WIN-NEXT: fsub %st(1)
+; SSE3_64_WIN-NEXT: fsub %st(1), %st
; SSE3_64_WIN-NEXT: xorl %eax, %eax
; SSE3_64_WIN-NEXT: fxch %st(1)
-; SSE3_64_WIN-NEXT: fucompi %st(2)
+; SSE3_64_WIN-NEXT: fucompi %st(2), %st
; SSE3_64_WIN-NEXT: fcmovnbe %st(1), %st
; SSE3_64_WIN-NEXT: fstp %st(1)
; SSE3_64_WIN-NEXT: fisttpll (%rsp)
; SSE3_64_LIN-NEXT: fldt {{[0-9]+}}(%rsp)
; SSE3_64_LIN-NEXT: flds {{.*}}(%rip)
; SSE3_64_LIN-NEXT: fld %st(1)
-; SSE3_64_LIN-NEXT: fsub %st(1)
+; SSE3_64_LIN-NEXT: fsub %st(1), %st
; SSE3_64_LIN-NEXT: xorl %eax, %eax
; SSE3_64_LIN-NEXT: fxch %st(1)
-; SSE3_64_LIN-NEXT: fucompi %st(2)
+; SSE3_64_LIN-NEXT: fucompi %st(2), %st
; SSE3_64_LIN-NEXT: fcmovnbe %st(1), %st
; SSE3_64_LIN-NEXT: fstp %st(1)
; SSE3_64_LIN-NEXT: fisttpll -{{[0-9]+}}(%rsp)
; SSE2_32_WIN-NEXT: fldt 8(%ebp)
; SSE2_32_WIN-NEXT: flds __real@5f000000
; SSE2_32_WIN-NEXT: fld %st(1)
-; SSE2_32_WIN-NEXT: fsub %st(1)
+; SSE2_32_WIN-NEXT: fsub %st(1), %st
; SSE2_32_WIN-NEXT: xorl %edx, %edx
; SSE2_32_WIN-NEXT: fxch %st(1)
-; SSE2_32_WIN-NEXT: fucompi %st(2)
+; SSE2_32_WIN-NEXT: fucompi %st(2), %st
; SSE2_32_WIN-NEXT: fcmovnbe %st(1), %st
; SSE2_32_WIN-NEXT: fstp %st(1)
; SSE2_32_WIN-NEXT: fnstcw {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: fldt {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: flds {{\.LCPI.*}}
; SSE2_32_LIN-NEXT: fld %st(1)
-; SSE2_32_LIN-NEXT: fsub %st(1)
+; SSE2_32_LIN-NEXT: fsub %st(1), %st
; SSE2_32_LIN-NEXT: xorl %edx, %edx
; SSE2_32_LIN-NEXT: fxch %st(1)
-; SSE2_32_LIN-NEXT: fucompi %st(2)
+; SSE2_32_LIN-NEXT: fucompi %st(2), %st
; SSE2_32_LIN-NEXT: fcmovnbe %st(1), %st
; SSE2_32_LIN-NEXT: fstp %st(1)
; SSE2_32_LIN-NEXT: fnstcw {{[0-9]+}}(%esp)
; SSE2_64_WIN-NEXT: fldt (%rcx)
; SSE2_64_WIN-NEXT: flds __real@{{.*}}(%rip)
; SSE2_64_WIN-NEXT: fld %st(1)
-; SSE2_64_WIN-NEXT: fsub %st(1)
+; SSE2_64_WIN-NEXT: fsub %st(1), %st
; SSE2_64_WIN-NEXT: xorl %eax, %eax
; SSE2_64_WIN-NEXT: fxch %st(1)
-; SSE2_64_WIN-NEXT: fucompi %st(2)
+; SSE2_64_WIN-NEXT: fucompi %st(2), %st
; SSE2_64_WIN-NEXT: fcmovnbe %st(1), %st
; SSE2_64_WIN-NEXT: fstp %st(1)
; SSE2_64_WIN-NEXT: fnstcw {{[0-9]+}}(%rsp)
; SSE2_64_LIN-NEXT: fldt {{[0-9]+}}(%rsp)
; SSE2_64_LIN-NEXT: flds {{.*}}(%rip)
; SSE2_64_LIN-NEXT: fld %st(1)
-; SSE2_64_LIN-NEXT: fsub %st(1)
+; SSE2_64_LIN-NEXT: fsub %st(1), %st
; SSE2_64_LIN-NEXT: xorl %eax, %eax
; SSE2_64_LIN-NEXT: fxch %st(1)
-; SSE2_64_LIN-NEXT: fucompi %st(2)
+; SSE2_64_LIN-NEXT: fucompi %st(2), %st
; SSE2_64_LIN-NEXT: fcmovnbe %st(1), %st
; SSE2_64_LIN-NEXT: fstp %st(1)
; SSE2_64_LIN-NEXT: fnstcw -{{[0-9]+}}(%rsp)
; X87_WIN-NEXT: fldt 8(%ebp)
; X87_WIN-NEXT: flds __real@5f000000
; X87_WIN-NEXT: fld %st(1)
-; X87_WIN-NEXT: fsub %st(1)
+; X87_WIN-NEXT: fsub %st(1), %st
; X87_WIN-NEXT: fxch %st(1)
; X87_WIN-NEXT: fucomp %st(2)
; X87_WIN-NEXT: fnstsw %ax
; X87_LIN-NEXT: fldt {{[0-9]+}}(%esp)
; X87_LIN-NEXT: flds {{\.LCPI.*}}
; X87_LIN-NEXT: fld %st(1)
-; X87_LIN-NEXT: fsub %st(1)
+; X87_LIN-NEXT: fsub %st(1), %st
; X87_LIN-NEXT: fxch %st(1)
; X87_LIN-NEXT: fucomp %st(2)
; X87_LIN-NEXT: fnstsw %ax