1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=powerpc64le-unknown-linux-gnu \
3# RUN:   -run-pass postrapseudos %s -o - -verify-machineinstrs | FileCheck %s
4
5---
6name:  copy_cr0_gprc
7body:             |
8  bb.0.entry:
9    liveins: $v2, $v3
10    ; CHECK-LABEL: name: copy_cr0_gprc
11    ; CHECK: renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
12    ; CHECK: $r3 = MFOCRF $cr0
13    ; CHECK: $r3 = RLWINM killed $r3, 4, 28, 31, implicit-def $x3
14    ; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
15    renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
16    renamable $r3 = COPY killed renamable $cr0, implicit-def $x3
17    BLR8 implicit $lr8, implicit $rm, implicit $x3
18...
19---
20name:  copy_cr3_gprc
21body:             |
22  bb.0.entry:
23    liveins: $v2, $v3
24    ; CHECK-LABEL: name: copy_cr3_gprc
25    ; CHECK: renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
26    ; CHECK: $r3 = MFOCRF $cr3
27    ; CHECK: $r3 = RLWINM killed $r3, 16, 28, 31, implicit-def $x3
28    ; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
29    renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
30    renamable $r3 = COPY killed renamable $cr3, implicit-def $x3
31    BLR8 implicit $lr8, implicit $rm, implicit $x3
32...
33---
34name:  copy_cr7_gprc
35body:             |
36  bb.0.entry:
37    liveins: $v2, $v3
38    ; CHECK-LABEL: name: copy_cr7_gprc
39    ; CHECK: renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
40    ; CHECK: $r3 = MFOCRF $cr7, implicit-def $x3
41    ; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
42    renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
43    renamable $r3 = COPY killed renamable $cr7, implicit-def $x3
44    BLR8 implicit $lr8, implicit $rm, implicit $x3
45...
46---
47name:  copy_cr0_g8rc
48body:             |
49  bb.0.entry:
50    liveins: $v2, $v3
51    ; CHECK-LABEL: name: copy_cr0_g8rc
52    ; CHECK: renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
53    ; CHECK: $x5 = MFOCRF8 $cr0
54    ; CHECK: $x5 = RLWINM8 killed $x5, 4, 28, 31, implicit-def $x3
55    ; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
56    renamable $cr0 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
57    renamable $x5 = COPY killed renamable $cr0, implicit-def $x3
58    BLR8 implicit $lr8, implicit $rm, implicit $x3
59...
60---
61name:  copy_cr3_g8rc
62body:             |
63  bb.0.entry:
64    liveins: $v2, $v3
65    ; CHECK-LABEL: name: copy_cr3_g8rc
66    ; CHECK: renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
67    ; CHECK: $x5 = MFOCRF8 $cr3
68    ; CHECK: $x5 = RLWINM8 killed $x5, 16, 28, 31, implicit-def $x3
69    ; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
70    renamable $cr3 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
71    renamable $x5 = COPY killed renamable $cr3, implicit-def $x3
72    BLR8 implicit $lr8, implicit $rm, implicit $x3
73...
74---
75name:  copy_cr7_g8rc
76body:             |
77  bb.0.entry:
78    liveins: $v2, $v3
79    ; CHECK-LABEL: name: copy_cr7_g8rc
80    ; CHECK: renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
81    ; CHECK: $x5 = MFOCRF8 $cr7, implicit-def $x3
82    ; CHECK: BLR8 implicit $lr8, implicit $rm, implicit $x3
83    renamable $cr7 = nofpexcept XVTDIVDP killed renamable $v2, killed renamable $v3, implicit $rm
84    renamable $x5 = COPY killed renamable $cr7, implicit-def $x3
85    BLR8 implicit $lr8, implicit $rm, implicit $x3
86...
87