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