; NOSSE2-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE2-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE2-NEXT: setg %al
+; NOSSE2-NEXT: testb %al, %al
; NOSSE2-NEXT: flds {{\.LCPI.*}}
-; NOSSE2-NEXT: jg .LBB4_2
-; NOSSE2-NEXT: # %bb.1:
-; NOSSE2-NEXT: fstp %st(0)
-; NOSSE2-NEXT: fldz
; NOSSE2-NEXT: fxch %st(1)
-; NOSSE2-NEXT: .LBB4_2:
+; NOSSE2-NEXT: fcmovne %st(1), %st
; NOSSE2-NEXT: fstp %st(1)
; NOSSE2-NEXT: retl
;
; NOSSE1-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setg %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jg .LBB4_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB4_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: fldl {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setg %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jg .LBB4_2
+; NOCMOV-NEXT: jne .LBB4_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz
; NOSSE2-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE2-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE2-NEXT: setge %al
+; NOSSE2-NEXT: testb %al, %al
; NOSSE2-NEXT: flds {{\.LCPI.*}}
-; NOSSE2-NEXT: jge .LBB5_2
-; NOSSE2-NEXT: # %bb.1:
-; NOSSE2-NEXT: fstp %st(0)
-; NOSSE2-NEXT: fldz
; NOSSE2-NEXT: fxch %st(1)
-; NOSSE2-NEXT: .LBB5_2:
+; NOSSE2-NEXT: fcmovne %st(1), %st
; NOSSE2-NEXT: fstp %st(1)
; NOSSE2-NEXT: retl
;
; NOSSE1-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setge %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jge .LBB5_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB5_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: fldl {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setge %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jge .LBB5_2
+; NOCMOV-NEXT: jne .LBB5_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz
; NOSSE2-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE2-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE2-NEXT: setl %al
+; NOSSE2-NEXT: testb %al, %al
; NOSSE2-NEXT: flds {{\.LCPI.*}}
-; NOSSE2-NEXT: jl .LBB6_2
-; NOSSE2-NEXT: # %bb.1:
-; NOSSE2-NEXT: fstp %st(0)
-; NOSSE2-NEXT: fldz
; NOSSE2-NEXT: fxch %st(1)
-; NOSSE2-NEXT: .LBB6_2:
+; NOSSE2-NEXT: fcmovne %st(1), %st
; NOSSE2-NEXT: fstp %st(1)
; NOSSE2-NEXT: retl
;
; NOSSE1-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setl %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jl .LBB6_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB6_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: fldl {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setl %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jl .LBB6_2
+; NOCMOV-NEXT: jne .LBB6_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz
; NOSSE2-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE2-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE2-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE2-NEXT: setle %al
+; NOSSE2-NEXT: testb %al, %al
; NOSSE2-NEXT: flds {{\.LCPI.*}}
-; NOSSE2-NEXT: jle .LBB7_2
-; NOSSE2-NEXT: # %bb.1:
-; NOSSE2-NEXT: fstp %st(0)
-; NOSSE2-NEXT: fldz
; NOSSE2-NEXT: fxch %st(1)
-; NOSSE2-NEXT: .LBB7_2:
+; NOSSE2-NEXT: fcmovne %st(1), %st
; NOSSE2-NEXT: fstp %st(1)
; NOSSE2-NEXT: retl
;
; NOSSE1-NEXT: fldl {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setle %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jle .LBB7_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB7_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: fldl {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setle %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jle .LBB7_2
+; NOCMOV-NEXT: jne .LBB7_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz
; NOSSE1-NEXT: flds {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setg %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jg .LBB12_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB12_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: flds {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setg %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jg .LBB12_2
+; NOCMOV-NEXT: jne .LBB12_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz
; NOSSE1-NEXT: flds {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setge %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jge .LBB13_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB13_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: flds {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setge %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jge .LBB13_2
+; NOCMOV-NEXT: jne .LBB13_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz
; NOSSE1-NEXT: flds {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setl %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jl .LBB14_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB14_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: flds {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setl %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jl .LBB14_2
+; NOCMOV-NEXT: jne .LBB14_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz
; NOSSE1-NEXT: flds {{[0-9]+}}(%esp)
; NOSSE1-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOSSE1-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOSSE1-NEXT: setle %al
+; NOSSE1-NEXT: testb %al, %al
; NOSSE1-NEXT: flds {{\.LCPI.*}}
-; NOSSE1-NEXT: jle .LBB15_2
-; NOSSE1-NEXT: # %bb.1:
-; NOSSE1-NEXT: fstp %st(0)
-; NOSSE1-NEXT: fldz
; NOSSE1-NEXT: fxch %st(1)
-; NOSSE1-NEXT: .LBB15_2:
+; NOSSE1-NEXT: fcmovne %st(1), %st
; NOSSE1-NEXT: fstp %st(1)
; NOSSE1-NEXT: retl
;
; NOCMOV-NEXT: flds {{[0-9]+}}(%esp)
; NOCMOV-NEXT: movl {{[0-9]+}}(%esp), %eax
; NOCMOV-NEXT: cmpl {{[0-9]+}}(%esp), %eax
+; NOCMOV-NEXT: setle %al
+; NOCMOV-NEXT: testb %al, %al
; NOCMOV-NEXT: flds {{\.LCPI.*}}
-; NOCMOV-NEXT: jle .LBB15_2
+; NOCMOV-NEXT: jne .LBB15_2
; NOCMOV-NEXT: # %bb.1:
; NOCMOV-NEXT: fstp %st(0)
; NOCMOV-NEXT: fldz