# 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 renamable $r0l, 0, implicit-def $cc BRC 14, 10, %bb.2, implicit $cc bb.1 (): liveins: $r0l ST 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 renamable $r0l, 0, implicit-def $cc BRC 14, 8, %bb.2, implicit $cc bb.1 (): liveins: $r0l ST renamable $r0l, $r15d, 164, $noreg bb.2 (): liveins: $r0l ST killed renamable $r0l, $r15d, 164, $noreg Return ...