Skip to content

Commit 6b8dc45

Browse files
author
klensy
committed
add test
1 parent 0b62717 commit 6b8dc45

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

llvm/test/CodeGen/AArch64/vecreduce-add.ll

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,24 @@ entry:
7272
ret i64 %z
7373
}
7474

75+
define i64 @add_v4i32_v4i64_zsext(<4 x i32> %xi) {
76+
; CHECK-LABEL: add_v4i32_v4i64_zsext:
77+
; CHECK: // %bb.0: // %entry
78+
; CHECK-NEXT: ushll v1.2d, v0.2s, #0
79+
; CHECK-NEXT: saddw2 v0.2d, v1.2d, v0.4s
80+
; CHECK-NEXT: addp d0, v0.2d
81+
; CHECK-NEXT: fmov x0, d0
82+
; CHECK-NEXT: ret
83+
entry:
84+
%x = shufflevector <4 x i32> %xi, <4 x i32> %xi, <2 x i32> <i32 0, i32 1>
85+
%y = shufflevector <4 x i32> %xi, <4 x i32> %xi, <2 x i32> <i32 2, i32 3>
86+
%xx = zext <2 x i32> %x to <2 x i64>
87+
%yy = sext <2 x i32> %y to <2 x i64>
88+
%zz = add <2 x i64> %xx, %yy
89+
%z = call i64 @llvm.vector.reduce.add.v2i64(<2 x i64> %zz)
90+
ret i64 %z
91+
}
92+
7593
define i64 @add_v2i32_v2i64_zext(<2 x i32> %x) {
7694
; CHECK-LABEL: add_v2i32_v2i64_zext:
7795
; CHECK: // %bb.0: // %entry

0 commit comments

Comments
 (0)