Skip to content

Commit cbf8a90

Browse files
update test
1 parent 520e566 commit cbf8a90

File tree

1 file changed

+78
-111
lines changed

1 file changed

+78
-111
lines changed

llvm/test/CodeGen/X86/isel-fpclass.ll

Lines changed: 78 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2-
; RUN: llc < %s -mtriple=i686-linux | FileCheck %s -check-prefixes=X86
2+
; RUN: llc < %s -mtriple=i686-linux | FileCheck %s -check-prefixes=X86,X86-SDAGISEL
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-GISEL
6+
; RUN: llc < %s -mtriple=i686-linux -global-isel -global-isel-abort=1 | FileCheck %s -check-prefixes=X86,X86-GISEL
77
; RUN: llc < %s -mtriple=x86_64-linux -global-isel -global-isel-abort=1 | FileCheck %s -check-prefixes=X64,X64-GISEL
88

99
define i1 @isnone_f(float %x) {
10-
; X86-SDAGISEL-LABEL: isnone_f:
11-
; X86-SDAGISEL: # %bb.0: # %entry
12-
; X86-SDAGISEL-NEXT: xorl %eax, %eax
13-
; X86-SDAGISEL-NEXT: retl
10+
; X86-LABEL: isnone_f:
11+
; X86: # %bb.0: # %entry
12+
; X86-NEXT: xorl %eax, %eax
13+
; X86-NEXT: retl
1414
;
1515
; X64-LABEL: isnone_f:
1616
; X64: # %bb.0: # %entry
@@ -23,11 +23,6 @@ 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
3126
entry:
3227
%0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 0)
3328
ret i1 %0
@@ -50,27 +45,22 @@ define i1 @isany_f(float %x) nounwind {
5045
; X86-FASTISEL-NEXT: fstp %st(0)
5146
; X86-FASTISEL-NEXT: movb $1, %al
5247
; 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
5848
entry:
5949
%0 = tail call i1 @llvm.is.fpclass.f32(float %x, i32 1023)
6050
ret i1 %0
6151
}
6252

6353
define i1 @issignaling_f(float %x) nounwind {
64-
; X86-LABEL: issignaling_f:
65-
; X86: # %bb.0:
66-
; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
67-
; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
68-
; X86-NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
69-
; X86-NEXT: setl %cl
70-
; X86-NEXT: cmpl $2139095041, %eax # imm = 0x7F800001
71-
; X86-NEXT: setge %al
72-
; X86-NEXT: andb %cl, %al
73-
; X86-NEXT: retl
54+
; X86-SDAGISEL-LABEL: issignaling_f:
55+
; X86-SDAGISEL: # %bb.0:
56+
; X86-SDAGISEL-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
57+
; X86-SDAGISEL-NEXT: andl {{[0-9]+}}(%esp), %eax
58+
; X86-SDAGISEL-NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
59+
; X86-SDAGISEL-NEXT: setl %cl
60+
; X86-SDAGISEL-NEXT: cmpl $2139095041, %eax # imm = 0x7F800001
61+
; X86-SDAGISEL-NEXT: setge %al
62+
; X86-SDAGISEL-NEXT: andb %cl, %al
63+
; X86-SDAGISEL-NEXT: retl
7464
;
7565
; X64-SDAGISEL-LABEL: issignaling_f:
7666
; X64-SDAGISEL: # %bb.0:
@@ -139,13 +129,13 @@ define i1 @issignaling_f(float %x) nounwind {
139129
}
140130

141131
define i1 @isquiet_f(float %x) nounwind {
142-
; X86-LABEL: isquiet_f:
143-
; X86: # %bb.0: # %entry
144-
; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
145-
; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
146-
; X86-NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
147-
; X86-NEXT: setge %al
148-
; X86-NEXT: retl
132+
; X86-SDAGISEL-LABEL: isquiet_f:
133+
; X86-SDAGISEL: # %bb.0: # %entry
134+
; X86-SDAGISEL-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
135+
; X86-SDAGISEL-NEXT: andl {{[0-9]+}}(%esp), %eax
136+
; X86-SDAGISEL-NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
137+
; X86-SDAGISEL-NEXT: setge %al
138+
; X86-SDAGISEL-NEXT: retl
149139
;
150140
; X64-SDAGISEL-LABEL: isquiet_f:
151141
; X64-SDAGISEL: # %bb.0: # %entry
@@ -200,13 +190,13 @@ define i1 @issignaling_f(float %x) nounwind {
200190
}
201191

202192
define i1 @not_isquiet_f(float %x) nounwind {
203-
; X86-LABEL: not_isquiet_f:
204-
; X86: # %bb.0: # %entry
205-
; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
206-
; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
207-
; X86-NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
208-
; X86-NEXT: setl %al
209-
; X86-NEXT: retl
193+
; X86-SDAGISEL-LABEL: not_isquiet_f:
194+
; X86-SDAGISEL: # %bb.0: # %entry
195+
; X86-SDAGISEL-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
196+
; X86-SDAGISEL-NEXT: andl {{[0-9]+}}(%esp), %eax
197+
; X86-SDAGISEL-NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
198+
; X86-SDAGISEL-NEXT: setl %al
199+
; X86-SDAGISEL-NEXT: retl
210200
;
211201
; X64-SDAGISEL-LABEL: not_isquiet_f:
212202
; X64-SDAGISEL: # %bb.0: # %entry
@@ -279,13 +269,13 @@ entry:
279269
}
280270

281271
define i1 @isinf_f(float %x) nounwind {
282-
; X86-LABEL: isinf_f:
283-
; X86: # %bb.0: # %entry
284-
; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
285-
; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
286-
; X86-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
287-
; X86-NEXT: sete %al
288-
; X86-NEXT: retl
272+
; X86-SDAGISEL-LABEL: isinf_f:
273+
; X86-SDAGISEL: # %bb.0: # %entry
274+
; X86-SDAGISEL-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
275+
; X86-SDAGISEL-NEXT: andl {{[0-9]+}}(%esp), %eax
276+
; X86-SDAGISEL-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
277+
; X86-SDAGISEL-NEXT: sete %al
278+
; X86-SDAGISEL-NEXT: retl
289279
;
290280
; X64-SDAGISEL-LABEL: isinf_f:
291281
; X64-SDAGISEL: # %bb.0: # %entry
@@ -340,13 +330,13 @@ entry:
340330
}
341331

342332
define i1 @not_isinf_f(float %x) nounwind {
343-
; X86-LABEL: not_isinf_f:
344-
; X86: # %bb.0: # %entry
345-
; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
346-
; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
347-
; X86-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
348-
; X86-NEXT: setne %al
349-
; X86-NEXT: retl
333+
; X86-SDAGISEL-LABEL: not_isinf_f:
334+
; X86-SDAGISEL: # %bb.0: # %entry
335+
; X86-SDAGISEL-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
336+
; X86-SDAGISEL-NEXT: andl {{[0-9]+}}(%esp), %eax
337+
; X86-SDAGISEL-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
338+
; X86-SDAGISEL-NEXT: setne %al
339+
; X86-SDAGISEL-NEXT: retl
350340
;
351341
; X64-SDAGISEL-LABEL: not_isinf_f:
352342
; X64-SDAGISEL: # %bb.0: # %entry
@@ -407,11 +397,11 @@ entry:
407397
}
408398

409399
define i1 @is_plus_inf_f(float %x) nounwind {
410-
; X86-LABEL: is_plus_inf_f:
411-
; X86: # %bb.0: # %entry
412-
; X86-NEXT: cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
413-
; X86-NEXT: sete %al
414-
; X86-NEXT: retl
400+
; X86-SDAGISEL-LABEL: is_plus_inf_f:
401+
; X86-SDAGISEL: # %bb.0: # %entry
402+
; X86-SDAGISEL-NEXT: cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
403+
; X86-SDAGISEL-NEXT: sete %al
404+
; X86-SDAGISEL-NEXT: retl
415405
;
416406
; X64-SDAGISEL-LABEL: is_plus_inf_f:
417407
; X64-SDAGISEL: # %bb.0: # %entry
@@ -459,11 +449,11 @@ entry:
459449
}
460450

461451
define i1 @is_minus_inf_f(float %x) nounwind {
462-
; X86-LABEL: is_minus_inf_f:
463-
; X86: # %bb.0: # %entry
464-
; X86-NEXT: cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
465-
; X86-NEXT: sete %al
466-
; X86-NEXT: retl
452+
; X86-SDAGISEL-LABEL: is_minus_inf_f:
453+
; X86-SDAGISEL: # %bb.0: # %entry
454+
; X86-SDAGISEL-NEXT: cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
455+
; X86-SDAGISEL-NEXT: sete %al
456+
; X86-SDAGISEL-NEXT: retl
467457
;
468458
; X64-SDAGISEL-LABEL: is_minus_inf_f:
469459
; X64-SDAGISEL: # %bb.0: # %entry
@@ -511,11 +501,11 @@ entry:
511501
}
512502

513503
define i1 @not_is_minus_inf_f(float %x) nounwind {
514-
; X86-LABEL: not_is_minus_inf_f:
515-
; X86: # %bb.0: # %entry
516-
; X86-NEXT: cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
517-
; X86-NEXT: setne %al
518-
; X86-NEXT: retl
504+
; X86-SDAGISEL-LABEL: not_is_minus_inf_f:
505+
; X86-SDAGISEL: # %bb.0: # %entry
506+
; X86-SDAGISEL-NEXT: cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
507+
; X86-SDAGISEL-NEXT: setne %al
508+
; X86-SDAGISEL-NEXT: retl
519509
;
520510
; X64-SDAGISEL-LABEL: not_is_minus_inf_f:
521511
; X64-SDAGISEL: # %bb.0: # %entry
@@ -544,8 +534,6 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
544534
; X86-GISEL-LABEL: not_is_minus_inf_f:
545535
; X86-GISEL: # %bb.0: # %entry
546536
; X86-GISEL-NEXT: pushl %ebx
547-
; X86-GISEL-NEXT: .cfi_def_cfa_offset 8
548-
; X86-GISEL-NEXT: .cfi_offset %ebx, -8
549537
; X86-GISEL-NEXT: movl {{[0-9]+}}(%esp), %eax
550538
; X86-GISEL-NEXT: movl %eax, %ecx
551539
; X86-GISEL-NEXT: andl $2147483647, %ecx # imm = 0x7FFFFFFF
@@ -560,7 +548,6 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
560548
; X86-GISEL-NEXT: seta %al
561549
; X86-GISEL-NEXT: orb %ah, %al
562550
; X86-GISEL-NEXT: popl %ebx
563-
; X86-GISEL-NEXT: .cfi_def_cfa_offset 4
564551
; X86-GISEL-NEXT: retl
565552
;
566553
; X64-GISEL-LABEL: not_is_minus_inf_f:
@@ -585,13 +572,13 @@ entry:
585572
}
586573

587574
define i1 @isfinite_f(float %x) nounwind {
588-
; X86-LABEL: isfinite_f:
589-
; X86: # %bb.0: # %entry
590-
; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
591-
; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
592-
; X86-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
593-
; X86-NEXT: setl %al
594-
; X86-NEXT: retl
575+
; X86-SDAGISEL-LABEL: isfinite_f:
576+
; X86-SDAGISEL: # %bb.0: # %entry
577+
; X86-SDAGISEL-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
578+
; X86-SDAGISEL-NEXT: andl {{[0-9]+}}(%esp), %eax
579+
; X86-SDAGISEL-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
580+
; X86-SDAGISEL-NEXT: setl %al
581+
; X86-SDAGISEL-NEXT: retl
595582
;
596583
; X64-SDAGISEL-LABEL: isfinite_f:
597584
; X64-SDAGISEL: # %bb.0: # %entry
@@ -646,13 +633,13 @@ entry:
646633
}
647634

648635
define i1 @not_isfinite_f(float %x) nounwind {
649-
; X86-LABEL: not_isfinite_f:
650-
; X86: # %bb.0: # %entry
651-
; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
652-
; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
653-
; X86-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
654-
; X86-NEXT: setge %al
655-
; X86-NEXT: retl
636+
; X86-SDAGISEL-LABEL: not_isfinite_f:
637+
; X86-SDAGISEL: # %bb.0: # %entry
638+
; X86-SDAGISEL-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
639+
; X86-SDAGISEL-NEXT: andl {{[0-9]+}}(%esp), %eax
640+
; X86-SDAGISEL-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
641+
; X86-SDAGISEL-NEXT: setge %al
642+
; X86-SDAGISEL-NEXT: retl
656643
;
657644
; X64-SDAGISEL-LABEL: not_isfinite_f:
658645
; X64-SDAGISEL: # %bb.0: # %entry
@@ -713,11 +700,11 @@ entry:
713700
}
714701

715702
define i1 @is_plus_finite_f(float %x) nounwind {
716-
; X86-LABEL: is_plus_finite_f:
717-
; X86: # %bb.0: # %entry
718-
; X86-NEXT: cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
719-
; X86-NEXT: setb %al
720-
; X86-NEXT: retl
703+
; X86-SDAGISEL-LABEL: is_plus_finite_f:
704+
; X86-SDAGISEL: # %bb.0: # %entry
705+
; X86-SDAGISEL-NEXT: cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
706+
; X86-SDAGISEL-NEXT: setb %al
707+
; X86-SDAGISEL-NEXT: retl
721708
;
722709
; X64-SDAGISEL-LABEL: is_plus_finite_f:
723710
; X64-SDAGISEL: # %bb.0: # %entry
@@ -781,11 +768,6 @@ define i1 @isnone_d(double %x) nounwind {
781768
; X86-FASTISEL-NEXT: fstp %st(0)
782769
; X86-FASTISEL-NEXT: xorl %eax, %eax
783770
; 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
789771
entry:
790772
%0 = tail call i1 @llvm.is.fpclass.f64(double %x, i32 0)
791773
ret i1 %0
@@ -808,11 +790,6 @@ define i1 @isany_d(double %x) nounwind {
808790
; X86-FASTISEL-NEXT: fstp %st(0)
809791
; X86-FASTISEL-NEXT: movb $1, %al
810792
; 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
816793
entry:
817794
%0 = tail call i1 @llvm.is.fpclass.f64(double %x, i32 1023)
818795
ret i1 %0
@@ -843,11 +820,6 @@ define i1 @isnone_f80(x86_fp80 %x) nounwind {
843820
; X64-FASTISEL-NEXT: xorl %eax, %eax
844821
; X64-FASTISEL-NEXT: retq
845822
;
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-
;
851823
; X64-GISEL-LABEL: isnone_f80:
852824
; X64-GISEL: # %bb.0: # %entry
853825
; X64-GISEL-NEXT: xorl %eax, %eax
@@ -882,11 +854,6 @@ define i1 @isany_f80(x86_fp80 %x) nounwind {
882854
; X64-FASTISEL-NEXT: movb $1, %al
883855
; X64-FASTISEL-NEXT: retq
884856
;
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-
;
890857
; X64-GISEL-LABEL: isany_f80:
891858
; X64-GISEL: # %bb.0: # %entry
892859
; X64-GISEL-NEXT: movb $1, %al

0 commit comments

Comments
 (0)