Lines Matching refs:ctlz
6 declare i32 @llvm.ctlz.i32(i32, i1) nounwind readnone
8 declare i1 @llvm.ctlz.i1(i1, i1) nounwind readnone
11 declare <2 x i32> @llvm.ctlz.v2i32(<2 x i32>, i1) nounwind readnone
13 declare i8 @llvm.ctlz.i8(i8, i1) nounwind readnone
14 declare <2 x i8> @llvm.ctlz.v2i8(<2 x i8>, i1) nounwind readnone
129 define i8 @ctlz(i8 %a) {
130 ; CHECK-LABEL: @ctlz(
135 %count = tail call i8 @llvm.ctlz.i8(i8 %and, i1 true) nounwind readnone
145 %count = tail call <2 x i8> @llvm.ctlz.v2i8(<2 x i8> %and, i1 true) nounwind readnone
149 ; Make sure we don't add range metadata to i1 ctlz.
152 ; CHECK-NEXT: [[CNT:%.*]] = call i1 @llvm.ctlz.i1(i1 [[ARG:%.*]], i1 false) #2
155 %cnt = call i1 @llvm.ctlz.i1(i1 %arg, i1 false) nounwind readnone
164 %cnt = call i8 @llvm.ctlz.i8(i8 %or, i1 true) nounwind readnone
174 %cnt = call <2 x i8> @llvm.ctlz.v2i8(<2 x i8> %or, i1 true) nounwind readnone
182 ; CHECK-NEXT: [[CNT:%.*]] = call i8 @llvm.ctlz.i8(i8 [[OR]], i1 true) #2, !range ![[$CTLZ_RANGE:…
186 %cnt = call i8 @llvm.ctlz.i8(i8 %or, i1 true) nounwind readnone
193 ; CHECK-NEXT: [[CNT:%.*]] = call <2 x i8> @llvm.ctlz.v2i8(<2 x i8> [[OR]], i1 true)
197 %cnt = call <2 x i8> @llvm.ctlz.v2i8(<2 x i8> %or, i1 true) nounwind readnone
206 %cnt = call i8 @llvm.ctlz.i8(i8 %or, i1 true) nounwind readnone
216 %cnt = call <2 x i8> @llvm.ctlz.v2i8(<2 x i8> %or, i1 true) nounwind readnone
225 %ctlz = call i32 @llvm.ctlz.i32(i32 0, i1 true)
226 ret i32 %ctlz
233 %ctlz = call <2 x i32> @llvm.ctlz.v2i32(<2 x i32> zeroinitializer, i1 true)
234 ret <2 x i32> %ctlz
239 %ctlz = tail call i32 @llvm.ctlz.i32(i32 %or, i1 false)
240 ret i32 %ctlz
243 ; CHECK-NEXT: %ctlz = tail call i32 @llvm.ctlz.i32(i32 %or, i1 true)
244 ; CHECK-NEXT: ret i32 %ctlz
250 ; CHECK-NEXT: [[CTLZ:%.*]] = tail call <2 x i32> @llvm.ctlz.v2i32(<2 x i32> [[OR]], i1 true)
254 %ctlz = tail call <2 x i32> @llvm.ctlz.v2i32(<2 x i32> %or, i1 false)
255 ret <2 x i32> %ctlz
297 ; CHECK-NEXT: [[TMP1:%.*]] = call i32 @llvm.ctlz.i32(i32 %Value, i1 false)
301 %ctlz = call i32 @llvm.ctlz.i32(i32 %Value, i1 true)
302 %s = select i1 %tobool, i32 %ctlz, i32 32
308 ; CHECK-NEXT: [[TMP1:%.*]] = call <2 x i32> @llvm.ctlz.v2i32(<2 x i32> [[VALUE:%.*]], i1 false)
312 %ctlz = call <2 x i32> @llvm.ctlz.v2i32(<2 x i32> %Value, i1 true)
313 %s = select <2 x i1> %tobool, <2 x i32> %ctlz, <2 x i32> <i32 32, i32 32>