xref: /llvm-project/llvm/test/Analysis/Lint/get-active-lane-mask.ll (revision ec9ccb1668f60ae29e2f6c9627142f5ebfe15080)
1*ec9ccb16SBjorn Pettersson; RUN: opt -passes=lint -disable-output < %s 2>&1 | FileCheck %s
26637d72dSSjoerd Meijer
36637d72dSSjoerd Meijerdefine <4 x i1> @t1(i32 %IV) {
46637d72dSSjoerd Meijer;
56637d72dSSjoerd Meijer; CHECK:      get_active_lane_mask: operand #2 must be greater than 0
66637d72dSSjoerd Meijer; CHECK-NEXT: %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 0)
76637d72dSSjoerd Meijer;
86637d72dSSjoerd Meijer  %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 0)
96637d72dSSjoerd Meijer  ret <4 x i1> %res
106637d72dSSjoerd Meijer}
116637d72dSSjoerd Meijer
126637d72dSSjoerd Meijerdefine <4 x i1> @t2(i32 %IV) {
136637d72dSSjoerd Meijer;
146637d72dSSjoerd Meijer; CHECK-NOT: get_active_lane_mask
156637d72dSSjoerd Meijer; CHECK-NOT: call <4 x i1> @llvm.get.active.lane.mask
166637d72dSSjoerd Meijer;
176637d72dSSjoerd Meijer  %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 1)
186637d72dSSjoerd Meijer  ret <4 x i1> %res
196637d72dSSjoerd Meijer}
206637d72dSSjoerd Meijer
216637d72dSSjoerd Meijerdefine <4 x i1> @t3(i32 %IV) {
226637d72dSSjoerd Meijer;
236637d72dSSjoerd Meijer; CHECK-NOT: get_active_lane_mask
246637d72dSSjoerd Meijer; CHECK-NOT: call <4 x i1> @llvm.get.active.lane.mask
256637d72dSSjoerd Meijer;
266637d72dSSjoerd Meijer  %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 -1)
276637d72dSSjoerd Meijer  ret <4 x i1> %res
286637d72dSSjoerd Meijer}
296637d72dSSjoerd Meijer
306637d72dSSjoerd Meijerdefine <4 x i1> @t4(i32 %IV, i32 %TC) {
316637d72dSSjoerd Meijer;
326637d72dSSjoerd Meijer; CHECK-NOT: get_active_lane_mask
336637d72dSSjoerd Meijer; CHECK-NOT: call <4 x i1> @llvm.get.active.lane.mask
346637d72dSSjoerd Meijer;
356637d72dSSjoerd Meijer  %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 %TC)
366637d72dSSjoerd Meijer  ret <4 x i1> %res
376637d72dSSjoerd Meijer}
386637d72dSSjoerd Meijer
396637d72dSSjoerd Meijerdeclare <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32, i32)
40