blob: 252d542f8bd08de0192e403f4e01ea9884f0ca60 [file] [log] [blame]
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
# RUN: llc -mtriple=s390x-linux-gnu -run-pass=machine-latecleanup %s -o - -mcpu=z16 \
# RUN: -verify-machineinstrs 2>&1 | FileCheck %s
# Kill flag of $r0q (super-reg) needs to be removed, and $r0l needs to be added as live-in.
---
name: fun0
tracksRegLiveness: true
body: |
; CHECK-LABEL: name: fun0
; CHECK: bb.0:
; CHECK-NEXT: successors: %bb.1(0x80000000)
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: renamable $r0l = LHIMux -1
; CHECK-NEXT: J %bb.1
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: bb.1:
; CHECK-NEXT: liveins: $r0l
; CHECK-NEXT: {{ $}}
; CHECK-NEXT: renamable $r1d = LGFI 0
; CHECK-NEXT: ST128 renamable $r0q, $r15d, 168, $noreg
; CHECK-NEXT: ST killed renamable $r0l, $r15d, 160, $noreg
; CHECK-NEXT: Return
bb.0:
renamable $r0l = LHIMux -1
J %bb.1
bb.1:
renamable $r1d = LGFI 0
ST128 killed renamable $r0q, $r15d, 168, $noreg
renamable $r0l = LHIMux -1
ST killed renamable $r0l, $r15d, 160, $noreg
Return
...
# Kill flags of both $r1d and $r0q (super-reg) need to be removed.
---
name: fun1
tracksRegLiveness: true
body: |
bb.0:
; CHECK-LABEL: name: fun1
; CHECK: renamable $r1d = LLILL 1
; CHECK-NEXT: STG renamable $r1d, killed $r15d, 8, $noreg
; CHECK-NEXT: renamable $r0d = LLILL 0
; CHECK-NEXT: ST128 renamable $r0q, $r15d, 0, $noreg
; CHECK-NEXT: STG killed renamable $r1d, killed $r15d, 8, $noreg
; CHECK-NEXT: Return
renamable $r1d = LLILL 1
STG killed renamable $r1d, killed $r15d, 8, $noreg
renamable $r0d = LLILL 0
ST128 killed renamable $r0q, $r15d, 0, $noreg
renamable $r1d = LLILL 1
STG killed renamable $r1d, killed $r15d, 8, $noreg
Return
...
# Kill flags of both $r1l (subreg) and $r1d need to be removed.
---
name: fun2
tracksRegLiveness: true
body: |
bb.0:
; CHECK-LABEL: name: fun2
; CHECK: renamable $r1d = LLILL 1
; CHECK-NEXT: ST renamable $r1l, $r15d, 0, $noreg
; CHECK-NEXT: STG renamable $r1d, $r15d, 8, $noreg
; CHECK-NEXT: STG killed renamable $r1d, $r15d, 16, $noreg
; CHECK-NEXT: Return
renamable $r1d = LLILL 1
ST killed renamable $r1l, $r15d, 0, $noreg
STG killed renamable $r1d, $r15d, 8, $noreg
renamable $r1d = LLILL 1
STG killed renamable $r1d, $r15d, 16, $noreg
Return
...