Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / Analysis / Lint / get-active-lane-mask.ll
blobe9b161846e8bdfb9bfd65669e8d217d45472b108
1 ; RUN: opt -passes=lint -disable-output < %s 2>&1 | FileCheck %s
3 define <4 x i1> @t1(i32 %IV) {
5 ; CHECK:      get_active_lane_mask: operand #2 must be greater than 0
6 ; CHECK-NEXT: %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 0)
8   %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 0)
9   ret <4 x i1> %res
12 define <4 x i1> @t2(i32 %IV) {
14 ; CHECK-NOT: get_active_lane_mask
15 ; CHECK-NOT: call <4 x i1> @llvm.get.active.lane.mask
17   %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 1)
18   ret <4 x i1> %res
21 define <4 x i1> @t3(i32 %IV) {
23 ; CHECK-NOT: get_active_lane_mask
24 ; CHECK-NOT: call <4 x i1> @llvm.get.active.lane.mask
26   %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 -1)
27   ret <4 x i1> %res
30 define <4 x i1> @t4(i32 %IV, i32 %TC) {
32 ; CHECK-NOT: get_active_lane_mask
33 ; CHECK-NOT: call <4 x i1> @llvm.get.active.lane.mask
35   %res = call <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32 %IV, i32 %TC)
36   ret <4 x i1> %res
39 declare <4 x i1> @llvm.get.active.lane.mask.v4i1.i32(i32, i32)