3
3
; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s -check-prefixes=X64,X64-SDAGISEL
4
4
; RUN: llc < %s -mtriple=i686-linux -fast-isel -fast-isel-abort=1 | FileCheck %s -check-prefixes=X86-FASTISEL
5
5
; 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
7
7
; RUN: llc < %s -mtriple=x86_64-linux -global-isel -global-isel-abort=1 | FileCheck %s -check-prefixes=X64,X64-GISEL
8
8
9
9
define i1 @isnone_f (float %x ) {
@@ -23,6 +23,11 @@ define i1 @isnone_f(float %x) {
23
23
; X86-FASTISEL-NEXT: fstp %st(0)
24
24
; X86-FASTISEL-NEXT: xorl %eax, %eax
25
25
; 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
26
31
entry:
27
32
%0 = tail call i1 @llvm.is.fpclass.f32 (float %x , i32 0 )
28
33
ret i1 %0
@@ -45,6 +50,11 @@ define i1 @isany_f(float %x) nounwind {
45
50
; X86-FASTISEL-NEXT: fstp %st(0)
46
51
; X86-FASTISEL-NEXT: movb $1, %al
47
52
; 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
48
58
entry:
49
59
%0 = tail call i1 @llvm.is.fpclass.f32 (float %x , i32 1023 )
50
60
ret i1 %0
@@ -534,6 +544,8 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
534
544
; X86-GISEL-LABEL: not_is_minus_inf_f:
535
545
; X86-GISEL: # %bb.0: # %entry
536
546
; X86-GISEL-NEXT: pushl %ebx
547
+ ; X86-GISEL-NEXT: .cfi_def_cfa_offset 8
548
+ ; X86-GISEL-NEXT: .cfi_offset %ebx, -8
537
549
; X86-GISEL-NEXT: movl {{[0-9]+}}(%esp), %eax
538
550
; X86-GISEL-NEXT: movl %eax, %ecx
539
551
; X86-GISEL-NEXT: andl $2147483647, %ecx # imm = 0x7FFFFFFF
@@ -548,6 +560,7 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
548
560
; X86-GISEL-NEXT: seta %al
549
561
; X86-GISEL-NEXT: orb %ah, %al
550
562
; X86-GISEL-NEXT: popl %ebx
563
+ ; X86-GISEL-NEXT: .cfi_def_cfa_offset 4
551
564
; X86-GISEL-NEXT: retl
552
565
;
553
566
; X64-GISEL-LABEL: not_is_minus_inf_f:
@@ -768,6 +781,11 @@ define i1 @isnone_d(double %x) nounwind {
768
781
; X86-FASTISEL-NEXT: fstp %st(0)
769
782
; X86-FASTISEL-NEXT: xorl %eax, %eax
770
783
; 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
771
789
entry:
772
790
%0 = tail call i1 @llvm.is.fpclass.f64 (double %x , i32 0 )
773
791
ret i1 %0
@@ -790,6 +808,11 @@ define i1 @isany_d(double %x) nounwind {
790
808
; X86-FASTISEL-NEXT: fstp %st(0)
791
809
; X86-FASTISEL-NEXT: movb $1, %al
792
810
; 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
793
816
entry:
794
817
%0 = tail call i1 @llvm.is.fpclass.f64 (double %x , i32 1023 )
795
818
ret i1 %0
@@ -820,6 +843,11 @@ define i1 @isnone_f80(x86_fp80 %x) nounwind {
820
843
; X64-FASTISEL-NEXT: xorl %eax, %eax
821
844
; X64-FASTISEL-NEXT: retq
822
845
;
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
+ ;
823
851
; X64-GISEL-LABEL: isnone_f80:
824
852
; X64-GISEL: # %bb.0: # %entry
825
853
; X64-GISEL-NEXT: xorl %eax, %eax
@@ -854,6 +882,11 @@ define i1 @isany_f80(x86_fp80 %x) nounwind {
854
882
; X64-FASTISEL-NEXT: movb $1, %al
855
883
; X64-FASTISEL-NEXT: retq
856
884
;
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
+ ;
857
890
; X64-GISEL-LABEL: isany_f80:
858
891
; X64-GISEL: # %bb.0: # %entry
859
892
; X64-GISEL-NEXT: movb $1, %al
0 commit comments