33; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s -check-prefixes=X64,X64-SDAGISEL
44; RUN: llc < %s -mtriple=i686-linux -fast-isel -fast-isel-abort=1 | FileCheck %s -check-prefixes=X86-FASTISEL
55; RUN: llc < %s -mtriple=x86_64-linux -fast-isel -fast-isel-abort=1 | FileCheck %s -check-prefixes=X64,X64-FASTISEL
6- ; RUN: llc < %s -mtriple=i686-linux -global-isel -global-isel-abort=1 | FileCheck %s -check-prefixes=X86,X86 -GISEL
6+ ; RUN: llc < %s -mtriple=i686-linux -global-isel -global-isel-abort=1 | FileCheck %s -check-prefixes=X86-GISEL
77; RUN: llc < %s -mtriple=x86_64-linux -global-isel -global-isel-abort=1 | FileCheck %s -check-prefixes=X64,X64-GISEL
88
99define i1 @isnone_f (float %x ) {
@@ -23,6 +23,11 @@ define i1 @isnone_f(float %x) {
2323; X86-FASTISEL-NEXT: fstp %st(0)
2424; X86-FASTISEL-NEXT: xorl %eax, %eax
2525; X86-FASTISEL-NEXT: retl
26+ ;
27+ ; X86-GISEL-LABEL: isnone_f:
28+ ; X86-GISEL: # %bb.0: # %entry
29+ ; X86-GISEL-NEXT: xorl %eax, %eax
30+ ; X86-GISEL-NEXT: retl
2631entry:
2732 %0 = tail call i1 @llvm.is.fpclass.f32 (float %x , i32 0 )
2833 ret i1 %0
@@ -45,6 +50,11 @@ define i1 @isany_f(float %x) nounwind {
4550; X86-FASTISEL-NEXT: fstp %st(0)
4651; X86-FASTISEL-NEXT: movb $1, %al
4752; X86-FASTISEL-NEXT: retl
53+ ;
54+ ; X86-GISEL-LABEL: isany_f:
55+ ; X86-GISEL: # %bb.0: # %entry
56+ ; X86-GISEL-NEXT: movb $1, %al
57+ ; X86-GISEL-NEXT: retl
4858entry:
4959 %0 = tail call i1 @llvm.is.fpclass.f32 (float %x , i32 1023 )
5060 ret i1 %0
@@ -534,6 +544,8 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
534544; X86-GISEL-LABEL: not_is_minus_inf_f:
535545; X86-GISEL: # %bb.0: # %entry
536546; X86-GISEL-NEXT: pushl %ebx
547+ ; X86-GISEL-NEXT: .cfi_def_cfa_offset 8
548+ ; X86-GISEL-NEXT: .cfi_offset %ebx, -8
537549; X86-GISEL-NEXT: movl {{[0-9]+}}(%esp), %eax
538550; X86-GISEL-NEXT: movl %eax, %ecx
539551; X86-GISEL-NEXT: andl $2147483647, %ecx # imm = 0x7FFFFFFF
@@ -548,6 +560,7 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
548560; X86-GISEL-NEXT: seta %al
549561; X86-GISEL-NEXT: orb %ah, %al
550562; X86-GISEL-NEXT: popl %ebx
563+ ; X86-GISEL-NEXT: .cfi_def_cfa_offset 4
551564; X86-GISEL-NEXT: retl
552565;
553566; X64-GISEL-LABEL: not_is_minus_inf_f:
@@ -768,6 +781,11 @@ define i1 @isnone_d(double %x) nounwind {
768781; X86-FASTISEL-NEXT: fstp %st(0)
769782; X86-FASTISEL-NEXT: xorl %eax, %eax
770783; X86-FASTISEL-NEXT: retl
784+ ;
785+ ; X86-GISEL-LABEL: isnone_d:
786+ ; X86-GISEL: # %bb.0: # %entry
787+ ; X86-GISEL-NEXT: xorl %eax, %eax
788+ ; X86-GISEL-NEXT: retl
771789entry:
772790 %0 = tail call i1 @llvm.is.fpclass.f64 (double %x , i32 0 )
773791 ret i1 %0
@@ -790,6 +808,11 @@ define i1 @isany_d(double %x) nounwind {
790808; X86-FASTISEL-NEXT: fstp %st(0)
791809; X86-FASTISEL-NEXT: movb $1, %al
792810; X86-FASTISEL-NEXT: retl
811+ ;
812+ ; X86-GISEL-LABEL: isany_d:
813+ ; X86-GISEL: # %bb.0: # %entry
814+ ; X86-GISEL-NEXT: movb $1, %al
815+ ; X86-GISEL-NEXT: retl
793816entry:
794817 %0 = tail call i1 @llvm.is.fpclass.f64 (double %x , i32 1023 )
795818 ret i1 %0
@@ -820,6 +843,11 @@ define i1 @isnone_f80(x86_fp80 %x) nounwind {
820843; X64-FASTISEL-NEXT: xorl %eax, %eax
821844; X64-FASTISEL-NEXT: retq
822845;
846+ ; X86-GISEL-LABEL: isnone_f80:
847+ ; X86-GISEL: # %bb.0: # %entry
848+ ; X86-GISEL-NEXT: xorl %eax, %eax
849+ ; X86-GISEL-NEXT: retl
850+ ;
823851; X64-GISEL-LABEL: isnone_f80:
824852; X64-GISEL: # %bb.0: # %entry
825853; X64-GISEL-NEXT: xorl %eax, %eax
@@ -854,6 +882,11 @@ define i1 @isany_f80(x86_fp80 %x) nounwind {
854882; X64-FASTISEL-NEXT: movb $1, %al
855883; X64-FASTISEL-NEXT: retq
856884;
885+ ; X86-GISEL-LABEL: isany_f80:
886+ ; X86-GISEL: # %bb.0: # %entry
887+ ; X86-GISEL-NEXT: movb $1, %al
888+ ; X86-GISEL-NEXT: retl
889+ ;
857890; X64-GISEL-LABEL: isany_f80:
858891; X64-GISEL: # %bb.0: # %entry
859892; X64-GISEL-NEXT: movb $1, %al
0 commit comments