# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z196 -O0 -start-after=finalize-isel \
# RUN: -stop-before=regallocfast -o - %s | FileCheck %s
# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z196 -O3 -start-after=finalize-isel \
# RUN: -stop-before=livevars -o - %s | FileCheck %s
#
# Test that a COPY from CC gets implemented with an IPM to a GR32 reg.
---
name: fun0
tracksRegLiveness: true
registers:
- { id: 0, class: grx32bit }
body: |
bb.0:
liveins: $cc
; CHECK-LABEL: name: fun0
; CHECK: %1:gr32bit = IPM implicit $cc
; CHECK-NEXT: %0:grx32bit = COPY %1
; CHECK-NEXT: $r2l = COPY %0
; CHECK-NEXT: Return implicit $r2l
%0:grx32bit = COPY $cc
$r2l = COPY %0
Return implicit $r2l
...