brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.1 KiB · df04b67 Raw
515 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple=i686-linux | FileCheck %s -check-prefixes=X863; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s -check-prefixes=X64,X64-SDAGISEL4; RUN: llc < %s -mtriple=i686-linux -fast-isel -fast-isel-abort=1  | FileCheck %s -check-prefixes=X86-FASTISEL5; RUN: llc < %s -mtriple=x86_64-linux -fast-isel -fast-isel-abort=1  | FileCheck %s -check-prefixes=X64,X64-FASTISEL6; RUN: llc < %s -mtriple=i686-linux -global-isel -global-isel-abort=2  | FileCheck %s -check-prefixes=X867; RUN: llc < %s -mtriple=x86_64-linux -global-isel -global-isel-abort=2  | FileCheck %s -check-prefixes=X64,X64-GISEL8 9define i1 @isnone_f(float %x) nounwind {10; X86-LABEL: isnone_f:11; X86:       # %bb.0: # %entry12; X86-NEXT:    xorl %eax, %eax13; X86-NEXT:    retl14;15; X64-LABEL: isnone_f:16; X64:       # %bb.0: # %entry17; X64-NEXT:    xorl %eax, %eax18; X64-NEXT:    retq19;20; X86-FASTISEL-LABEL: isnone_f:21; X86-FASTISEL:       # %bb.0: # %entry22; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)23; X86-FASTISEL-NEXT:    fstp %st(0)24; X86-FASTISEL-NEXT:    xorl %eax, %eax25; X86-FASTISEL-NEXT:    retl26entry:27  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 0)28  ret i1 %029}30 31define i1 @isany_f(float %x) nounwind {32; X86-LABEL: isany_f:33; X86:       # %bb.0: # %entry34; X86-NEXT:    movb $1, %al35; X86-NEXT:    retl36;37; X64-LABEL: isany_f:38; X64:       # %bb.0: # %entry39; X64-NEXT:    movb $1, %al40; X64-NEXT:    retq41;42; X86-FASTISEL-LABEL: isany_f:43; X86-FASTISEL:       # %bb.0: # %entry44; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)45; X86-FASTISEL-NEXT:    fstp %st(0)46; X86-FASTISEL-NEXT:    movb $1, %al47; X86-FASTISEL-NEXT:    retl48entry:49  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1023)50  ret i1 %051}52 53define i1 @issignaling_f(float %x) nounwind {54; X86-LABEL: issignaling_f:55; X86:       # %bb.0:56; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF57; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax58; X86-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC0000059; X86-NEXT:    setl %cl60; X86-NEXT:    cmpl $2139095041, %eax # imm = 0x7F80000161; X86-NEXT:    setge %al62; X86-NEXT:    andb %cl, %al63; X86-NEXT:    retl64;65; X64-LABEL: issignaling_f:66; X64:       # %bb.0:67; X64-NEXT:    movd %xmm0, %eax68; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF69; X64-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC0000070; X64-NEXT:    setl %cl71; X64-NEXT:    cmpl $2139095041, %eax # imm = 0x7F80000172; X64-NEXT:    setge %al73; X64-NEXT:    andb %cl, %al74; X64-NEXT:    retq75;76; X86-FASTISEL-LABEL: issignaling_f:77; X86-FASTISEL:       # %bb.0:78; X86-FASTISEL-NEXT:    pushl %eax79; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)80; X86-FASTISEL-NEXT:    fstps (%esp)81; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF82; X86-FASTISEL-NEXT:    andl (%esp), %eax83; X86-FASTISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC0000084; X86-FASTISEL-NEXT:    setl %cl85; X86-FASTISEL-NEXT:    cmpl $2139095041, %eax # imm = 0x7F80000186; X86-FASTISEL-NEXT:    setge %al87; X86-FASTISEL-NEXT:    andb %cl, %al88; X86-FASTISEL-NEXT:    popl %ecx89; X86-FASTISEL-NEXT:    retl90   %a0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1)  ; "snan"91   ret i1 %a092}93 94 define i1 @isquiet_f(float %x) nounwind {95; X86-LABEL: isquiet_f:96; X86:       # %bb.0: # %entry97; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF98; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax99; X86-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000100; X86-NEXT:    setge %al101; X86-NEXT:    retl102;103; X64-LABEL: isquiet_f:104; X64:       # %bb.0: # %entry105; X64-NEXT:    movd %xmm0, %eax106; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF107; X64-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000108; X64-NEXT:    setge %al109; X64-NEXT:    retq110;111; X86-FASTISEL-LABEL: isquiet_f:112; X86-FASTISEL:       # %bb.0: # %entry113; X86-FASTISEL-NEXT:    pushl %eax114; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)115; X86-FASTISEL-NEXT:    fstps (%esp)116; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF117; X86-FASTISEL-NEXT:    andl (%esp), %eax118; X86-FASTISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000119; X86-FASTISEL-NEXT:    setge %al120; X86-FASTISEL-NEXT:    popl %ecx121; X86-FASTISEL-NEXT:    retl122 entry:123   %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 2)  ; "qnan"124   ret i1 %0125}126 127define i1 @not_isquiet_f(float %x) nounwind {128; X86-LABEL: not_isquiet_f:129; X86:       # %bb.0: # %entry130; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF131; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax132; X86-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000133; X86-NEXT:    setl %al134; X86-NEXT:    retl135;136; X64-LABEL: not_isquiet_f:137; X64:       # %bb.0: # %entry138; X64-NEXT:    movd %xmm0, %eax139; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF140; X64-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000141; X64-NEXT:    setl %al142; X64-NEXT:    retq143;144; X86-FASTISEL-LABEL: not_isquiet_f:145; X86-FASTISEL:       # %bb.0: # %entry146; X86-FASTISEL-NEXT:    pushl %eax147; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)148; X86-FASTISEL-NEXT:    fstps (%esp)149; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF150; X86-FASTISEL-NEXT:    andl (%esp), %eax151; X86-FASTISEL-NEXT:    cmpl $2143289344, %eax # imm = 0x7FC00000152; X86-FASTISEL-NEXT:    setl %al153; X86-FASTISEL-NEXT:    popl %ecx154; X86-FASTISEL-NEXT:    retl155entry:156  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1021)  ; ~"qnan"157  ret i1 %0158}159 160define i1 @isinf_f(float %x) nounwind {161; X86-LABEL: isinf_f:162; X86:       # %bb.0: # %entry163; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF164; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax165; X86-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000166; X86-NEXT:    sete %al167; X86-NEXT:    retl168;169; X64-LABEL: isinf_f:170; X64:       # %bb.0: # %entry171; X64-NEXT:    movd %xmm0, %eax172; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF173; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000174; X64-NEXT:    sete %al175; X64-NEXT:    retq176;177; X86-FASTISEL-LABEL: isinf_f:178; X86-FASTISEL:       # %bb.0: # %entry179; X86-FASTISEL-NEXT:    pushl %eax180; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)181; X86-FASTISEL-NEXT:    fstps (%esp)182; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF183; X86-FASTISEL-NEXT:    andl (%esp), %eax184; X86-FASTISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000185; X86-FASTISEL-NEXT:    sete %al186; X86-FASTISEL-NEXT:    popl %ecx187; X86-FASTISEL-NEXT:    retl188entry:189  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 516)  ; 0x204 = "inf"190  ret i1 %0191}192 193define i1 @not_isinf_f(float %x) nounwind {194; X86-LABEL: not_isinf_f:195; X86:       # %bb.0: # %entry196; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF197; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax198; X86-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000199; X86-NEXT:    setne %al200; X86-NEXT:    retl201;202; X64-LABEL: not_isinf_f:203; X64:       # %bb.0: # %entry204; X64-NEXT:    movd %xmm0, %eax205; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF206; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000207; X64-NEXT:    setne %al208; X64-NEXT:    retq209;210; X86-FASTISEL-LABEL: not_isinf_f:211; X86-FASTISEL:       # %bb.0: # %entry212; X86-FASTISEL-NEXT:    pushl %eax213; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)214; X86-FASTISEL-NEXT:    fstps (%esp)215; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF216; X86-FASTISEL-NEXT:    andl (%esp), %eax217; X86-FASTISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000218; X86-FASTISEL-NEXT:    setne %al219; X86-FASTISEL-NEXT:    popl %ecx220; X86-FASTISEL-NEXT:    retl221entry:222  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 507)  ; ~0x204 = "~inf"223  ret i1 %0224}225 226define i1 @is_plus_inf_f(float %x) nounwind {227; X86-LABEL: is_plus_inf_f:228; X86:       # %bb.0: # %entry229; X86-NEXT:    cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000230; X86-NEXT:    sete %al231; X86-NEXT:    retl232;233; X64-LABEL: is_plus_inf_f:234; X64:       # %bb.0: # %entry235; X64-NEXT:    movd %xmm0, %eax236; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000237; X64-NEXT:    sete %al238; X64-NEXT:    retq239;240; X86-FASTISEL-LABEL: is_plus_inf_f:241; X86-FASTISEL:       # %bb.0: # %entry242; X86-FASTISEL-NEXT:    pushl %eax243; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)244; X86-FASTISEL-NEXT:    fstps (%esp)245; X86-FASTISEL-NEXT:    cmpl $2139095040, (%esp) # imm = 0x7F800000246; X86-FASTISEL-NEXT:    sete %al247; X86-FASTISEL-NEXT:    popl %ecx248; X86-FASTISEL-NEXT:    retl249entry:250  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 512)  ; 0x200 = "+inf"251  ret i1 %0252}253 254define i1 @is_minus_inf_f(float %x) nounwind {255; X86-LABEL: is_minus_inf_f:256; X86:       # %bb.0: # %entry257; X86-NEXT:    cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000258; X86-NEXT:    sete %al259; X86-NEXT:    retl260;261; X64-LABEL: is_minus_inf_f:262; X64:       # %bb.0: # %entry263; X64-NEXT:    movd %xmm0, %eax264; X64-NEXT:    cmpl $-8388608, %eax # imm = 0xFF800000265; X64-NEXT:    sete %al266; X64-NEXT:    retq267;268; X86-FASTISEL-LABEL: is_minus_inf_f:269; X86-FASTISEL:       # %bb.0: # %entry270; X86-FASTISEL-NEXT:    pushl %eax271; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)272; X86-FASTISEL-NEXT:    fstps (%esp)273; X86-FASTISEL-NEXT:    cmpl $-8388608, (%esp) # imm = 0xFF800000274; X86-FASTISEL-NEXT:    sete %al275; X86-FASTISEL-NEXT:    popl %ecx276; X86-FASTISEL-NEXT:    retl277entry:278  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 4)  ; "-inf"279  ret i1 %0280}281 282define i1 @not_is_minus_inf_f(float %x) nounwind {283; X86-LABEL: not_is_minus_inf_f:284; X86:       # %bb.0: # %entry285; X86-NEXT:    cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000286; X86-NEXT:    setne %al287; X86-NEXT:    retl288;289; X64-LABEL: not_is_minus_inf_f:290; X64:       # %bb.0: # %entry291; X64-NEXT:    movd %xmm0, %eax292; X64-NEXT:    cmpl $-8388608, %eax # imm = 0xFF800000293; X64-NEXT:    setne %al294; X64-NEXT:    retq295;296; X86-FASTISEL-LABEL: not_is_minus_inf_f:297; X86-FASTISEL:       # %bb.0: # %entry298; X86-FASTISEL-NEXT:    pushl %eax299; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)300; X86-FASTISEL-NEXT:    fstps (%esp)301; X86-FASTISEL-NEXT:    cmpl $-8388608, (%esp) # imm = 0xFF800000302; X86-FASTISEL-NEXT:    setne %al303; X86-FASTISEL-NEXT:    popl %ecx304; X86-FASTISEL-NEXT:    retl305entry:306  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1019)  ; ~"-inf"307  ret i1 %0308}309 310define i1 @isfinite_f(float %x) nounwind {311; X86-LABEL: isfinite_f:312; X86:       # %bb.0: # %entry313; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF314; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax315; X86-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000316; X86-NEXT:    setl %al317; X86-NEXT:    retl318;319; X64-LABEL: isfinite_f:320; X64:       # %bb.0: # %entry321; X64-NEXT:    movd %xmm0, %eax322; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF323; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000324; X64-NEXT:    setl %al325; X64-NEXT:    retq326;327; X86-FASTISEL-LABEL: isfinite_f:328; X86-FASTISEL:       # %bb.0: # %entry329; X86-FASTISEL-NEXT:    pushl %eax330; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)331; X86-FASTISEL-NEXT:    fstps (%esp)332; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF333; X86-FASTISEL-NEXT:    andl (%esp), %eax334; X86-FASTISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000335; X86-FASTISEL-NEXT:    setl %al336; X86-FASTISEL-NEXT:    popl %ecx337; X86-FASTISEL-NEXT:    retl338entry:339  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 504)  ; 0x1f8 = "finite"340  ret i1 %0341}342 343define i1 @not_isfinite_f(float %x) nounwind {344; X86-LABEL: not_isfinite_f:345; X86:       # %bb.0: # %entry346; X86-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF347; X86-NEXT:    andl {{[0-9]+}}(%esp), %eax348; X86-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000349; X86-NEXT:    setge %al350; X86-NEXT:    retl351;352; X64-LABEL: not_isfinite_f:353; X64:       # %bb.0: # %entry354; X64-NEXT:    movd %xmm0, %eax355; X64-NEXT:    andl $2147483647, %eax # imm = 0x7FFFFFFF356; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000357; X64-NEXT:    setge %al358; X64-NEXT:    retq359;360; X86-FASTISEL-LABEL: not_isfinite_f:361; X86-FASTISEL:       # %bb.0: # %entry362; X86-FASTISEL-NEXT:    pushl %eax363; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)364; X86-FASTISEL-NEXT:    fstps (%esp)365; X86-FASTISEL-NEXT:    movl $2147483647, %eax # imm = 0x7FFFFFFF366; X86-FASTISEL-NEXT:    andl (%esp), %eax367; X86-FASTISEL-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000368; X86-FASTISEL-NEXT:    setge %al369; X86-FASTISEL-NEXT:    popl %ecx370; X86-FASTISEL-NEXT:    retl371entry:372  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 519)  ; ~0x1f8 = "~finite"373  ret i1 %0374}375 376define i1 @is_plus_finite_f(float %x) nounwind {377; X86-LABEL: is_plus_finite_f:378; X86:       # %bb.0: # %entry379; X86-NEXT:    cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000380; X86-NEXT:    setb %al381; X86-NEXT:    retl382;383; X64-LABEL: is_plus_finite_f:384; X64:       # %bb.0: # %entry385; X64-NEXT:    movd %xmm0, %eax386; X64-NEXT:    cmpl $2139095040, %eax # imm = 0x7F800000387; X64-NEXT:    setb %al388; X64-NEXT:    retq389;390; X86-FASTISEL-LABEL: is_plus_finite_f:391; X86-FASTISEL:       # %bb.0: # %entry392; X86-FASTISEL-NEXT:    pushl %eax393; X86-FASTISEL-NEXT:    flds {{[0-9]+}}(%esp)394; X86-FASTISEL-NEXT:    fstps (%esp)395; X86-FASTISEL-NEXT:    cmpl $2139095040, (%esp) # imm = 0x7F800000396; X86-FASTISEL-NEXT:    setb %al397; X86-FASTISEL-NEXT:    popl %ecx398; X86-FASTISEL-NEXT:    retl399entry:400  %0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 448)  ; 0x1c0 = "+finite"401  ret i1 %0402}403 404define i1 @isnone_d(double %x) nounwind {405; X86-LABEL: isnone_d:406; X86:       # %bb.0: # %entry407; X86-NEXT:    xorl %eax, %eax408; X86-NEXT:    retl409;410; X64-LABEL: isnone_d:411; X64:       # %bb.0: # %entry412; X64-NEXT:    xorl %eax, %eax413; X64-NEXT:    retq414;415; X86-FASTISEL-LABEL: isnone_d:416; X86-FASTISEL:       # %bb.0: # %entry417; X86-FASTISEL-NEXT:    fldl {{[0-9]+}}(%esp)418; X86-FASTISEL-NEXT:    fstp %st(0)419; X86-FASTISEL-NEXT:    xorl %eax, %eax420; X86-FASTISEL-NEXT:    retl421entry:422    %0 = tail call i1 @llvm.is.fpclass.f64(double %x, i32 0)423    ret i1 %0424}425 426define i1 @isany_d(double %x) nounwind {427; X86-LABEL: isany_d:428; X86:       # %bb.0: # %entry429; X86-NEXT:    movb $1, %al430; X86-NEXT:    retl431;432; X64-LABEL: isany_d:433; X64:       # %bb.0: # %entry434; X64-NEXT:    movb $1, %al435; X64-NEXT:    retq436;437; X86-FASTISEL-LABEL: isany_d:438; X86-FASTISEL:       # %bb.0: # %entry439; X86-FASTISEL-NEXT:    fldl {{[0-9]+}}(%esp)440; X86-FASTISEL-NEXT:    fstp %st(0)441; X86-FASTISEL-NEXT:    movb $1, %al442; X86-FASTISEL-NEXT:    retl443entry:444    %0 = tail call i1 @llvm.is.fpclass.f64(double %x, i32 1023)445    ret i1 %0446}447 448define i1 @isnone_f80(x86_fp80 %x) nounwind {449; X86-LABEL: isnone_f80:450; X86:       # %bb.0: # %entry451; X86-NEXT:    xorl %eax, %eax452; X86-NEXT:    retl453;454; X64-SDAGISEL-LABEL: isnone_f80:455; X64-SDAGISEL:       # %bb.0: # %entry456; X64-SDAGISEL-NEXT:    xorl %eax, %eax457; X64-SDAGISEL-NEXT:    retq458;459; X86-FASTISEL-LABEL: isnone_f80:460; X86-FASTISEL:       # %bb.0: # %entry461; X86-FASTISEL-NEXT:    fldt {{[0-9]+}}(%esp)462; X86-FASTISEL-NEXT:    fstp %st(0)463; X86-FASTISEL-NEXT:    xorl %eax, %eax464; X86-FASTISEL-NEXT:    retl465;466; X64-FASTISEL-LABEL: isnone_f80:467; X64-FASTISEL:       # %bb.0: # %entry468; X64-FASTISEL-NEXT:    fldt {{[0-9]+}}(%rsp)469; X64-FASTISEL-NEXT:    fstp %st(0)470; X64-FASTISEL-NEXT:    xorl %eax, %eax471; X64-FASTISEL-NEXT:    retq472;473; X64-GISEL-LABEL: isnone_f80:474; X64-GISEL:       # %bb.0: # %entry475; X64-GISEL-NEXT:    xorl %eax, %eax476; X64-GISEL-NEXT:    retq477entry:478%0 = tail call i1 @llvm.is.fpclass.f80(x86_fp80 %x, i32 0)479ret i1 %0480}481 482define i1 @isany_f80(x86_fp80 %x) nounwind {483; X86-LABEL: isany_f80:484; X86:       # %bb.0: # %entry485; X86-NEXT:    movb $1, %al486; X86-NEXT:    retl487;488; X64-SDAGISEL-LABEL: isany_f80:489; X64-SDAGISEL:       # %bb.0: # %entry490; X64-SDAGISEL-NEXT:    movb $1, %al491; X64-SDAGISEL-NEXT:    retq492;493; X86-FASTISEL-LABEL: isany_f80:494; X86-FASTISEL:       # %bb.0: # %entry495; X86-FASTISEL-NEXT:    fldt {{[0-9]+}}(%esp)496; X86-FASTISEL-NEXT:    fstp %st(0)497; X86-FASTISEL-NEXT:    movb $1, %al498; X86-FASTISEL-NEXT:    retl499;500; X64-FASTISEL-LABEL: isany_f80:501; X64-FASTISEL:       # %bb.0: # %entry502; X64-FASTISEL-NEXT:    fldt {{[0-9]+}}(%rsp)503; X64-FASTISEL-NEXT:    fstp %st(0)504; X64-FASTISEL-NEXT:    movb $1, %al505; X64-FASTISEL-NEXT:    retq506;507; X64-GISEL-LABEL: isany_f80:508; X64-GISEL:       # %bb.0: # %entry509; X64-GISEL-NEXT:    movb $1, %al510; X64-GISEL-NEXT:    retq511entry:512    %0 = tail call i1 @llvm.is.fpclass.f80(x86_fp80 %x, i32 1023)513    ret i1 %0514}515