Skip to content

Commit 9c0f9f8

Browse files
committed
lit test
1 parent 9830992 commit 9c0f9f8

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

llvm/test/CodeGen/AArch64/arm64-vcmp.ll

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,3 +234,29 @@ define <1 x i64> @cmnez_d(<1 x i64> %A) nounwind {
234234
%mask = sext <1 x i1> %tst to <1 x i64>
235235
ret <1 x i64> %mask
236236
}
237+
238+
; Check for the elimination of spurious type extensions
239+
define <16 x i1> @abdu_cmp(<16 x i8> %a, <16 x i8> %b, <16 x i8> %g) {
240+
; CHECK-LABEL: abdu_cmp:
241+
; CHECK: uabd.16b v0, v0, v1
242+
; CHECK-NEXT: cmhi.16b v0, v2, v0
243+
; CHECK-NEXT: ret
244+
%za = zext <16 x i8> %a to <16 x i32>
245+
%zb = zext <16 x i8> %b to <16 x i32>
246+
%zg = zext <16 x i8> %g to <16 x i32>
247+
%mx = call <16 x i32> @llvm.umax.v16i32(<16 x i32> %za, <16 x i32> %zb)
248+
%mn = call <16 x i32> @llvm.umin.v16i32(<16 x i32> %za, <16 x i32> %zb)
249+
%abdu = sub <16 x i32> %mx, %mn
250+
%cond = icmp ult <16 x i32> %abdu, %zg
251+
ret <16 x i1> %cond
252+
}
253+
254+
define <16 x i1> @sext_cmp(<16 x i8> %a, <16 x i8> %b) {
255+
; CHECK-LABEL: sext_cmp:
256+
; CHECK: cmgt.16b v0, v0, v1
257+
; CHECK-NEXT: ret
258+
%za = sext <16 x i8> %a to <16 x i32>
259+
%zb = sext <16 x i8> %b to <16 x i32>
260+
%cond = icmp slt <16 x i32> %za, %zb
261+
ret <16 x i1> %cond
262+
}

0 commit comments

Comments
 (0)