1 ; Test all condition-code masks that are relevant for unsigned integer
4 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
5 define void @f1(i32 *%src, i32 %target) {
7 ; CHECK: .cfi_startproc
8 ; CHECK: .L[[LABEL:.*]]:
9 ; CHECK: cl %r3, 0(%r2)
10 ; CHECK-NEXT: jle .L[[LABEL]]
13 %val = load volatile i32, i32 *%src
14 %cond = icmp ule i32 %target, %val
15 br i1 %cond, label %loop, label %exit
20 define void @f2(i32 *%src, i32 %target) {
22 ; CHECK: .cfi_startproc
23 ; CHECK: .L[[LABEL:.*]]:
24 ; CHECK: cl %r3, 0(%r2)
25 ; CHECK-NEXT: jl .L[[LABEL]]
28 %val = load volatile i32, i32 *%src
29 %cond = icmp ult i32 %target, %val
30 br i1 %cond, label %loop, label %exit
35 define void @f3(i32 *%src, i32 %target) {
37 ; CHECK: .cfi_startproc
38 ; CHECK: .L[[LABEL:.*]]:
39 ; CHECK: cl %r3, 0(%r2)
40 ; CHECK-NEXT: jh .L[[LABEL]]
43 %val = load volatile i32, i32 *%src
44 %cond = icmp ugt i32 %target, %val
45 br i1 %cond, label %loop, label %exit
50 define void @f4(i32 *%src, i32 %target) {
52 ; CHECK: .cfi_startproc
53 ; CHECK: .L[[LABEL:.*]]:
54 ; CHECK: cl %r3, 0(%r2)
55 ; CHECK-NEXT: jhe .L[[LABEL]]
58 %val = load volatile i32, i32 *%src
59 %cond = icmp uge i32 %target, %val
60 br i1 %cond, label %loop, label %exit