1
1
; 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,X86-SDAGISEL
2
+ ; RUN: llc < %s -mtriple=i686-linux | FileCheck %s -check-prefixes=X86
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
@@ -61,16 +61,16 @@ entry:
61
61
}
62
62
63
63
define i1 @issignaling_f (float %x ) nounwind {
64
- ; X86-SDAGISEL- LABEL: issignaling_f:
65
- ; X86-SDAGISEL : # %bb.0:
66
- ; X86-SDAGISEL- NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
67
- ; X86-SDAGISEL- NEXT: andl {{[0-9]+}}(%esp), %eax
68
- ; X86-SDAGISEL- NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
69
- ; X86-SDAGISEL- NEXT: setl %cl
70
- ; X86-SDAGISEL- NEXT: cmpl $2139095041, %eax # imm = 0x7F800001
71
- ; X86-SDAGISEL- NEXT: setge %al
72
- ; X86-SDAGISEL- NEXT: andb %cl, %al
73
- ; X86-SDAGISEL- NEXT: retl
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
74
74
;
75
75
; X64-SDAGISEL-LABEL: issignaling_f:
76
76
; X64-SDAGISEL: # %bb.0:
@@ -139,13 +139,13 @@ define i1 @issignaling_f(float %x) nounwind {
139
139
}
140
140
141
141
define i1 @isquiet_f (float %x ) nounwind {
142
- ; X86-SDAGISEL- LABEL: isquiet_f:
143
- ; X86-SDAGISEL : # %bb.0: # %entry
144
- ; X86-SDAGISEL- NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
145
- ; X86-SDAGISEL- NEXT: andl {{[0-9]+}}(%esp), %eax
146
- ; X86-SDAGISEL- NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
147
- ; X86-SDAGISEL- NEXT: setge %al
148
- ; X86-SDAGISEL- NEXT: retl
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
149
149
;
150
150
; X64-SDAGISEL-LABEL: isquiet_f:
151
151
; X64-SDAGISEL: # %bb.0: # %entry
@@ -200,13 +200,13 @@ define i1 @issignaling_f(float %x) nounwind {
200
200
}
201
201
202
202
define i1 @not_isquiet_f (float %x ) nounwind {
203
- ; X86-SDAGISEL- LABEL: not_isquiet_f:
204
- ; X86-SDAGISEL : # %bb.0: # %entry
205
- ; X86-SDAGISEL- NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
206
- ; X86-SDAGISEL- NEXT: andl {{[0-9]+}}(%esp), %eax
207
- ; X86-SDAGISEL- NEXT: cmpl $2143289344, %eax # imm = 0x7FC00000
208
- ; X86-SDAGISEL- NEXT: setl %al
209
- ; X86-SDAGISEL- NEXT: retl
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
210
210
;
211
211
; X64-SDAGISEL-LABEL: not_isquiet_f:
212
212
; X64-SDAGISEL: # %bb.0: # %entry
@@ -279,13 +279,13 @@ entry:
279
279
}
280
280
281
281
define i1 @isinf_f (float %x ) nounwind {
282
- ; X86-SDAGISEL- LABEL: isinf_f:
283
- ; X86-SDAGISEL : # %bb.0: # %entry
284
- ; X86-SDAGISEL- NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
285
- ; X86-SDAGISEL- NEXT: andl {{[0-9]+}}(%esp), %eax
286
- ; X86-SDAGISEL- NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
287
- ; X86-SDAGISEL- NEXT: sete %al
288
- ; X86-SDAGISEL- NEXT: retl
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
289
289
;
290
290
; X64-SDAGISEL-LABEL: isinf_f:
291
291
; X64-SDAGISEL: # %bb.0: # %entry
@@ -340,13 +340,13 @@ entry:
340
340
}
341
341
342
342
define i1 @not_isinf_f (float %x ) nounwind {
343
- ; X86-SDAGISEL- LABEL: not_isinf_f:
344
- ; X86-SDAGISEL : # %bb.0: # %entry
345
- ; X86-SDAGISEL- NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
346
- ; X86-SDAGISEL- NEXT: andl {{[0-9]+}}(%esp), %eax
347
- ; X86-SDAGISEL- NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
348
- ; X86-SDAGISEL- NEXT: setne %al
349
- ; X86-SDAGISEL- NEXT: retl
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
350
350
;
351
351
; X64-SDAGISEL-LABEL: not_isinf_f:
352
352
; X64-SDAGISEL: # %bb.0: # %entry
@@ -407,11 +407,11 @@ entry:
407
407
}
408
408
409
409
define i1 @is_plus_inf_f (float %x ) nounwind {
410
- ; X86-SDAGISEL- LABEL: is_plus_inf_f:
411
- ; X86-SDAGISEL : # %bb.0: # %entry
412
- ; X86-SDAGISEL- NEXT: cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
413
- ; X86-SDAGISEL- NEXT: sete %al
414
- ; X86-SDAGISEL- NEXT: retl
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
415
415
;
416
416
; X64-SDAGISEL-LABEL: is_plus_inf_f:
417
417
; X64-SDAGISEL: # %bb.0: # %entry
@@ -459,11 +459,11 @@ entry:
459
459
}
460
460
461
461
define i1 @is_minus_inf_f (float %x ) nounwind {
462
- ; X86-SDAGISEL- LABEL: is_minus_inf_f:
463
- ; X86-SDAGISEL : # %bb.0: # %entry
464
- ; X86-SDAGISEL- NEXT: cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
465
- ; X86-SDAGISEL- NEXT: sete %al
466
- ; X86-SDAGISEL- NEXT: retl
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
467
467
;
468
468
; X64-SDAGISEL-LABEL: is_minus_inf_f:
469
469
; X64-SDAGISEL: # %bb.0: # %entry
@@ -511,11 +511,11 @@ entry:
511
511
}
512
512
513
513
define i1 @not_is_minus_inf_f (float %x ) nounwind {
514
- ; X86-SDAGISEL- LABEL: not_is_minus_inf_f:
515
- ; X86-SDAGISEL : # %bb.0: # %entry
516
- ; X86-SDAGISEL- NEXT: cmpl $-8388608, {{[0-9]+}}(%esp) # imm = 0xFF800000
517
- ; X86-SDAGISEL- NEXT: setne %al
518
- ; X86-SDAGISEL- NEXT: retl
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
519
519
;
520
520
; X64-SDAGISEL-LABEL: not_is_minus_inf_f:
521
521
; X64-SDAGISEL: # %bb.0: # %entry
@@ -544,8 +544,6 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
544
544
; X86-GISEL-LABEL: not_is_minus_inf_f:
545
545
; X86-GISEL: # %bb.0: # %entry
546
546
; X86-GISEL-NEXT: pushl %ebx
547
- ; X86-GISEL-NEXT: .cfi_def_cfa_offset 8
548
- ; X86-GISEL-NEXT: .cfi_offset %ebx, -8
549
547
; X86-GISEL-NEXT: movl {{[0-9]+}}(%esp), %eax
550
548
; X86-GISEL-NEXT: movl %eax, %ecx
551
549
; X86-GISEL-NEXT: andl $2147483647, %ecx # imm = 0x7FFFFFFF
@@ -560,7 +558,6 @@ define i1 @not_is_minus_inf_f(float %x) nounwind {
560
558
; X86-GISEL-NEXT: seta %al
561
559
; X86-GISEL-NEXT: orb %ah, %al
562
560
; X86-GISEL-NEXT: popl %ebx
563
- ; X86-GISEL-NEXT: .cfi_def_cfa_offset 4
564
561
; X86-GISEL-NEXT: retl
565
562
;
566
563
; X64-GISEL-LABEL: not_is_minus_inf_f:
@@ -585,13 +582,13 @@ entry:
585
582
}
586
583
587
584
define i1 @isfinite_f (float %x ) nounwind {
588
- ; X86-SDAGISEL- LABEL: isfinite_f:
589
- ; X86-SDAGISEL : # %bb.0: # %entry
590
- ; X86-SDAGISEL- NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
591
- ; X86-SDAGISEL- NEXT: andl {{[0-9]+}}(%esp), %eax
592
- ; X86-SDAGISEL- NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
593
- ; X86-SDAGISEL- NEXT: setl %al
594
- ; X86-SDAGISEL- NEXT: retl
585
+ ; X86-LABEL: isfinite_f:
586
+ ; X86: # %bb.0: # %entry
587
+ ; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
588
+ ; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
589
+ ; X86-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
590
+ ; X86-NEXT: setl %al
591
+ ; X86-NEXT: retl
595
592
;
596
593
; X64-SDAGISEL-LABEL: isfinite_f:
597
594
; X64-SDAGISEL: # %bb.0: # %entry
@@ -646,13 +643,13 @@ entry:
646
643
}
647
644
648
645
define i1 @not_isfinite_f (float %x ) nounwind {
649
- ; X86-SDAGISEL- LABEL: not_isfinite_f:
650
- ; X86-SDAGISEL : # %bb.0: # %entry
651
- ; X86-SDAGISEL- NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
652
- ; X86-SDAGISEL- NEXT: andl {{[0-9]+}}(%esp), %eax
653
- ; X86-SDAGISEL- NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
654
- ; X86-SDAGISEL- NEXT: setge %al
655
- ; X86-SDAGISEL- NEXT: retl
646
+ ; X86-LABEL: not_isfinite_f:
647
+ ; X86: # %bb.0: # %entry
648
+ ; X86-NEXT: movl $2147483647, %eax # imm = 0x7FFFFFFF
649
+ ; X86-NEXT: andl {{[0-9]+}}(%esp), %eax
650
+ ; X86-NEXT: cmpl $2139095040, %eax # imm = 0x7F800000
651
+ ; X86-NEXT: setge %al
652
+ ; X86-NEXT: retl
656
653
;
657
654
; X64-SDAGISEL-LABEL: not_isfinite_f:
658
655
; X64-SDAGISEL: # %bb.0: # %entry
@@ -713,11 +710,11 @@ entry:
713
710
}
714
711
715
712
define i1 @is_plus_finite_f (float %x ) nounwind {
716
- ; X86-SDAGISEL- LABEL: is_plus_finite_f:
717
- ; X86-SDAGISEL : # %bb.0: # %entry
718
- ; X86-SDAGISEL- NEXT: cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
719
- ; X86-SDAGISEL- NEXT: setb %al
720
- ; X86-SDAGISEL- NEXT: retl
713
+ ; X86-LABEL: is_plus_finite_f:
714
+ ; X86: # %bb.0: # %entry
715
+ ; X86-NEXT: cmpl $2139095040, {{[0-9]+}}(%esp) # imm = 0x7F800000
716
+ ; X86-NEXT: setb %al
717
+ ; X86-NEXT: retl
721
718
;
722
719
; X64-SDAGISEL-LABEL: is_plus_finite_f:
723
720
; X64-SDAGISEL: # %bb.0: # %entry
0 commit comments