@@ -91,3 +91,21 @@ int64_t4 test_lit_int64_t(int64_t NDotL, int64_t NDotH, int64_t M) { return lit(
91
91
// CHECK: %conv3.i = fptoui <4 x float> %{{.*}} to <4 x i64>
92
92
// CHECK: ret <4 x i64> %conv3.i
93
93
uint64_t4 test_lit_uint64_t (uint64_t NDotL, uint64_t NDotH, uint64_t M) { return lit (NDotL, NDotH, M); }
94
+
95
+ // CHECK-LABEL: test_lit_bool
96
+ // CHECK: %conv.i = uitofp i1 %{{.*}} to float
97
+ // CHECK: %conv4.i = uitofp i1 %{{.*}} to float
98
+ // CHECK: %conv6.i = uitofp i1 %{{.*}} to float
99
+ // CHECK: %cmp.i = fcmp reassoc nnan ninf nsz arcp afn olt float %{{.*}}, 0.000000e+00
100
+ // CHECK: %hlsl.select.i = select reassoc nnan ninf nsz arcp afn i1 %{{.*}}, float 0.000000e+00, float %{{.*}}
101
+ // CHECK: %vecinit.i = insertelement <4 x float> <float 1.000000e+00, float poison, float poison, float poison>, float %{{.*}}, i32 1
102
+ // CHECK: %cmp4.i = fcmp reassoc nnan ninf nsz arcp afn olt float %{{.*}}, 0.000000e+00
103
+ // CHECK: %hlsl.or.i = or i1 %{{.*}}, %cmp4.i
104
+ // CHECK: %elt.log.i = call reassoc nnan ninf nsz arcp afn float @llvm.log.f32(float %{{.*}})
105
+ // CHECK: %mul.i = fmul reassoc nnan ninf nsz arcp afn float %elt.log.i, %{{.*}}
106
+ // CHECK: %elt.exp.i = call reassoc nnan ninf nsz arcp afn float @llvm.exp.f32(float %mul.i)
107
+ // CHECK: %hlsl.select7.i = select reassoc nnan ninf nsz arcp afn i1 %{{.*}}, float 0.000000e+00, float %{{.*}}
108
+ // CHECK: %vecins.i = insertelement <4 x float> %{{.*}}, float %hlsl.select7.i, i32 2
109
+ // CHECK: %tobool.i = fcmp reassoc nnan ninf nsz arcp afn une <4 x float> %{{.*}}, zeroinitializer
110
+ // CHECK: ret <4 x i1> %tobool.i
111
+ bool4 test_lit_bool (bool NDotL, bool NDotH, bool M) { return lit (NDotL, NDotH, M); }
0 commit comments