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