# RUN: llc -o - %s -mtriple=s390x-linux-gnu -mcpu=z16 -verify-machineinstrs \ # RUN: -run-pass=machine-scheduler -debug-only=machine-scheduler 2>&1\ # RUN: | FileCheck %s # REQUIRES: asserts # Schedule the AGHIK that defines the compare source low to help comparison # elimination. # CHECK: ********** MI Scheduling ********** # CHECK-NEXT: fun0:%bb.0 # CHECK: ********** MI Scheduling ********** # CHECK-NEXT: fun0:%bb.1 # CHECK: Queue BotQ.A: 1 0 # CHECK-NEXT: Cand SU(1) FIRST # CHECK-NEXT: Cand SU(0) WEAK # CHECK-NEXT: Pick Bot WEAK [pre-RA] # CHECK-NEXT: Scheduling SU(0) %2:gr64bit = AGHIK %0:gr64bit, -1, impl # CHECK: *** Final schedule for %bb.1 *** # CHECK-NEXT: SU(1): dead %3:gr64bit = AGHIK %1:gr64bit, 1, implicit-def dead $cc # CHECK-NEXT: SU(0): %2:gr64bit = AGHIK %0:gr64bit, -1, implicit-def dead $cc # CHECK-NEXT: SU(2): CGHI %2:gr64bit, 0, implicit-def $cc --- name: fun0 tracksRegLiveness: true body: | bb.0: liveins: $r2d, $r3d %0:gr64bit = COPY $r2d %1:gr64bit = COPY $r3d bb.1: %2:gr64bit = AGHIK %0, -1, implicit-def dead $cc %3:gr64bit = AGHIK %1, 1, implicit-def dead $cc CGHI %2:gr64bit, 0, implicit-def $cc BRC 14, 8, %bb.1, implicit killed $cc bb.2: Return ...