[lldb] Make sure Blocks always have a parent (#117683)
[llvm-project.git] / llvm / test / CodeGen / SystemZ / ucmp.ll
blob4175cd7850a98db5402dd85eeab6b8aade53d5d2
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2 ; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s
4 define i8 @ucmp.8.8(i8 zeroext %x, i8 zeroext %y) nounwind {
5 ; CHECK-LABEL: ucmp.8.8:
6 ; CHECK:       # %bb.0:
7 ; CHECK-NEXT:    cr %r2, %r3
8 ; CHECK-NEXT:    lhi %r2, 0
9 ; CHECK-NEXT:    lochih %r2, 1
10 ; CHECK-NEXT:    lochil %r2, -1
11 ; CHECK-NEXT:    br %r14
12   %1 = call i8 @llvm.ucmp(i8 %x, i8 %y)
13   ret i8 %1
16 define i8 @ucmp.8.16(i16 zeroext %x, i16 zeroext %y) nounwind {
17 ; CHECK-LABEL: ucmp.8.16:
18 ; CHECK:       # %bb.0:
19 ; CHECK-NEXT:    cr %r2, %r3
20 ; CHECK-NEXT:    lhi %r2, 0
21 ; CHECK-NEXT:    lochih %r2, 1
22 ; CHECK-NEXT:    lochil %r2, -1
23 ; CHECK-NEXT:    br %r14
24   %1 = call i8 @llvm.ucmp(i16 %x, i16 %y)
25   ret i8 %1
28 define i8 @ucmp.8.32(i32 %x, i32 %y) nounwind {
29 ; CHECK-LABEL: ucmp.8.32:
30 ; CHECK:       # %bb.0:
31 ; CHECK-NEXT:    clr %r2, %r3
32 ; CHECK-NEXT:    lhi %r2, 0
33 ; CHECK-NEXT:    lochih %r2, 1
34 ; CHECK-NEXT:    lochil %r2, -1
35 ; CHECK-NEXT:    br %r14
36   %1 = call i8 @llvm.ucmp(i32 %x, i32 %y)
37   ret i8 %1
40 define i8 @ucmp.8.64(i64 %x, i64 %y) nounwind {
41 ; CHECK-LABEL: ucmp.8.64:
42 ; CHECK:       # %bb.0:
43 ; CHECK-NEXT:    clgr %r2, %r3
44 ; CHECK-NEXT:    lhi %r2, 0
45 ; CHECK-NEXT:    lochih %r2, 1
46 ; CHECK-NEXT:    lochil %r2, -1
47 ; CHECK-NEXT:    br %r14
48   %1 = call i8 @llvm.ucmp(i64 %x, i64 %y)
49   ret i8 %1
52 define i8 @ucmp.8.128(i128 %x, i128 %y) nounwind {
53 ; CHECK-LABEL: ucmp.8.128:
54 ; CHECK:       # %bb.0:
55 ; CHECK-NEXT:    vl %v0, 0(%r3), 3
56 ; CHECK-NEXT:    vl %v1, 0(%r2), 3
57 ; CHECK-NEXT:    veclg %v0, %v1
58 ; CHECK-NEXT:    jlh .LBB4_2
59 ; CHECK-NEXT:  # %bb.1:
60 ; CHECK-NEXT:    vchlgs %v2, %v1, %v0
61 ; CHECK-NEXT:  .LBB4_2:
62 ; CHECK-NEXT:    lhi %r2, 0
63 ; CHECK-NEXT:    lochil %r2, 1
64 ; CHECK-NEXT:    veclg %v1, %v0
65 ; CHECK-NEXT:    jlh .LBB4_4
66 ; CHECK-NEXT:  # %bb.3:
67 ; CHECK-NEXT:    vchlgs %v0, %v0, %v1
68 ; CHECK-NEXT:  .LBB4_4:
69 ; CHECK-NEXT:    lochil %r2, -1
70 ; CHECK-NEXT:    br %r14
71   %1 = call i8 @llvm.ucmp(i128 %x, i128 %y)
72   ret i8 %1
75 define i32 @ucmp.32.32(i32 %x, i32 %y) nounwind {
76 ; CHECK-LABEL: ucmp.32.32:
77 ; CHECK:       # %bb.0:
78 ; CHECK-NEXT:    clr %r2, %r3
79 ; CHECK-NEXT:    lhi %r2, 0
80 ; CHECK-NEXT:    lochih %r2, 1
81 ; CHECK-NEXT:    lochil %r2, -1
82 ; CHECK-NEXT:    br %r14
83   %1 = call i32 @llvm.ucmp(i32 %x, i32 %y)
84   ret i32 %1
87 define i32 @ucmp.32.64(i64 %x, i64 %y) nounwind {
88 ; CHECK-LABEL: ucmp.32.64:
89 ; CHECK:       # %bb.0:
90 ; CHECK-NEXT:    clgr %r2, %r3
91 ; CHECK-NEXT:    lhi %r2, 0
92 ; CHECK-NEXT:    lochih %r2, 1
93 ; CHECK-NEXT:    lochil %r2, -1
94 ; CHECK-NEXT:    br %r14
95   %1 = call i32 @llvm.ucmp(i64 %x, i64 %y)
96   ret i32 %1
99 define i64 @ucmp.64.64(i64 %x, i64 %y) nounwind {
100 ; CHECK-LABEL: ucmp.64.64:
101 ; CHECK:       # %bb.0:
102 ; CHECK-NEXT:    clgr %r2, %r3
103 ; CHECK-NEXT:    lghi %r2, 0
104 ; CHECK-NEXT:    locghih %r2, 1
105 ; CHECK-NEXT:    locghil %r2, -1
106 ; CHECK-NEXT:    br %r14
107   %1 = call i64 @llvm.ucmp(i64 %x, i64 %y)
108   ret i64 %1