| # 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 |
| ... |