53 lines · plain
1# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -start-before=postrapseudos %s -o - \2# RUN: | FileCheck %s3#4# Check that integer load and test instructions are not emitted for unsigned5# comparisons unless checking for equality. That would be wrong, since the6# operands are implicitly treated as signed values.7 8# Not legal: Logical comparison used for >= (CCMask is 10).9# CHECK-LABEL: fun010# CHECK-NOT: lt11---12name: fun013tracksRegLiveness: true14body: |15 bb.0 ():16 liveins: $r1d17 renamable $r0l = L $r1d, 0, $noreg18 CLFIMux renamable $r0l, 0, implicit-def $cc19 BRC 14, 10, %bb.2, implicit $cc20 21 bb.1 ():22 liveins: $r0l23 ST renamable $r0l, $r15d, 164, $noreg24 25 bb.2 ():26 liveins: $r0l27 ST killed renamable $r0l, $r15d, 164, $noreg28 Return29...30 31# Legal: Logical comparison used for == (CCMask is 8).32# CHECK-LABEL: fun133# CHECK: lt34---35name: fun136tracksRegLiveness: true37body: |38 bb.0 ():39 liveins: $r1d40 renamable $r0l = L $r1d, 0, $noreg41 CLFIMux renamable $r0l, 0, implicit-def $cc42 BRC 14, 8, %bb.2, implicit $cc43 44 bb.1 ():45 liveins: $r0l46 ST renamable $r0l, $r15d, 164, $noreg47 48 bb.2 ():49 liveins: $r0l50 ST killed renamable $r0l, $r15d, 164, $noreg51 Return52...53