xref: /llvm-project/llvm/test/CodeGen/SystemZ/memcmp-02.ll (revision a1710eb3cd5823c5d14899112ca3086acbdbe9cb)
1; Test memcmp using CLC.  In this test case the CLC loop will do all the work
2; and the DoneMBB becomes empty. It will not pass the mischeduling verifiers
3; if DoneMBB does not have CC in its live-in list.
4
5; RUN: llc < %s -mtriple=s390x-linux-gnu -misched=shuffle | FileCheck %s
6; REQUIRES: asserts
7
8declare i32 @memcmp(ptr nocapture, ptr nocapture, i64)
9
10define i32 @fun() {
11; CHECK-LABEL: fun
12  %call = call signext i32 @memcmp(ptr nonnull undef, ptr nonnull undef, i64 2048)
13  %cmp = icmp eq i32 %call, 0
14  br i1 %cmp, label %labT, label %labF
15
16labT:
17  ret i32 0
18
19labF:
20  ret i32 1
21}
22