2 # RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr8 \
3 # RUN: -start-before=prologepilog -debug-only=reginfo --filetype=null \
4 # RUN: -verify-machineinstrs %s 2>&1 >/dev/null | FileCheck %s --check-prefix=P8
5 # RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 \
6 # RUN: -start-before=prologepilog -debug-only=reginfo --filetype=null \
7 # RUN: -verify-machineinstrs %s 2>&1 >/dev/null | FileCheck %s --check-prefix=P9
8 # RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr9 \
9 # RUN: -start-before=prologepilog -debug-only=reginfo \
10 # RUN: --filetype=null -ppc-enable-pe-vector-spills \
11 # RUN: -verify-machineinstrs %s 2>&1 >/dev/null | FileCheck %s --check-prefix=P9-REGSPILL
12 # RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -mcpu=pwr10 \
13 # RUN: -start-before=prologepilog -debug-only=reginfo --filetype=null \
14 # RUN: -verify-machineinstrs %s 2>&1 >/dev/null | FileCheck %s -check-prefix=P10
19 tracksRegLiveness: true
28 BLR8 implicit undef $lr8, implicit undef $rm
29 ## TODO: Calling requiresFrameIndexScavenging from PEI::runOnMachineFunction
30 ## always returns TRUE because MFI.isCalleeSavedInfoValid() always
31 ## indicates that the callee saved info is invalid at that point. The
32 ## info becomes valid for later calls. Can we do better?
33 # P8: requiresFrameIndexScavenging for SpillGPR.
34 # P8: TRUE - Invalid callee saved info.
35 # P8: requiresFrameIndexScavenging for SpillGPR.
36 # P8: FALSE - Scavenging is not required.
37 # P9: requiresFrameIndexScavenging for SpillGPR.
38 # P9: TRUE - Invalid callee saved info.
39 # P9: requiresFrameIndexScavenging for SpillGPR.
40 # P9: FALSE - Scavenging is not required.
41 # P9-REGSPILL: requiresFrameIndexScavenging for SpillGPR.
42 # P9-REGSPILL: TRUE - Invalid callee saved info.
43 # P9-REGSPILL: requiresFrameIndexScavenging for SpillGPR.
44 # P9-REGSPILL: FALSE - Scavenging is not required.
45 # P10: requiresFrameIndexScavenging for SpillGPR.
46 # P10: TRUE - Invalid callee saved info.
47 # P10: requiresFrameIndexScavenging for SpillGPR.
48 # P10: FALSE - Scavenging is not required.
54 tracksRegLiveness: true
63 BLR8 implicit undef $lr8, implicit undef $rm
65 # P8: requiresFrameIndexScavenging for SpillFPR.
66 # P8: TRUE - Invalid callee saved info.
67 # P8: requiresFrameIndexScavenging for SpillFPR.
68 # P8: FALSE - Scavenging is not required.
69 # P9: requiresFrameIndexScavenging for SpillFPR.
70 # P9: TRUE - Invalid callee saved info.
71 # P9: requiresFrameIndexScavenging for SpillFPR.
72 # P9: FALSE - Scavenging is not required.
73 # P9-REGSPILL: requiresFrameIndexScavenging for SpillFPR.
74 # P9-REGSPILL: TRUE - Invalid callee saved info.
75 # P9-REGSPILL: requiresFrameIndexScavenging for SpillFPR.
76 # P9-REGSPILL: FALSE - Scavenging is not required.
77 # P10: requiresFrameIndexScavenging for SpillFPR.
78 # P10: TRUE - Invalid callee saved info.
79 # P10: requiresFrameIndexScavenging for SpillFPR.
80 # P10: FALSE - Scavenging is not required.
86 tracksRegLiveness: true
95 BLR8 implicit undef $lr8, implicit undef $rm
97 # P8: requiresFrameIndexScavenging for SpillVR.
98 # P8: TRUE - Invalid callee saved info.
99 # P8: requiresFrameIndexScavenging for SpillVR.
100 # P8: Memory Operand: STVX for register $v20.
101 # P8: TRUE - Memory operand is X-Form.
102 # P9: requiresFrameIndexScavenging for SpillVR.
103 # P9: TRUE - Invalid callee saved info.
104 # P9: requiresFrameIndexScavenging for SpillVR.
105 # P9: Memory Operand: STVX for register $v20.
106 # P9: TRUE - Memory operand is X-Form.
107 # P9-REGSPILL: requiresFrameIndexScavenging for SpillVR.
108 # P9-REGSPILL: TRUE - Invalid callee saved info.
109 # P9-REGSPILL: requiresFrameIndexScavenging for SpillVR.
110 # P9-REGSPILL: Memory Operand: STVX for register $v20.
111 # P9-REGSPILL: TRUE - Memory operand is X-Form.
112 # P10: requiresFrameIndexScavenging for SpillVR.
113 # P10: TRUE - Invalid callee saved info.
114 # P10: requiresFrameIndexScavenging for SpillVR.
115 # P10: Memory Operand: STVX for register $v20.
116 # P10: TRUE - Memory operand is X-Form.
122 tracksRegLiveness: true
133 BLR8 implicit undef $lr8, implicit undef $rm
135 # P8: requiresFrameIndexScavenging for SpillMixed.
136 # P8: TRUE - Invalid callee saved info.
137 # P9: requiresFrameIndexScavenging for SpillMixed.
138 # P9: TRUE - Invalid callee saved info.
139 # P9-REGSPILL: requiresFrameIndexScavenging for SpillMixed.
140 # P9-REGSPILL: TRUE - Invalid callee saved info.
141 # P10: requiresFrameIndexScavenging for SpillMixed.
142 # P10: TRUE - Invalid callee saved info.