blob: 05a1fe699c584051d51e4b6d7ec4877fe63f5f04 [file] [edit]
# RUN: llc -o - %s -mtriple=s390x-linux-gnu -mcpu=z16 -verify-machineinstrs \
# RUN: -run-pass=machine-scheduler 2>&1 | FileCheck %s
# Respect the weak edge between the SLLK and CLFIMux. Only if the SLLK is scheduled
# below can the COPY be coalesced.
# CHECK: name: fun0
# CHECK: CLFIMux %0, 0, implicit-def $cc
# CHECK-NEXT: %1:gr32bit = SLLK %0, $noreg, 1
# CHECK-NEXT: %0:gr32bit = COPY %1
# CHECK-NEXT: BRC 14, 10, %bb.1, implicit killed $cc
---
name: fun0
tracksRegLiveness: true
body: |
bb.0:
successors: %bb.1(0x80000000)
%0:gr32bit = LHIMux 0
bb.1:
successors: %bb.2(0x04000000), %bb.1(0x7c000000)
%1:gr32bit = SLLK %0, $noreg, 1
CLFIMux %0, 0, implicit-def $cc
%0:gr32bit = COPY %1
BRC 14, 10, %bb.1, implicit killed $cc
J %bb.2
bb.2:
Return
...