| # RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -start-before=postrapseudos %s -o - \ | |
| # RUN: | FileCheck %s | |
| # | |
| # Check that integer load and test instructions are not emitted for unsigned | |
| # comparisons unless checking for equality. That would be wrong, since the | |
| # operands are implicitly treated as signed values. | |
| # Not legal: Logical comparison used for >= (CCMask is 10). | |
| # CHECK-LABEL: fun0 | |
| # CHECK-NOT: lt | |
| --- | |
| name: fun0 | |
| tracksRegLiveness: true | |
| body: | | |
| bb.0 (): | |
| liveins: $r1d | |
| renamable $r0l = L $r1d, 0, $noreg | |
| CLFIMux killed renamable $r0l, 0, implicit-def $cc | |
| BRC 14, 10, %bb.2, implicit $cc | |
| bb.1 (): | |
| liveins: $r0l | |
| ST killed renamable $r0l, $r15d, 164, $noreg | |
| bb.2 (): | |
| liveins: $r0l | |
| ST killed renamable $r0l, $r15d, 164, $noreg | |
| Return | |
| ... | |
| # Legal: Logical comparison used for == (CCMask is 8). | |
| # CHECK-LABEL: fun1 | |
| # CHECK: lt | |
| --- | |
| name: fun1 | |
| tracksRegLiveness: true | |
| body: | | |
| bb.0 (): | |
| liveins: $r1d | |
| renamable $r0l = L $r1d, 0, $noreg | |
| CLFIMux killed renamable $r0l, 0, implicit-def $cc | |
| BRC 14, 8, %bb.2, implicit $cc | |
| bb.1 (): | |
| liveins: $r0l | |
| ST killed renamable $r0l, $r15d, 164, $noreg | |
| bb.2 (): | |
| liveins: $r0l | |
| ST killed renamable $r0l, $r15d, 164, $noreg | |
| Return | |
| ... |