# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
# RUN: llc -mtriple=powerpc64le-unknown-linux-gnu \
# RUN: -run-pass postrapseudos %s -o - -verify-machineinstrs | FileCheck %s
---
name: copy_cr0_gprc
body: |
bb.0.entry:
liveins: $v2, $v3
; CHECK-LABEL: name: copy_cr0_gprc
; CHECK: renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
; CHECK: $r3 = MFOCRF $cr0
; CHECK: $r3 = RLWINM killed $r3, 4, 28, 31, implicit-def $x3
; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
renamable $r3 = COPY killed renamable $cr0, implicit-def $x3
BLR8 implicit $lr8, implicit $rm, implicit $x3
...
---
name: copy_cr3_gprc
body: |
bb.0.entry:
liveins: $v2, $v3
; CHECK-LABEL: name: copy_cr3_gprc
; CHECK: renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
; CHECK: $r3 = MFOCRF $cr3
; CHECK: $r3 = RLWINM killed $r3, 16, 28, 31, implicit-def $x3
; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
renamable $r3 = COPY killed renamable $cr3, implicit-def $x3
BLR8 implicit $lr8, implicit $rm, implicit $x3
...
---
name: copy_cr7_gprc
body: |
bb.0.entry:
liveins: $v2, $v3
; CHECK-LABEL: name: copy_cr7_gprc
; CHECK: renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
; CHECK: $r3 = MFOCRF $cr7, implicit-def $x3
; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
renamable $r3 = COPY killed renamable $cr7, implicit-def $x3
BLR8 implicit $lr8, implicit $rm, implicit $x3
...
---
name: copy_cr0_g8rc
body: |
bb.0.entry:
liveins: $v2, $v3
; CHECK-LABEL: name: copy_cr0_g8rc
; CHECK: renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
; CHECK: $x5 = MFOCRF8 $cr0
; CHECK: $x5 = RLWINM8 killed $x5, 4, 28, 31, implicit-def $x3
; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
renamable $x5 = COPY killed renamable $cr0, implicit-def $x3
BLR8 implicit $lr8, implicit $rm, implicit $x3
...
---
name: copy_cr3_g8rc
body: |
bb.0.entry:
liveins: $v2, $v3
; CHECK-LABEL: name: copy_cr3_g8rc
; CHECK: renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
; CHECK: $x5 = MFOCRF8 $cr3
; CHECK: $x5 = RLWINM8 killed $x5, 16, 28, 31, implicit-def $x3
; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
renamable $x5 = COPY killed renamable $cr3, implicit-def $x3
BLR8 implicit $lr8, implicit $rm, implicit $x3
...
---
name: copy_cr7_g8rc
body: |
bb.0.entry:
liveins: $v2, $v3
; CHECK-LABEL: name: copy_cr7_g8rc
; CHECK: renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
; CHECK: $x5 = MFOCRF8 $cr7, implicit-def $x3
; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
renamable $x5 = COPY killed renamable $cr7, implicit-def $x3
BLR8 implicit $lr8, implicit $rm, implicit $x3
...