1 # RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 -run-pass=prologepilog -ppc-enable-pe-vector-spills %s -o - | FileCheck %s
6 tracksRegLiveness: true
15 BLR8 implicit undef $lr8, implicit undef $rm
17 # Use mtvsrdd to save two GPRs in a single instruction
18 # CHECK-LABEL: name: test1BB
20 # CHECK: liveins: $x14, $x15, $x16, $v20
21 # CHECK: $v0 = MTVSRDD killed $x14, killed $x15
22 # CHECK-NEXT: $vf1 = MTVSRD killed $x16
23 # CHECK: $x16 = MFVSRD killed $vf1
24 # CHECK-NEXT: $x15 = MFVSRLD $v0
25 # CHECK-NEXT: $x14 = MFVSRD killed $vf0
31 tracksRegLiveness: true
35 successors: %bb.1, %bb.2
38 BCC 4, killed renamable $cr0, %bb.2
52 BLR8 implicit undef $lr8, implicit undef $rm
54 ## The spilled-to registers have to be marked as live-in so that they will not be
55 ## clobbered before restored in the epilogue.
56 # CHECK-LABEL: name: test2BB
58 # CHECK: $v0 = MTVSRDD killed $x14, killed $x15
59 # CHECK-NEXT: $vf1 = MTVSRD killed $x16
61 # CHECK-NEXT: successors: %bb.3
62 # CHECK-NEXT: liveins: $v0, $v1
64 # CHECK-NEXT: liveins: $v0, $v1
65 # CHECK: $x16 = MFVSRD killed $vf1
66 # CHECK-NEXT: $x15 = MFVSRLD $v0
67 # CHECK-NEXT: $x14 = MFVSRD killed $vf0