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