Skip to content

Commit 15b8b7e

Browse files
committed
Add test
1 parent d1314d0 commit 15b8b7e

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

llvm/test/CodeGen/AArch64/extract-vector-cmp.ll

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,24 @@ for.cond.cleanup:
141141
}
142142

143143

144+
define i32 @issue_121372(<4 x i32> %0) {
145+
; CHECK-LABEL: issue_121372:
146+
; CHECK: // %bb.0:
147+
; CHECK-NEXT: fmov w8, s0
148+
; CHECK-NEXT: cmp w8, #0
149+
; CHECK-NEXT: cset w8, eq
150+
; CHECK-NEXT: cmp w8, #1
151+
; CHECK-NEXT: csetm w0, lt
152+
; CHECK-NEXT: ret
153+
%2 = icmp ule <4 x i32> %0, zeroinitializer
154+
%3 = sext <4 x i1> %2 to <4 x i32>
155+
%4 = icmp sge <4 x i32> zeroinitializer, %3
156+
%5 = extractelement <4 x i1> %4, i32 0
157+
%6 = sext i1 %5 to i32
158+
ret i32 %6
159+
}
160+
161+
144162
; Negative tests
145163

146164
define i1 @extract_icmp_v4i32_splat_rhs(<4 x i32> %a, i32 %b) {
@@ -163,9 +181,9 @@ define i1 @extract_icmp_v4i32_splat_rhs_mul_use(<4 x i32> %a, ptr %p) {
163181
; CHECK-LABEL: extract_icmp_v4i32_splat_rhs_mul_use:
164182
; CHECK: // %bb.0:
165183
; CHECK-NEXT: movi v1.4s, #235
166-
; CHECK-NEXT: adrp x9, .LCPI7_0
184+
; CHECK-NEXT: adrp x9, .LCPI8_0
167185
; CHECK-NEXT: mov x8, x0
168-
; CHECK-NEXT: ldr q2, [x9, :lo12:.LCPI7_0]
186+
; CHECK-NEXT: ldr q2, [x9, :lo12:.LCPI8_0]
169187
; CHECK-NEXT: cmhi v0.4s, v1.4s, v0.4s
170188
; CHECK-NEXT: xtn v1.4h, v0.4s
171189
; CHECK-NEXT: and v0.16b, v0.16b, v2.16b

0 commit comments

Comments
 (0)