@@ -10,7 +10,7 @@ define float @test_fcmp_ogt_fadd_select_constant(float %in) {
10
10
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
11
11
; CHECK-NEXT: ret float [[ADD_NEW]]
12
12
;
13
- %cmp1 = fcmp ogt float %in , 0 .000000e+00
13
+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
14
14
%add = fadd float %in , 1 .000000e+00
15
15
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
16
16
ret float %sel
@@ -23,7 +23,7 @@ define float @test_fcmp_ogt_fadd_select_constant_swapped(float %in) {
23
23
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
24
24
; CHECK-NEXT: ret float [[ADD_NEW]]
25
25
;
26
- %cmp1 = fcmp ogt float %in , 0 .000000e+00
26
+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
27
27
%add = fadd float %in , 1 .000000e+00
28
28
%sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
29
29
ret float %sel
@@ -36,7 +36,7 @@ define float @test_fcmp_ogt_fadd_select_neg_constant(float %in) {
36
36
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
37
37
; CHECK-NEXT: ret float [[ADD_NEW]]
38
38
;
39
- %cmp1 = fcmp ogt float %in , -0 .000000e+00
39
+ %cmp1 = fcmp nnan ogt float %in , -0 .000000e+00
40
40
%add = fadd float %in , 1 .000000e+00
41
41
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
42
42
ret float %sel
@@ -49,7 +49,7 @@ define float @test_fcmp_ogt_fadd_select_fastmath_preserve(float %in) {
49
49
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
50
50
; CHECK-NEXT: ret float [[ADD_NEW]]
51
51
;
52
- %cmp1 = fcmp ogt float %in , 0 .000000e+00
52
+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
53
53
%add = fadd nnan float %in , 1 .000000e+00
54
54
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
55
55
ret float %sel
@@ -62,7 +62,7 @@ define <2 x float> @test_fcmp_ogt_fadd_select_constant_vectors(<2 x float> %in)
62
62
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
63
63
; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
64
64
;
65
- %cmp1 = fcmp ogt <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
65
+ %cmp1 = fcmp nnan ogt <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
66
66
%add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
67
67
%sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
68
68
ret <2 x float > %sel
@@ -78,7 +78,7 @@ define float @test_fcmp_olt_fadd_select_constant(float %in) {
78
78
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
79
79
; CHECK-NEXT: ret float [[ADD_NEW]]
80
80
;
81
- %cmp1 = fcmp olt float %in , 0 .000000e+00
81
+ %cmp1 = fcmp nnan olt float %in , 0 .000000e+00
82
82
%add = fadd float %in , 1 .000000e+00
83
83
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
84
84
ret float %sel
@@ -91,7 +91,7 @@ define float @test_fcmp_olt_fadd_select_constant_swapped(float %in) {
91
91
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
92
92
; CHECK-NEXT: ret float [[ADD_NEW]]
93
93
;
94
- %cmp1 = fcmp olt float %in , 0 .000000e+00
94
+ %cmp1 = fcmp nnan olt float %in , 0 .000000e+00
95
95
%add = fadd float %in , 1 .000000e+00
96
96
%sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
97
97
ret float %sel
@@ -104,7 +104,7 @@ define float @test_fcmp_olt_fadd_select_neg_constant(float %in) {
104
104
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
105
105
; CHECK-NEXT: ret float [[ADD_NEW]]
106
106
;
107
- %cmp1 = fcmp olt float %in , -0 .000000e+00
107
+ %cmp1 = fcmp nnan olt float %in , -0 .000000e+00
108
108
%add = fadd float %in , 1 .000000e+00
109
109
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
110
110
ret float %sel
@@ -117,7 +117,7 @@ define float @test_fcmp_olt_fadd_select_fastmath_preserve(float %in) {
117
117
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
118
118
; CHECK-NEXT: ret float [[ADD_NEW]]
119
119
;
120
- %cmp1 = fcmp olt float %in , 0 .000000e+00
120
+ %cmp1 = fcmp nnan olt float %in , 0 .000000e+00
121
121
%add = fadd nnan float %in , 1 .000000e+00
122
122
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
123
123
ret float %sel
@@ -130,7 +130,7 @@ define <2 x float> @test_fcmp_olt_fadd_select_constant_vectors(<2 x float> %in)
130
130
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
131
131
; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
132
132
;
133
- %cmp1 = fcmp olt <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
133
+ %cmp1 = fcmp nnan olt <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
134
134
%add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
135
135
%sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
136
136
ret <2 x float > %sel
@@ -146,7 +146,7 @@ define float @test_fcmp_oge_fadd_select_constant(float %in) {
146
146
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
147
147
; CHECK-NEXT: ret float [[ADD_NEW]]
148
148
;
149
- %cmp1 = fcmp oge float %in , 0 .000000e+00
149
+ %cmp1 = fcmp nnan oge float %in , 0 .000000e+00
150
150
%add = fadd float %in , 1 .000000e+00
151
151
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
152
152
ret float %sel
@@ -159,7 +159,7 @@ define float @test_fcmp_oge_fadd_select_constant_swapped(float %in) {
159
159
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
160
160
; CHECK-NEXT: ret float [[ADD_NEW]]
161
161
;
162
- %cmp1 = fcmp oge float %in , 0 .000000e+00
162
+ %cmp1 = fcmp nnan oge float %in , 0 .000000e+00
163
163
%add = fadd float %in , 1 .000000e+00
164
164
%sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
165
165
ret float %sel
@@ -172,7 +172,7 @@ define float @test_fcmp_oge_fadd_select_neg_constant(float %in) {
172
172
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
173
173
; CHECK-NEXT: ret float [[ADD_NEW]]
174
174
;
175
- %cmp1 = fcmp oge float %in , -0 .000000e+00
175
+ %cmp1 = fcmp nnan oge float %in , -0 .000000e+00
176
176
%add = fadd float %in , 1 .000000e+00
177
177
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
178
178
ret float %sel
@@ -185,7 +185,7 @@ define float @test_fcmp_oge_fadd_select_fastmath_preserve(float %in) {
185
185
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
186
186
; CHECK-NEXT: ret float [[ADD_NEW]]
187
187
;
188
- %cmp1 = fcmp oge float %in , 0 .000000e+00
188
+ %cmp1 = fcmp nnan oge float %in , 0 .000000e+00
189
189
%add = fadd nnan float %in , 1 .000000e+00
190
190
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
191
191
ret float %sel
@@ -198,7 +198,7 @@ define <2 x float> @test_fcmp_oge_fadd_select_constant_vectors(<2 x float> %in)
198
198
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
199
199
; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
200
200
;
201
- %cmp1 = fcmp oge <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
201
+ %cmp1 = fcmp nnan oge <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
202
202
%add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
203
203
%sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
204
204
ret <2 x float > %sel
@@ -214,7 +214,7 @@ define float @test_fcmp_ole_fadd_select_constant(float %in) {
214
214
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
215
215
; CHECK-NEXT: ret float [[ADD_NEW]]
216
216
;
217
- %cmp1 = fcmp ole float %in , 0 .000000e+00
217
+ %cmp1 = fcmp nnan ole float %in , 0 .000000e+00
218
218
%add = fadd float %in , 1 .000000e+00
219
219
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
220
220
ret float %sel
@@ -227,7 +227,7 @@ define float @test_fcmp_ole_fadd_select_constant_swapped(float %in) {
227
227
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
228
228
; CHECK-NEXT: ret float [[ADD_NEW]]
229
229
;
230
- %cmp1 = fcmp ole float %in , 0 .000000e+00
230
+ %cmp1 = fcmp nnan ole float %in , 0 .000000e+00
231
231
%add = fadd float %in , 1 .000000e+00
232
232
%sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
233
233
ret float %sel
@@ -240,7 +240,7 @@ define float @test_fcmp_ole_fadd_select_neg_constant(float %in) {
240
240
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
241
241
; CHECK-NEXT: ret float [[ADD_NEW]]
242
242
;
243
- %cmp1 = fcmp ole float %in , -0 .000000e+00
243
+ %cmp1 = fcmp nnan ole float %in , -0 .000000e+00
244
244
%add = fadd float %in , 1 .000000e+00
245
245
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
246
246
ret float %sel
@@ -253,7 +253,7 @@ define float @test_fcmp_ole_fadd_select_fastmath_preserve(float %in) {
253
253
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
254
254
; CHECK-NEXT: ret float [[ADD_NEW]]
255
255
;
256
- %cmp1 = fcmp ole float %in , 0 .000000e+00
256
+ %cmp1 = fcmp nnan ole float %in , 0 .000000e+00
257
257
%add = fadd nnan float %in , 1 .000000e+00
258
258
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
259
259
ret float %sel
@@ -266,7 +266,7 @@ define <2 x float> @test_fcmp_ole_fadd_select_constant_vectors(<2 x float> %in)
266
266
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
267
267
; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
268
268
;
269
- %cmp1 = fcmp ole <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
269
+ %cmp1 = fcmp nnan ole <2 x float > %in , <float 0 .000000e+00 , float 0 .000000e+00 >
270
270
%add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
271
271
%sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
272
272
ret <2 x float > %sel
@@ -641,7 +641,7 @@ define float @test_fcmp_ogt_fadd_select_rewrite_flags1(float %in) {
641
641
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd reassoc nnan nsz arcp contract afn float [[SEL_NEW]], 1.000000e+00
642
642
; CHECK-NEXT: ret float [[ADD_NEW]]
643
643
;
644
- %cmp1 = fcmp ogt float %in , 0 .000000e+00
644
+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
645
645
%add = fadd reassoc afn arcp contract float %in , 1 .000000e+00
646
646
%sel = select nnan nsz reassoc afn arcp contract i1 %cmp1 , float %add , float 1 .000000e+00
647
647
ret float %sel
@@ -654,7 +654,7 @@ define float @test_fcmp_ogt_fadd_select_rewrite_flags2(float %in) {
654
654
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
655
655
; CHECK-NEXT: ret float [[ADD_NEW]]
656
656
;
657
- %cmp1 = fcmp ogt float %in , 0 .000000e+00
657
+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
658
658
%add = fadd reassoc float %in , 1 .000000e+00
659
659
%sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
660
660
ret float %sel
@@ -667,7 +667,7 @@ define float @test_fcmp_ogt_fadd_select_rewrite_and_fastmath(float %in) {
667
667
; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd fast float [[SEL_NEW]], 1.000000e+00
668
668
; CHECK-NEXT: ret float [[ADD_NEW]]
669
669
;
670
- %cmp1 = fcmp ogt float %in , 0 .000000e+00
670
+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
671
671
%add = fadd fast reassoc float %in , 1 .000000e+00
672
672
%sel = select fast i1 %cmp1 , float %add , float 1 .000000e+00
673
673
ret float %sel
0 commit comments