@@ -34,3 +34,26 @@ define <2 x i1> @test.vectorgep.ult.false(<2 x ptr> %vec) {
34
34
%t.1 = icmp ult <2 x ptr > %gep.1 , %vec
35
35
ret <2 x i1 > %t.1
36
36
}
37
+
38
+
39
+ define <vscale x 2 x i1 > @test.scalable.vectorgep.ult.true (<vscale x 2 x ptr > %vec ) {
40
+ ; CHECK-LABEL: @test.scalable.vectorgep.ult.true(
41
+ ; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, <vscale x 2 x ptr> [[VEC:%.*]], i64 1
42
+ ; CHECK-NEXT: [[T_1:%.*]] = icmp ult <vscale x 2 x ptr> [[VEC]], [[GEP_1]]
43
+ ; CHECK-NEXT: ret <vscale x 2 x i1> [[T_1]]
44
+ ;
45
+ %gep.1 = getelementptr inbounds i32 , <vscale x 2 x ptr > %vec , i64 1
46
+ %t.1 = icmp ult <vscale x 2 x ptr > %vec , %gep.1
47
+ ret <vscale x 2 x i1 > %t.1
48
+ }
49
+
50
+ define <vscale x 2 x i1 > @test.scalable.vectorgep.ult.false (<vscale x 2 x ptr > %vec ) {
51
+ ; CHECK-LABEL: @test.scalable.vectorgep.ult.false(
52
+ ; CHECK-NEXT: [[GEP_1:%.*]] = getelementptr inbounds i32, <vscale x 2 x ptr> [[VEC:%.*]], i64 1
53
+ ; CHECK-NEXT: [[T_1:%.*]] = icmp ult <vscale x 2 x ptr> [[GEP_1]], [[VEC]]
54
+ ; CHECK-NEXT: ret <vscale x 2 x i1> [[T_1]]
55
+ ;
56
+ %gep.1 = getelementptr inbounds i32 , <vscale x 2 x ptr > %vec , i64 1
57
+ %t.1 = icmp ult <vscale x 2 x ptr > %gep.1 , %vec
58
+ ret <vscale x 2 x i1 > %t.1
59
+ }
0 commit comments