; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc < %s -mtriple=i686-linux | FileCheck %s -check-prefixes=X86
; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s -check-prefixes=X64,X64-SDAGISEL
; RUN: llc < %s -mtriple=i686-linux -fast-isel -fast-isel-abort=1  | FileCheck %s -check-prefixes=X86-FASTISEL
; RUN: llc < %s -mtriple=x86_64-linux -fast-isel -fast-isel-abort=1  | FileCheck %s -check-prefixes=X64,X64-FASTISEL
; RUN: llc < %s -mtriple=x86_64-linux -global-isel -global-isel-abort=1  | FileCheck %s -check-prefixes=X64-GISEL
; RUN: llc < %s -mtriple=i686-linux -global-isel -global-isel-abort=2  | FileCheck %s -check-prefixes=X86

define i1 @isnone_f(float %x) nounwind {
; X86-LABEL: isnone_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    xorl %eax, %eax
; X86-NEXT:    retl
;
; X64-LABEL: isnone_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    xorl %eax, %eax
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: isnone_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstp %st(0)
; X86-FASTISEL-NEXT:    xorl %eax, %eax
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: isnone_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    xorl %eax, %eax
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 0)
  ret i1 %0
}

define i1 @isany_f(float %x) nounwind {
; X86-LABEL: isany_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movb $1, %al
; X86-NEXT:    retl
;
; X64-LABEL: isany_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movb $1, %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: isany_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstp %st(0)
; X86-FASTISEL-NEXT:    movb $1, %al
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: isany_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movb $1, %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1023)
  ret i1 %0
}

define i1 @issignaling_f(float %x) nounwind {
; X86-LABEL: issignaling_f:
; X86:       # %bb.0:
; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X86-NEXT:    setl %cl
; X86-NEXT:    cmpl $2139095041, %eax # imm = 0x7F800001
; X86-NEXT:    setge %al
; X86-NEXT:    andb %cl, %al
; X86-NEXT:    retl
;
; X64-LABEL: issignaling_f:
; X64:       # %bb.0:
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X64-NEXT:    setl %cl
; X64-NEXT:    cmpl $2139095041, %eax # imm = 0x7F800001
; X64-NEXT:    setge %al
; X64-NEXT:    andb %cl, %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: issignaling_f:
; X86-FASTISEL:       # %bb.0:
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-FASTISEL-NEXT:    andl (%esp), %eax
; X86-FASTISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X86-FASTISEL-NEXT:    setl %cl
; X86-FASTISEL-NEXT:    cmpl $2139095041, %eax # imm = 0x7F800001
; X86-FASTISEL-NEXT:    setge %al
; X86-FASTISEL-NEXT:    andb %cl, %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: issignaling_f:
; X64-GISEL:       # %bb.0:
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    seta %cl
; X64-GISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X64-GISEL-NEXT:    setb %al
; X64-GISEL-NEXT:    andb %cl, %al
; X64-GISEL-NEXT:    retq
   %a0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1)  ; "snan"
   ret i1 %a0
}

 define i1 @isquiet_f(float %x) nounwind {
; X86-LABEL: isquiet_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X86-NEXT:    setge %al
; X86-NEXT:    retl
;
; X64-LABEL: isquiet_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X64-NEXT:    setge %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: isquiet_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-FASTISEL-NEXT:    andl (%esp), %eax
; X86-FASTISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X86-FASTISEL-NEXT:    setge %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: isquiet_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X64-GISEL-NEXT:    setae %al
; X64-GISEL-NEXT:    retq
 entry:
   %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 2)  ; "qnan"
   ret i1 %0
}

define i1 @not_isquiet_f(float %x) nounwind {
; X86-LABEL: not_isquiet_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X86-NEXT:    setl %al
; X86-NEXT:    retl
;
; X64-LABEL: not_isquiet_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X64-NEXT:    setl %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: not_isquiet_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-FASTISEL-NEXT:    andl (%esp), %eax
; X86-FASTISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X86-FASTISEL-NEXT:    setl %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: not_isquiet_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    setb %cl
; X64-GISEL-NEXT:    sete %dl
; X64-GISEL-NEXT:    orb %cl, %dl
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    seta %cl
; X64-GISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000
; X64-GISEL-NEXT:    setb %al
; X64-GISEL-NEXT:    andb %cl, %al
; X64-GISEL-NEXT:    orb %dl, %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1021)  ; ~"qnan"
  ret i1 %0
}

define i1 @isinf_f(float %x) nounwind {
; X86-LABEL: isinf_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X86-NEXT:    sete %al
; X86-NEXT:    retl
;
; X64-LABEL: isinf_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-NEXT:    sete %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: isinf_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-FASTISEL-NEXT:    andl (%esp), %eax
; X86-FASTISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X86-FASTISEL-NEXT:    sete %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: isinf_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    sete %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 516)  ; 0x204 = "inf"
  ret i1 %0
}

define i1 @not_isinf_f(float %x) nounwind {
; X86-LABEL: not_isinf_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X86-NEXT:    setne %al
; X86-NEXT:    retl
;
; X64-LABEL: not_isinf_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-NEXT:    setne %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: not_isinf_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF
; X86-FASTISEL-NEXT:    andl (%esp), %eax
; X86-FASTISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X86-FASTISEL-NEXT:    setne %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: not_isinf_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    setb %cl
; X64-GISEL-NEXT:    seta %al
; X64-GISEL-NEXT:    orb %cl, %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 507)  ; ~0x204 = "~inf"
  ret i1 %0
}

define i1 @is_plus_inf_f(float %x) nounwind {
; X86-LABEL: is_plus_inf_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
; X86-NEXT:    sete %al
; X86-NEXT:    retl
;
; X64-LABEL: is_plus_inf_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-NEXT:    sete %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: is_plus_inf_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    cmpl $2139095040, (%esp) # imm = 0x7F800000
; X86-FASTISEL-NEXT:    sete %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: is_plus_inf_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    sete %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 512)  ; 0x200 = "+inf"
  ret i1 %0
}

define i1 @is_minus_inf_f(float %x) nounwind {
; X86-LABEL: is_minus_inf_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
; X86-NEXT:    sete %al
; X86-NEXT:    retl
;
; X64-LABEL: is_minus_inf_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    cmpl $-8388608, %eax # imm = 0xFF800000
; X64-NEXT:    sete %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: is_minus_inf_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    cmpl $-8388608, (%esp) # imm = 0xFF800000
; X86-FASTISEL-NEXT:    sete %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: is_minus_inf_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    cmpl $-8388608, %eax # imm = 0xFF800000
; X64-GISEL-NEXT:    sete %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 4)  ; "-inf"
  ret i1 %0
}

define i1 @not_is_minus_inf_f(float %x) nounwind {
; X86-LABEL: not_is_minus_inf_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
; X86-NEXT:    setne %al
; X86-NEXT:    retl
;
; X64-LABEL: not_is_minus_inf_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    cmpl $-8388608, %eax # imm = 0xFF800000
; X64-NEXT:    setne %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: not_is_minus_inf_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    cmpl $-8388608, (%esp) # imm = 0xFF800000
; X86-FASTISEL-NEXT:    setne %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: not_is_minus_inf_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    movl %eax, %ecx
; X64-GISEL-NEXT:    andl $2147483647, %ecx # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2139095040, %ecx # imm = 0x7F800000
; X64-GISEL-NEXT:    setb %dl
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    sete %sil
; X64-GISEL-NEXT:    orb %dl, %sil
; X64-GISEL-NEXT:    cmpl $2139095040, %ecx # imm = 0x7F800000
; X64-GISEL-NEXT:    seta %al
; X64-GISEL-NEXT:    orb %sil, %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1019)  ; ~"-inf"
  ret i1 %0
}

define i1 @isfinite_f(float %x) nounwind {
; X86-LABEL: isfinite_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    addl %eax, %eax
; X86-NEXT:    cmpl $-16777216, %eax # imm = 0xFF000000
; X86-NEXT:    setb %al
; X86-NEXT:    retl
;
; X64-LABEL: isfinite_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    addl %eax, %eax
; X64-NEXT:    cmpl $-16777216, %eax # imm = 0xFF000000
; X64-NEXT:    setb %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: isfinite_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    movl (%esp), %eax
; X86-FASTISEL-NEXT:    addl %eax, %eax
; X86-FASTISEL-NEXT:    cmpl $-16777216, %eax # imm = 0xFF000000
; X86-FASTISEL-NEXT:    setb %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: isfinite_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    setb %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 504)  ; 0x1f8 = "finite"
  ret i1 %0
}

define i1 @not_isfinite_f(float %x) nounwind {
; X86-LABEL: not_isfinite_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    addl %eax, %eax
; X86-NEXT:    cmpl $-16777216, %eax # imm = 0xFF000000
; X86-NEXT:    setae %al
; X86-NEXT:    retl
;
; X64-LABEL: not_isfinite_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    addl %eax, %eax
; X64-NEXT:    cmpl $-16777216, %eax # imm = 0xFF000000
; X64-NEXT:    setae %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: not_isfinite_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    movl (%esp), %eax
; X86-FASTISEL-NEXT:    addl %eax, %eax
; X86-FASTISEL-NEXT:    cmpl $-16777216, %eax # imm = 0xFF000000
; X86-FASTISEL-NEXT:    setae %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: not_isfinite_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    sete %cl
; X64-GISEL-NEXT:    seta %al
; X64-GISEL-NEXT:    orb %cl, %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 519)  ; ~0x1f8 = "~finite"
  ret i1 %0
}

define i1 @is_plus_finite_f(float %x) nounwind {
; X86-LABEL: is_plus_finite_f:
; X86:       # %bb.0: # %entry
; X86-NEXT:    cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
; X86-NEXT:    setb %al
; X86-NEXT:    retl
;
; X64-LABEL: is_plus_finite_f:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movd %xmm0, %eax
; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-NEXT:    setb %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: is_plus_finite_f:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    pushl %eax
; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstps (%esp)
; X86-FASTISEL-NEXT:    cmpl $2139095040, (%esp) # imm = 0x7F800000
; X86-FASTISEL-NEXT:    setb %al
; X86-FASTISEL-NEXT:    popl %ecx
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: is_plus_finite_f:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movd %xmm0, %eax
; X64-GISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000
; X64-GISEL-NEXT:    setb %al
; X64-GISEL-NEXT:    retq
entry:
  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 448)  ; 0x1c0 = "+finite"
  ret i1 %0
}

define i1 @isnone_d(double %x) nounwind {
; X86-LABEL: isnone_d:
; X86:       # %bb.0: # %entry
; X86-NEXT:    xorl %eax, %eax
; X86-NEXT:    retl
;
; X64-LABEL: isnone_d:
; X64:       # %bb.0: # %entry
; X64-NEXT:    xorl %eax, %eax
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: isnone_d:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    fldl {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstp %st(0)
; X86-FASTISEL-NEXT:    xorl %eax, %eax
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: isnone_d:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    xorl %eax, %eax
; X64-GISEL-NEXT:    retq
entry:
    %0 = tail call i1 @llvm.is.fpclass.f64(double %x, i32 0)
    ret i1 %0
}

define i1 @isany_d(double %x) nounwind {
; X86-LABEL: isany_d:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movb $1, %al
; X86-NEXT:    retl
;
; X64-LABEL: isany_d:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movb $1, %al
; X64-NEXT:    retq
;
; X86-FASTISEL-LABEL: isany_d:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    fldl {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstp %st(0)
; X86-FASTISEL-NEXT:    movb $1, %al
; X86-FASTISEL-NEXT:    retl
;
; X64-GISEL-LABEL: isany_d:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movb $1, %al
; X64-GISEL-NEXT:    retq
entry:
    %0 = tail call i1 @llvm.is.fpclass.f64(double %x, i32 1023)
    ret i1 %0
}

define i1 @isnone_f80(x86_fp80 %x) nounwind {
; X86-LABEL: isnone_f80:
; X86:       # %bb.0: # %entry
; X86-NEXT:    xorl %eax, %eax
; X86-NEXT:    retl
;
; X64-SDAGISEL-LABEL: isnone_f80:
; X64-SDAGISEL:       # %bb.0: # %entry
; X64-SDAGISEL-NEXT:    xorl %eax, %eax
; X64-SDAGISEL-NEXT:    retq
;
; X86-FASTISEL-LABEL: isnone_f80:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    fldt {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstp %st(0)
; X86-FASTISEL-NEXT:    xorl %eax, %eax
; X86-FASTISEL-NEXT:    retl
;
; X64-FASTISEL-LABEL: isnone_f80:
; X64-FASTISEL:       # %bb.0: # %entry
; X64-FASTISEL-NEXT:    fldt {{[0-9]+}}(%rsp)
; X64-FASTISEL-NEXT:    fstp %st(0)
; X64-FASTISEL-NEXT:    xorl %eax, %eax
; X64-FASTISEL-NEXT:    retq
;
; X64-GISEL-LABEL: isnone_f80:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    xorl %eax, %eax
; X64-GISEL-NEXT:    retq
entry:
%0 = tail call i1 @llvm.is.fpclass.f80(x86_fp80 %x, i32 0)
ret i1 %0
}

define i1 @isany_f80(x86_fp80 %x) nounwind {
; X86-LABEL: isany_f80:
; X86:       # %bb.0: # %entry
; X86-NEXT:    movb $1, %al
; X86-NEXT:    retl
;
; X64-SDAGISEL-LABEL: isany_f80:
; X64-SDAGISEL:       # %bb.0: # %entry
; X64-SDAGISEL-NEXT:    movb $1, %al
; X64-SDAGISEL-NEXT:    retq
;
; X86-FASTISEL-LABEL: isany_f80:
; X86-FASTISEL:       # %bb.0: # %entry
; X86-FASTISEL-NEXT:    fldt {{[0-9]+}}(%esp)
; X86-FASTISEL-NEXT:    fstp %st(0)
; X86-FASTISEL-NEXT:    movb $1, %al
; X86-FASTISEL-NEXT:    retl
;
; X64-FASTISEL-LABEL: isany_f80:
; X64-FASTISEL:       # %bb.0: # %entry
; X64-FASTISEL-NEXT:    fldt {{[0-9]+}}(%rsp)
; X64-FASTISEL-NEXT:    fstp %st(0)
; X64-FASTISEL-NEXT:    movb $1, %al
; X64-FASTISEL-NEXT:    retq
;
; X64-GISEL-LABEL: isany_f80:
; X64-GISEL:       # %bb.0: # %entry
; X64-GISEL-NEXT:    movb $1, %al
; X64-GISEL-NEXT:    retq
entry:
    %0 = tail call i1 @llvm.is.fpclass.f80(x86_fp80 %x, i32 1023)
    ret i1 %0
}
