Skip to content

Commit 0e76818

Browse files
committed
[ValueTracking] Test isKnownNonZero() range metadata with vector (NFC)
1 parent b59c2a0 commit 0e76818

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

llvm/test/Analysis/ValueTracking/known-non-zero.ll

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1292,4 +1292,18 @@ true:
12921292
false:
12931293
ret i1 %ne
12941294
}
1295+
1296+
define <2 x i1> @range_metadata_vec(ptr %p, <2 x i32> %x) {
1297+
; CHECK-LABEL: @range_metadata_vec(
1298+
; CHECK-NEXT: [[Z:%.*]] = load <2 x i32>, ptr [[P:%.*]], align 8, !range [[RNG0:![0-9]+]]
1299+
; CHECK-NEXT: [[OR:%.*]] = or <2 x i32> [[Z]], [[X:%.*]]
1300+
; CHECK-NEXT: [[CMP0:%.*]] = icmp ne <2 x i32> [[OR]], zeroinitializer
1301+
; CHECK-NEXT: ret <2 x i1> [[CMP0]]
1302+
;
1303+
%v = load <2 x i32>, ptr %p, !range !{i32 1, i32 100}
1304+
%or = or <2 x i32> %v, %x
1305+
%cmp = icmp ne <2 x i32> %or, zeroinitializer
1306+
ret <2 x i1> %cmp
1307+
}
1308+
12951309
declare i32 @llvm.experimental.get.vector.length.i32(i32, i32, i1)

0 commit comments

Comments
 (0)