1# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -start-before=postrapseudos %s -o - \
2# RUN:   | FileCheck %s
3#
4# Check that integer load and test instructions are not emitted for unsigned
5# comparisons unless checking for equality. That would be wrong, since the
6# operands are implicitly treated as signed values.
7
8# Not legal: Logical comparison used for >= (CCMask is 10).
9# CHECK-LABEL: fun0
10# CHECK-NOT: lt
11---
12name:            fun0
13tracksRegLiveness: true
14body:             |
15  bb.0 ():
16    liveins: $r1d
17    renamable $r0l = L $r1d, 0, $noreg
18    CLFIMux renamable $r0l, 0, implicit-def $cc
19    BRC 14, 10, %bb.2, implicit $cc
20
21  bb.1 ():
22    liveins: $r0l
23    ST renamable $r0l, $r15d, 164, $noreg
24
25  bb.2 ():
26    liveins: $r0l
27    ST killed renamable $r0l, $r15d, 164, $noreg
28    Return
29...
30
31# Legal: Logical comparison used for == (CCMask is 8).
32# CHECK-LABEL: fun1
33# CHECK: lt
34---
35name:            fun1
36tracksRegLiveness: true
37body:             |
38  bb.0 ():
39    liveins: $r1d
40    renamable $r0l = L $r1d, 0, $noreg
41    CLFIMux renamable $r0l, 0, implicit-def $cc
42    BRC 14, 8, %bb.2, implicit $cc
43
44  bb.1 ():
45    liveins: $r0l
46    ST renamable $r0l, $r15d, 164, $noreg
47
48  bb.2 ():
49    liveins: $r0l
50    ST killed renamable $r0l, $r15d, 164, $noreg
51    Return
52...
53