@@ -10,7 +10,7 @@ define float @test_fcmp_ogt_fadd_select_constant(float %in) {
1010; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
1111; CHECK-NEXT: ret float [[ADD_NEW]]
1212;
13- %cmp1 = fcmp ogt float %in , 0 .000000e+00
13+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
1414 %add = fadd float %in , 1 .000000e+00
1515 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
1616 ret float %sel
@@ -23,7 +23,7 @@ define float @test_fcmp_ogt_fadd_select_constant_swapped(float %in) {
2323; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
2424; CHECK-NEXT: ret float [[ADD_NEW]]
2525;
26- %cmp1 = fcmp ogt float %in , 0 .000000e+00
26+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
2727 %add = fadd float %in , 1 .000000e+00
2828 %sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
2929 ret float %sel
@@ -36,7 +36,7 @@ define float @test_fcmp_ogt_fadd_select_neg_constant(float %in) {
3636; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
3737; CHECK-NEXT: ret float [[ADD_NEW]]
3838;
39- %cmp1 = fcmp ogt float %in , -0 .000000e+00
39+ %cmp1 = fcmp nnan ogt float %in , -0 .000000e+00
4040 %add = fadd float %in , 1 .000000e+00
4141 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
4242 ret float %sel
@@ -49,7 +49,7 @@ define float @test_fcmp_ogt_fadd_select_fastmath_preserve(float %in) {
4949; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
5050; CHECK-NEXT: ret float [[ADD_NEW]]
5151;
52- %cmp1 = fcmp ogt float %in , 0 .000000e+00
52+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
5353 %add = fadd nnan float %in , 1 .000000e+00
5454 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
5555 ret float %sel
@@ -62,7 +62,7 @@ define <2 x float> @test_fcmp_ogt_fadd_select_constant_vectors(<2 x float> %in)
6262; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
6363; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
6464;
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 >
6666 %add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
6767 %sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
6868 ret <2 x float > %sel
@@ -78,7 +78,7 @@ define float @test_fcmp_olt_fadd_select_constant(float %in) {
7878; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
7979; CHECK-NEXT: ret float [[ADD_NEW]]
8080;
81- %cmp1 = fcmp olt float %in , 0 .000000e+00
81+ %cmp1 = fcmp nnan olt float %in , 0 .000000e+00
8282 %add = fadd float %in , 1 .000000e+00
8383 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
8484 ret float %sel
@@ -91,7 +91,7 @@ define float @test_fcmp_olt_fadd_select_constant_swapped(float %in) {
9191; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
9292; CHECK-NEXT: ret float [[ADD_NEW]]
9393;
94- %cmp1 = fcmp olt float %in , 0 .000000e+00
94+ %cmp1 = fcmp nnan olt float %in , 0 .000000e+00
9595 %add = fadd float %in , 1 .000000e+00
9696 %sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
9797 ret float %sel
@@ -104,7 +104,7 @@ define float @test_fcmp_olt_fadd_select_neg_constant(float %in) {
104104; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
105105; CHECK-NEXT: ret float [[ADD_NEW]]
106106;
107- %cmp1 = fcmp olt float %in , -0 .000000e+00
107+ %cmp1 = fcmp nnan olt float %in , -0 .000000e+00
108108 %add = fadd float %in , 1 .000000e+00
109109 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
110110 ret float %sel
@@ -117,7 +117,7 @@ define float @test_fcmp_olt_fadd_select_fastmath_preserve(float %in) {
117117; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
118118; CHECK-NEXT: ret float [[ADD_NEW]]
119119;
120- %cmp1 = fcmp olt float %in , 0 .000000e+00
120+ %cmp1 = fcmp nnan olt float %in , 0 .000000e+00
121121 %add = fadd nnan float %in , 1 .000000e+00
122122 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
123123 ret float %sel
@@ -130,7 +130,7 @@ define <2 x float> @test_fcmp_olt_fadd_select_constant_vectors(<2 x float> %in)
130130; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
131131; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
132132;
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 >
134134 %add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
135135 %sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
136136 ret <2 x float > %sel
@@ -146,7 +146,7 @@ define float @test_fcmp_oge_fadd_select_constant(float %in) {
146146; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
147147; CHECK-NEXT: ret float [[ADD_NEW]]
148148;
149- %cmp1 = fcmp oge float %in , 0 .000000e+00
149+ %cmp1 = fcmp nnan oge float %in , 0 .000000e+00
150150 %add = fadd float %in , 1 .000000e+00
151151 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
152152 ret float %sel
@@ -159,7 +159,7 @@ define float @test_fcmp_oge_fadd_select_constant_swapped(float %in) {
159159; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
160160; CHECK-NEXT: ret float [[ADD_NEW]]
161161;
162- %cmp1 = fcmp oge float %in , 0 .000000e+00
162+ %cmp1 = fcmp nnan oge float %in , 0 .000000e+00
163163 %add = fadd float %in , 1 .000000e+00
164164 %sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
165165 ret float %sel
@@ -172,7 +172,7 @@ define float @test_fcmp_oge_fadd_select_neg_constant(float %in) {
172172; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
173173; CHECK-NEXT: ret float [[ADD_NEW]]
174174;
175- %cmp1 = fcmp oge float %in , -0 .000000e+00
175+ %cmp1 = fcmp nnan oge float %in , -0 .000000e+00
176176 %add = fadd float %in , 1 .000000e+00
177177 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
178178 ret float %sel
@@ -185,7 +185,7 @@ define float @test_fcmp_oge_fadd_select_fastmath_preserve(float %in) {
185185; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
186186; CHECK-NEXT: ret float [[ADD_NEW]]
187187;
188- %cmp1 = fcmp oge float %in , 0 .000000e+00
188+ %cmp1 = fcmp nnan oge float %in , 0 .000000e+00
189189 %add = fadd nnan float %in , 1 .000000e+00
190190 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
191191 ret float %sel
@@ -198,7 +198,7 @@ define <2 x float> @test_fcmp_oge_fadd_select_constant_vectors(<2 x float> %in)
198198; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
199199; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
200200;
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 >
202202 %add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
203203 %sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
204204 ret <2 x float > %sel
@@ -214,7 +214,7 @@ define float @test_fcmp_ole_fadd_select_constant(float %in) {
214214; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
215215; CHECK-NEXT: ret float [[ADD_NEW]]
216216;
217- %cmp1 = fcmp ole float %in , 0 .000000e+00
217+ %cmp1 = fcmp nnan ole float %in , 0 .000000e+00
218218 %add = fadd float %in , 1 .000000e+00
219219 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
220220 ret float %sel
@@ -227,7 +227,7 @@ define float @test_fcmp_ole_fadd_select_constant_swapped(float %in) {
227227; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
228228; CHECK-NEXT: ret float [[ADD_NEW]]
229229;
230- %cmp1 = fcmp ole float %in , 0 .000000e+00
230+ %cmp1 = fcmp nnan ole float %in , 0 .000000e+00
231231 %add = fadd float %in , 1 .000000e+00
232232 %sel = select nnan nsz i1 %cmp1 , float 1 .000000e+00 , float %add
233233 ret float %sel
@@ -240,7 +240,7 @@ define float @test_fcmp_ole_fadd_select_neg_constant(float %in) {
240240; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
241241; CHECK-NEXT: ret float [[ADD_NEW]]
242242;
243- %cmp1 = fcmp ole float %in , -0 .000000e+00
243+ %cmp1 = fcmp nnan ole float %in , -0 .000000e+00
244244 %add = fadd float %in , 1 .000000e+00
245245 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
246246 ret float %sel
@@ -253,7 +253,7 @@ define float @test_fcmp_ole_fadd_select_fastmath_preserve(float %in) {
253253; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
254254; CHECK-NEXT: ret float [[ADD_NEW]]
255255;
256- %cmp1 = fcmp ole float %in , 0 .000000e+00
256+ %cmp1 = fcmp nnan ole float %in , 0 .000000e+00
257257 %add = fadd nnan float %in , 1 .000000e+00
258258 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
259259 ret float %sel
@@ -266,7 +266,7 @@ define <2 x float> @test_fcmp_ole_fadd_select_constant_vectors(<2 x float> %in)
266266; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz <2 x float> [[SEL_NEW]], splat (float 1.000000e+00)
267267; CHECK-NEXT: ret <2 x float> [[ADD_NEW]]
268268;
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 >
270270 %add = fadd <2 x float > %in , <float 1 .000000e+00 , float 1 .000000e+00 >
271271 %sel = select nnan nsz <2 x i1 > %cmp1 , <2 x float > %add , <2 x float > <float 1 .000000e+00 , float 1 .000000e+00 >
272272 ret <2 x float > %sel
@@ -641,7 +641,7 @@ define float @test_fcmp_ogt_fadd_select_rewrite_flags1(float %in) {
641641; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd reassoc nnan nsz arcp contract afn float [[SEL_NEW]], 1.000000e+00
642642; CHECK-NEXT: ret float [[ADD_NEW]]
643643;
644- %cmp1 = fcmp ogt float %in , 0 .000000e+00
644+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
645645 %add = fadd reassoc afn arcp contract float %in , 1 .000000e+00
646646 %sel = select nnan nsz reassoc afn arcp contract i1 %cmp1 , float %add , float 1 .000000e+00
647647 ret float %sel
@@ -654,7 +654,7 @@ define float @test_fcmp_ogt_fadd_select_rewrite_flags2(float %in) {
654654; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd nnan nsz float [[SEL_NEW]], 1.000000e+00
655655; CHECK-NEXT: ret float [[ADD_NEW]]
656656;
657- %cmp1 = fcmp ogt float %in , 0 .000000e+00
657+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
658658 %add = fadd reassoc float %in , 1 .000000e+00
659659 %sel = select nnan nsz i1 %cmp1 , float %add , float 1 .000000e+00
660660 ret float %sel
@@ -667,7 +667,7 @@ define float @test_fcmp_ogt_fadd_select_rewrite_and_fastmath(float %in) {
667667; CHECK-NEXT: [[ADD_NEW:%.*]] = fadd fast float [[SEL_NEW]], 1.000000e+00
668668; CHECK-NEXT: ret float [[ADD_NEW]]
669669;
670- %cmp1 = fcmp ogt float %in , 0 .000000e+00
670+ %cmp1 = fcmp nnan ogt float %in , 0 .000000e+00
671671 %add = fadd fast reassoc float %in , 1 .000000e+00
672672 %sel = select fast i1 %cmp1 , float %add , float 1 .000000e+00
673673 ret float %sel
0 commit comments