[RISCV][VLOPT] Add vector narrowing integer right shift instructions to isSupportedIn...
[llvm-project.git] / llvm / test / CodeGen / PowerPC / ppc64-rop-protection-aix.ll
blob8955835f41ea6c6b5719fba3d37b0e0df6807666
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff \
3 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
4 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-P10
5 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff \
6 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
7 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-P9
8 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff \
9 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
10 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-P8
11 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff \
12 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
13 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-32BIT-P10
14 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff \
15 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
16 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-32BIT-P9
17 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff \
18 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
19 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-32BIT-P8
20 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff \
21 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
22 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-P10-PRIV
23 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff \
24 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
25 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-P9-PRIV
26 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-ibm-aix-xcoff \
27 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
28 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-P8-PRIV
29 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff \
30 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
31 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-32BIT-P10-PRIV
32 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff \
33 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
34 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-32BIT-P9-PRIV
35 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-ibm-aix-xcoff \
36 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr -vec-extabi \
37 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-32BIT-P8-PRIV
41 ;; This test checks that the ROP protect instructions have been correctly
42 ;; added when the ROP protect option has been specified. The hashst
43 ;; instruction should be added to the prologue and the hashchk should be added
44 ;; to the epilogue.
46 define dso_local zeroext i32 @caller(i32 zeroext %in, i32 zeroext %add_after) #0 {
47 ; BE-P10-LABEL: caller:
48 ; BE-P10:       # %bb.0: # %entry
49 ; BE-P10-NEXT:    mflr r0
50 ; BE-P10-NEXT:    std r0, 16(r1)
51 ; BE-P10-NEXT:    hashst r0, -16(r1)
52 ; BE-P10-NEXT:    stdu r1, -128(r1)
53 ; BE-P10-NEXT:    std r31, 120(r1) # 8-byte Folded Spill
54 ; BE-P10-NEXT:    mr r31, r4
55 ; BE-P10-NEXT:    bl .callee[PR]
56 ; BE-P10-NEXT:    nop
57 ; BE-P10-NEXT:    add r3, r3, r31
58 ; BE-P10-NEXT:    ld r31, 120(r1) # 8-byte Folded Reload
59 ; BE-P10-NEXT:    clrldi r3, r3, 32
60 ; BE-P10-NEXT:    addi r1, r1, 128
61 ; BE-P10-NEXT:    ld r0, 16(r1)
62 ; BE-P10-NEXT:    hashchk r0, -16(r1)
63 ; BE-P10-NEXT:    mtlr r0
64 ; BE-P10-NEXT:    blr
66 ; BE-P9-LABEL: caller:
67 ; BE-P9:       # %bb.0: # %entry
68 ; BE-P9-NEXT:    mflr r0
69 ; BE-P9-NEXT:    stdu r1, -128(r1)
70 ; BE-P9-NEXT:    std r0, 144(r1)
71 ; BE-P9-NEXT:    hashst r0, -16(r1)
72 ; BE-P9-NEXT:    std r31, 120(r1) # 8-byte Folded Spill
73 ; BE-P9-NEXT:    mr r31, r4
74 ; BE-P9-NEXT:    bl .callee[PR]
75 ; BE-P9-NEXT:    nop
76 ; BE-P9-NEXT:    add r3, r3, r31
77 ; BE-P9-NEXT:    ld r31, 120(r1) # 8-byte Folded Reload
78 ; BE-P9-NEXT:    clrldi r3, r3, 32
79 ; BE-P9-NEXT:    addi r1, r1, 128
80 ; BE-P9-NEXT:    ld r0, 16(r1)
81 ; BE-P9-NEXT:    mtlr r0
82 ; BE-P9-NEXT:    hashchk r0, -16(r1)
83 ; BE-P9-NEXT:    blr
85 ; BE-P8-LABEL: caller:
86 ; BE-P8:       # %bb.0: # %entry
87 ; BE-P8-NEXT:    mflr r0
88 ; BE-P8-NEXT:    stdu r1, -128(r1)
89 ; BE-P8-NEXT:    std r0, 144(r1)
90 ; BE-P8-NEXT:    hashst r0, -16(r1)
91 ; BE-P8-NEXT:    std r31, 120(r1) # 8-byte Folded Spill
92 ; BE-P8-NEXT:    mr r31, r4
93 ; BE-P8-NEXT:    bl .callee[PR]
94 ; BE-P8-NEXT:    nop
95 ; BE-P8-NEXT:    add r3, r3, r31
96 ; BE-P8-NEXT:    ld r31, 120(r1) # 8-byte Folded Reload
97 ; BE-P8-NEXT:    clrldi r3, r3, 32
98 ; BE-P8-NEXT:    addi r1, r1, 128
99 ; BE-P8-NEXT:    ld r0, 16(r1)
100 ; BE-P8-NEXT:    mtlr r0
101 ; BE-P8-NEXT:    hashchk r0, -16(r1)
102 ; BE-P8-NEXT:    blr
104 ; BE-32BIT-P10-LABEL: caller:
105 ; BE-32BIT-P10:       # %bb.0: # %entry
106 ; BE-32BIT-P10-NEXT:    mflr r0
107 ; BE-32BIT-P10-NEXT:    stw r0, 8(r1)
108 ; BE-32BIT-P10-NEXT:    hashst r0, -16(r1)
109 ; BE-32BIT-P10-NEXT:    stwu r1, -80(r1)
110 ; BE-32BIT-P10-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
111 ; BE-32BIT-P10-NEXT:    mr r31, r4
112 ; BE-32BIT-P10-NEXT:    bl .callee[PR]
113 ; BE-32BIT-P10-NEXT:    nop
114 ; BE-32BIT-P10-NEXT:    add r3, r3, r31
115 ; BE-32BIT-P10-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
116 ; BE-32BIT-P10-NEXT:    addi r1, r1, 80
117 ; BE-32BIT-P10-NEXT:    lwz r0, 8(r1)
118 ; BE-32BIT-P10-NEXT:    hashchk r0, -16(r1)
119 ; BE-32BIT-P10-NEXT:    mtlr r0
120 ; BE-32BIT-P10-NEXT:    blr
122 ; BE-32BIT-P9-LABEL: caller:
123 ; BE-32BIT-P9:       # %bb.0: # %entry
124 ; BE-32BIT-P9-NEXT:    mflr r0
125 ; BE-32BIT-P9-NEXT:    stwu r1, -80(r1)
126 ; BE-32BIT-P9-NEXT:    stw r0, 88(r1)
127 ; BE-32BIT-P9-NEXT:    hashst r0, -16(r1)
128 ; BE-32BIT-P9-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
129 ; BE-32BIT-P9-NEXT:    mr r31, r4
130 ; BE-32BIT-P9-NEXT:    bl .callee[PR]
131 ; BE-32BIT-P9-NEXT:    nop
132 ; BE-32BIT-P9-NEXT:    add r3, r3, r31
133 ; BE-32BIT-P9-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
134 ; BE-32BIT-P9-NEXT:    addi r1, r1, 80
135 ; BE-32BIT-P9-NEXT:    lwz r0, 8(r1)
136 ; BE-32BIT-P9-NEXT:    mtlr r0
137 ; BE-32BIT-P9-NEXT:    hashchk r0, -16(r1)
138 ; BE-32BIT-P9-NEXT:    blr
140 ; BE-32BIT-P8-LABEL: caller:
141 ; BE-32BIT-P8:       # %bb.0: # %entry
142 ; BE-32BIT-P8-NEXT:    mflr r0
143 ; BE-32BIT-P8-NEXT:    stwu r1, -80(r1)
144 ; BE-32BIT-P8-NEXT:    stw r0, 88(r1)
145 ; BE-32BIT-P8-NEXT:    hashst r0, -16(r1)
146 ; BE-32BIT-P8-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
147 ; BE-32BIT-P8-NEXT:    mr r31, r4
148 ; BE-32BIT-P8-NEXT:    bl .callee[PR]
149 ; BE-32BIT-P8-NEXT:    nop
150 ; BE-32BIT-P8-NEXT:    add r3, r3, r31
151 ; BE-32BIT-P8-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
152 ; BE-32BIT-P8-NEXT:    addi r1, r1, 80
153 ; BE-32BIT-P8-NEXT:    lwz r0, 8(r1)
154 ; BE-32BIT-P8-NEXT:    mtlr r0
155 ; BE-32BIT-P8-NEXT:    hashchk r0, -16(r1)
156 ; BE-32BIT-P8-NEXT:    blr
158 ; BE-P10-PRIV-LABEL: caller:
159 ; BE-P10-PRIV:       # %bb.0: # %entry
160 ; BE-P10-PRIV-NEXT:    mflr r0
161 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
162 ; BE-P10-PRIV-NEXT:    hashstp r0, -16(r1)
163 ; BE-P10-PRIV-NEXT:    stdu r1, -128(r1)
164 ; BE-P10-PRIV-NEXT:    std r31, 120(r1) # 8-byte Folded Spill
165 ; BE-P10-PRIV-NEXT:    mr r31, r4
166 ; BE-P10-PRIV-NEXT:    bl .callee[PR]
167 ; BE-P10-PRIV-NEXT:    nop
168 ; BE-P10-PRIV-NEXT:    add r3, r3, r31
169 ; BE-P10-PRIV-NEXT:    ld r31, 120(r1) # 8-byte Folded Reload
170 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
171 ; BE-P10-PRIV-NEXT:    addi r1, r1, 128
172 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
173 ; BE-P10-PRIV-NEXT:    hashchkp r0, -16(r1)
174 ; BE-P10-PRIV-NEXT:    mtlr r0
175 ; BE-P10-PRIV-NEXT:    blr
177 ; BE-P9-PRIV-LABEL: caller:
178 ; BE-P9-PRIV:       # %bb.0: # %entry
179 ; BE-P9-PRIV-NEXT:    mflr r0
180 ; BE-P9-PRIV-NEXT:    stdu r1, -128(r1)
181 ; BE-P9-PRIV-NEXT:    std r0, 144(r1)
182 ; BE-P9-PRIV-NEXT:    hashstp r0, -16(r1)
183 ; BE-P9-PRIV-NEXT:    std r31, 120(r1) # 8-byte Folded Spill
184 ; BE-P9-PRIV-NEXT:    mr r31, r4
185 ; BE-P9-PRIV-NEXT:    bl .callee[PR]
186 ; BE-P9-PRIV-NEXT:    nop
187 ; BE-P9-PRIV-NEXT:    add r3, r3, r31
188 ; BE-P9-PRIV-NEXT:    ld r31, 120(r1) # 8-byte Folded Reload
189 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
190 ; BE-P9-PRIV-NEXT:    addi r1, r1, 128
191 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
192 ; BE-P9-PRIV-NEXT:    mtlr r0
193 ; BE-P9-PRIV-NEXT:    hashchkp r0, -16(r1)
194 ; BE-P9-PRIV-NEXT:    blr
196 ; BE-P8-PRIV-LABEL: caller:
197 ; BE-P8-PRIV:       # %bb.0: # %entry
198 ; BE-P8-PRIV-NEXT:    mflr r0
199 ; BE-P8-PRIV-NEXT:    stdu r1, -128(r1)
200 ; BE-P8-PRIV-NEXT:    std r0, 144(r1)
201 ; BE-P8-PRIV-NEXT:    hashstp r0, -16(r1)
202 ; BE-P8-PRIV-NEXT:    std r31, 120(r1) # 8-byte Folded Spill
203 ; BE-P8-PRIV-NEXT:    mr r31, r4
204 ; BE-P8-PRIV-NEXT:    bl .callee[PR]
205 ; BE-P8-PRIV-NEXT:    nop
206 ; BE-P8-PRIV-NEXT:    add r3, r3, r31
207 ; BE-P8-PRIV-NEXT:    ld r31, 120(r1) # 8-byte Folded Reload
208 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
209 ; BE-P8-PRIV-NEXT:    addi r1, r1, 128
210 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
211 ; BE-P8-PRIV-NEXT:    mtlr r0
212 ; BE-P8-PRIV-NEXT:    hashchkp r0, -16(r1)
213 ; BE-P8-PRIV-NEXT:    blr
215 ; BE-32BIT-P10-PRIV-LABEL: caller:
216 ; BE-32BIT-P10-PRIV:       # %bb.0: # %entry
217 ; BE-32BIT-P10-PRIV-NEXT:    mflr r0
218 ; BE-32BIT-P10-PRIV-NEXT:    stw r0, 8(r1)
219 ; BE-32BIT-P10-PRIV-NEXT:    hashstp r0, -16(r1)
220 ; BE-32BIT-P10-PRIV-NEXT:    stwu r1, -80(r1)
221 ; BE-32BIT-P10-PRIV-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
222 ; BE-32BIT-P10-PRIV-NEXT:    mr r31, r4
223 ; BE-32BIT-P10-PRIV-NEXT:    bl .callee[PR]
224 ; BE-32BIT-P10-PRIV-NEXT:    nop
225 ; BE-32BIT-P10-PRIV-NEXT:    add r3, r3, r31
226 ; BE-32BIT-P10-PRIV-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
227 ; BE-32BIT-P10-PRIV-NEXT:    addi r1, r1, 80
228 ; BE-32BIT-P10-PRIV-NEXT:    lwz r0, 8(r1)
229 ; BE-32BIT-P10-PRIV-NEXT:    hashchkp r0, -16(r1)
230 ; BE-32BIT-P10-PRIV-NEXT:    mtlr r0
231 ; BE-32BIT-P10-PRIV-NEXT:    blr
233 ; BE-32BIT-P9-PRIV-LABEL: caller:
234 ; BE-32BIT-P9-PRIV:       # %bb.0: # %entry
235 ; BE-32BIT-P9-PRIV-NEXT:    mflr r0
236 ; BE-32BIT-P9-PRIV-NEXT:    stwu r1, -80(r1)
237 ; BE-32BIT-P9-PRIV-NEXT:    stw r0, 88(r1)
238 ; BE-32BIT-P9-PRIV-NEXT:    hashstp r0, -16(r1)
239 ; BE-32BIT-P9-PRIV-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
240 ; BE-32BIT-P9-PRIV-NEXT:    mr r31, r4
241 ; BE-32BIT-P9-PRIV-NEXT:    bl .callee[PR]
242 ; BE-32BIT-P9-PRIV-NEXT:    nop
243 ; BE-32BIT-P9-PRIV-NEXT:    add r3, r3, r31
244 ; BE-32BIT-P9-PRIV-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
245 ; BE-32BIT-P9-PRIV-NEXT:    addi r1, r1, 80
246 ; BE-32BIT-P9-PRIV-NEXT:    lwz r0, 8(r1)
247 ; BE-32BIT-P9-PRIV-NEXT:    mtlr r0
248 ; BE-32BIT-P9-PRIV-NEXT:    hashchkp r0, -16(r1)
249 ; BE-32BIT-P9-PRIV-NEXT:    blr
251 ; BE-32BIT-P8-PRIV-LABEL: caller:
252 ; BE-32BIT-P8-PRIV:       # %bb.0: # %entry
253 ; BE-32BIT-P8-PRIV-NEXT:    mflr r0
254 ; BE-32BIT-P8-PRIV-NEXT:    stwu r1, -80(r1)
255 ; BE-32BIT-P8-PRIV-NEXT:    stw r0, 88(r1)
256 ; BE-32BIT-P8-PRIV-NEXT:    hashstp r0, -16(r1)
257 ; BE-32BIT-P8-PRIV-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
258 ; BE-32BIT-P8-PRIV-NEXT:    mr r31, r4
259 ; BE-32BIT-P8-PRIV-NEXT:    bl .callee[PR]
260 ; BE-32BIT-P8-PRIV-NEXT:    nop
261 ; BE-32BIT-P8-PRIV-NEXT:    add r3, r3, r31
262 ; BE-32BIT-P8-PRIV-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
263 ; BE-32BIT-P8-PRIV-NEXT:    addi r1, r1, 80
264 ; BE-32BIT-P8-PRIV-NEXT:    lwz r0, 8(r1)
265 ; BE-32BIT-P8-PRIV-NEXT:    mtlr r0
266 ; BE-32BIT-P8-PRIV-NEXT:    hashchkp r0, -16(r1)
267 ; BE-32BIT-P8-PRIV-NEXT:    blr
268 entry:
269   %call = tail call zeroext i32 @callee(i32 zeroext %in)
270   %add = add i32 %call, %add_after
271   ret i32 %add
274 ;; TODO: Remove this comment once the new version of the ABI is available.
275 ;; NOTE: This test is technically a violation of the ABI. The hash is saved
276 ;; outside of the initial 288 byte volatile program storage region in the
277 ;; Protected Zone. However, this restriction will be removed in an upcoming
278 ;; revision of the ABI.
279 define dso_local zeroext i32 @spill(ptr nocapture readonly %in) #0 {
280 ; BE-P10-LABEL: spill:
281 ; BE-P10:       # %bb.0: # %entry
282 ; BE-P10-NEXT:    mflr r0
283 ; BE-P10-NEXT:    mfcr r12
284 ; BE-P10-NEXT:    std r0, 16(r1)
285 ; BE-P10-NEXT:    hashst r0, -488(r1)
286 ; BE-P10-NEXT:    stw r12, 8(r1)
287 ; BE-P10-NEXT:    stdu r1, -624(r1)
288 ; BE-P10-NEXT:    lwz r4, 12(r3)
289 ; BE-P10-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
290 ; BE-P10-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
291 ; BE-P10-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
292 ; BE-P10-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
293 ; BE-P10-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
294 ; BE-P10-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
295 ; BE-P10-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
296 ; BE-P10-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
297 ; BE-P10-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
298 ; BE-P10-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
299 ; BE-P10-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
300 ; BE-P10-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
301 ; BE-P10-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
302 ; BE-P10-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
303 ; BE-P10-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
304 ; BE-P10-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
305 ; BE-P10-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
306 ; BE-P10-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
307 ; BE-P10-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
308 ; BE-P10-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
309 ; BE-P10-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
310 ; BE-P10-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
311 ; BE-P10-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
312 ; BE-P10-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
313 ; BE-P10-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
314 ; BE-P10-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
315 ; BE-P10-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
316 ; BE-P10-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
317 ; BE-P10-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
318 ; BE-P10-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
319 ; BE-P10-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
320 ; BE-P10-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
321 ; BE-P10-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
322 ; BE-P10-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
323 ; BE-P10-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
324 ; BE-P10-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
325 ; BE-P10-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
326 ; BE-P10-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
327 ; BE-P10-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
328 ; BE-P10-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
329 ; BE-P10-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
330 ; BE-P10-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
331 ; BE-P10-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
332 ; BE-P10-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
333 ; BE-P10-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
334 ; BE-P10-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
335 ; BE-P10-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
336 ; BE-P10-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
337 ; BE-P10-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
338 ; BE-P10-NEXT:    stw r4, 132(r1)
339 ; BE-P10-NEXT:    #APP
340 ; BE-P10-NEXT:    nop
341 ; BE-P10-NEXT:    #NO_APP
342 ; BE-P10-NEXT:    addi r3, r1, 132
343 ; BE-P10-NEXT:    bl .callee2[PR]
344 ; BE-P10-NEXT:    nop
345 ; BE-P10-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
346 ; BE-P10-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
347 ; BE-P10-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
348 ; BE-P10-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
349 ; BE-P10-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
350 ; BE-P10-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
351 ; BE-P10-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
352 ; BE-P10-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
353 ; BE-P10-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
354 ; BE-P10-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
355 ; BE-P10-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
356 ; BE-P10-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
357 ; BE-P10-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
358 ; BE-P10-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
359 ; BE-P10-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
360 ; BE-P10-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
361 ; BE-P10-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
362 ; BE-P10-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
363 ; BE-P10-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
364 ; BE-P10-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
365 ; BE-P10-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
366 ; BE-P10-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
367 ; BE-P10-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
368 ; BE-P10-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
369 ; BE-P10-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
370 ; BE-P10-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
371 ; BE-P10-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
372 ; BE-P10-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
373 ; BE-P10-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
374 ; BE-P10-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
375 ; BE-P10-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
376 ; BE-P10-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
377 ; BE-P10-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
378 ; BE-P10-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
379 ; BE-P10-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
380 ; BE-P10-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
381 ; BE-P10-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
382 ; BE-P10-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
383 ; BE-P10-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
384 ; BE-P10-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
385 ; BE-P10-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
386 ; BE-P10-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
387 ; BE-P10-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
388 ; BE-P10-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
389 ; BE-P10-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
390 ; BE-P10-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
391 ; BE-P10-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
392 ; BE-P10-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
393 ; BE-P10-NEXT:    lwz r4, 16(r4)
394 ; BE-P10-NEXT:    add r3, r4, r3
395 ; BE-P10-NEXT:    clrldi r3, r3, 32
396 ; BE-P10-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
397 ; BE-P10-NEXT:    addi r1, r1, 624
398 ; BE-P10-NEXT:    ld r0, 16(r1)
399 ; BE-P10-NEXT:    lwz r12, 8(r1)
400 ; BE-P10-NEXT:    mtlr r0
401 ; BE-P10-NEXT:    hashchk r0, -488(r1)
402 ; BE-P10-NEXT:    mtocrf 32, r12
403 ; BE-P10-NEXT:    mtocrf 16, r12
404 ; BE-P10-NEXT:    mtocrf 8, r12
405 ; BE-P10-NEXT:    blr
407 ; BE-P9-LABEL: spill:
408 ; BE-P9:       # %bb.0: # %entry
409 ; BE-P9-NEXT:    mfcr r12
410 ; BE-P9-NEXT:    mflr r0
411 ; BE-P9-NEXT:    stw r12, 8(r1)
412 ; BE-P9-NEXT:    stdu r1, -624(r1)
413 ; BE-P9-NEXT:    std r0, 640(r1)
414 ; BE-P9-NEXT:    hashst r0, -488(r1)
415 ; BE-P9-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
416 ; BE-P9-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
417 ; BE-P9-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
418 ; BE-P9-NEXT:    lwz r4, 12(r3)
419 ; BE-P9-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
420 ; BE-P9-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
421 ; BE-P9-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
422 ; BE-P9-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
423 ; BE-P9-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
424 ; BE-P9-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
425 ; BE-P9-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
426 ; BE-P9-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
427 ; BE-P9-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
428 ; BE-P9-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
429 ; BE-P9-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
430 ; BE-P9-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
431 ; BE-P9-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
432 ; BE-P9-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
433 ; BE-P9-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
434 ; BE-P9-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
435 ; BE-P9-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
436 ; BE-P9-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
437 ; BE-P9-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
438 ; BE-P9-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
439 ; BE-P9-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
440 ; BE-P9-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
441 ; BE-P9-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
442 ; BE-P9-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
443 ; BE-P9-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
444 ; BE-P9-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
445 ; BE-P9-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
446 ; BE-P9-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
447 ; BE-P9-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
448 ; BE-P9-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
449 ; BE-P9-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
450 ; BE-P9-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
451 ; BE-P9-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
452 ; BE-P9-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
453 ; BE-P9-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
454 ; BE-P9-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
455 ; BE-P9-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
456 ; BE-P9-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
457 ; BE-P9-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
458 ; BE-P9-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
459 ; BE-P9-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
460 ; BE-P9-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
461 ; BE-P9-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
462 ; BE-P9-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
463 ; BE-P9-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
464 ; BE-P9-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
465 ; BE-P9-NEXT:    stw r4, 132(r1)
466 ; BE-P9-NEXT:    #APP
467 ; BE-P9-NEXT:    nop
468 ; BE-P9-NEXT:    #NO_APP
469 ; BE-P9-NEXT:    addi r3, r1, 132
470 ; BE-P9-NEXT:    bl .callee2[PR]
471 ; BE-P9-NEXT:    nop
472 ; BE-P9-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
473 ; BE-P9-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
474 ; BE-P9-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
475 ; BE-P9-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
476 ; BE-P9-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
477 ; BE-P9-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
478 ; BE-P9-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
479 ; BE-P9-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
480 ; BE-P9-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
481 ; BE-P9-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
482 ; BE-P9-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
483 ; BE-P9-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
484 ; BE-P9-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
485 ; BE-P9-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
486 ; BE-P9-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
487 ; BE-P9-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
488 ; BE-P9-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
489 ; BE-P9-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
490 ; BE-P9-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
491 ; BE-P9-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
492 ; BE-P9-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
493 ; BE-P9-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
494 ; BE-P9-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
495 ; BE-P9-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
496 ; BE-P9-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
497 ; BE-P9-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
498 ; BE-P9-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
499 ; BE-P9-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
500 ; BE-P9-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
501 ; BE-P9-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
502 ; BE-P9-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
503 ; BE-P9-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
504 ; BE-P9-NEXT:    lwz r4, 16(r4)
505 ; BE-P9-NEXT:    add r3, r4, r3
506 ; BE-P9-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
507 ; BE-P9-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
508 ; BE-P9-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
509 ; BE-P9-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
510 ; BE-P9-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
511 ; BE-P9-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
512 ; BE-P9-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
513 ; BE-P9-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
514 ; BE-P9-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
515 ; BE-P9-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
516 ; BE-P9-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
517 ; BE-P9-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
518 ; BE-P9-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
519 ; BE-P9-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
520 ; BE-P9-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
521 ; BE-P9-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
522 ; BE-P9-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
523 ; BE-P9-NEXT:    clrldi r3, r3, 32
524 ; BE-P9-NEXT:    addi r1, r1, 624
525 ; BE-P9-NEXT:    ld r0, 16(r1)
526 ; BE-P9-NEXT:    lwz r12, 8(r1)
527 ; BE-P9-NEXT:    mtlr r0
528 ; BE-P9-NEXT:    hashchk r0, -488(r1)
529 ; BE-P9-NEXT:    mtocrf 32, r12
530 ; BE-P9-NEXT:    mtocrf 16, r12
531 ; BE-P9-NEXT:    mtocrf 8, r12
532 ; BE-P9-NEXT:    blr
534 ; BE-P8-LABEL: spill:
535 ; BE-P8:       # %bb.0: # %entry
536 ; BE-P8-NEXT:    mfcr r12
537 ; BE-P8-NEXT:    stw r12, 8(r1)
538 ; BE-P8-NEXT:    mflr r0
539 ; BE-P8-NEXT:    stdu r1, -624(r1)
540 ; BE-P8-NEXT:    li r4, 144
541 ; BE-P8-NEXT:    std r0, 640(r1)
542 ; BE-P8-NEXT:    hashst r0, -488(r1)
543 ; BE-P8-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
544 ; BE-P8-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
545 ; BE-P8-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
546 ; BE-P8-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
547 ; BE-P8-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
548 ; BE-P8-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
549 ; BE-P8-NEXT:    li r4, 160
550 ; BE-P8-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
551 ; BE-P8-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
552 ; BE-P8-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
553 ; BE-P8-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
554 ; BE-P8-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
555 ; BE-P8-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
556 ; BE-P8-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
557 ; BE-P8-NEXT:    li r4, 176
558 ; BE-P8-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
559 ; BE-P8-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
560 ; BE-P8-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
561 ; BE-P8-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
562 ; BE-P8-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
563 ; BE-P8-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
564 ; BE-P8-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
565 ; BE-P8-NEXT:    li r4, 192
566 ; BE-P8-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
567 ; BE-P8-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
568 ; BE-P8-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
569 ; BE-P8-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
570 ; BE-P8-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
571 ; BE-P8-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
572 ; BE-P8-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
573 ; BE-P8-NEXT:    li r4, 208
574 ; BE-P8-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
575 ; BE-P8-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
576 ; BE-P8-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
577 ; BE-P8-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
578 ; BE-P8-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
579 ; BE-P8-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
580 ; BE-P8-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
581 ; BE-P8-NEXT:    li r4, 224
582 ; BE-P8-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
583 ; BE-P8-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
584 ; BE-P8-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
585 ; BE-P8-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
586 ; BE-P8-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
587 ; BE-P8-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
588 ; BE-P8-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
589 ; BE-P8-NEXT:    li r4, 240
590 ; BE-P8-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
591 ; BE-P8-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
592 ; BE-P8-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
593 ; BE-P8-NEXT:    li r4, 256
594 ; BE-P8-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
595 ; BE-P8-NEXT:    li r4, 272
596 ; BE-P8-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
597 ; BE-P8-NEXT:    li r4, 288
598 ; BE-P8-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
599 ; BE-P8-NEXT:    li r4, 304
600 ; BE-P8-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
601 ; BE-P8-NEXT:    li r4, 320
602 ; BE-P8-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
603 ; BE-P8-NEXT:    lwz r4, 12(r3)
604 ; BE-P8-NEXT:    stw r4, 132(r1)
605 ; BE-P8-NEXT:    #APP
606 ; BE-P8-NEXT:    nop
607 ; BE-P8-NEXT:    #NO_APP
608 ; BE-P8-NEXT:    addi r3, r1, 132
609 ; BE-P8-NEXT:    bl .callee2[PR]
610 ; BE-P8-NEXT:    nop
611 ; BE-P8-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
612 ; BE-P8-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
613 ; BE-P8-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
614 ; BE-P8-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
615 ; BE-P8-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
616 ; BE-P8-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
617 ; BE-P8-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
618 ; BE-P8-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
619 ; BE-P8-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
620 ; BE-P8-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
621 ; BE-P8-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
622 ; BE-P8-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
623 ; BE-P8-NEXT:    lwz r4, 16(r4)
624 ; BE-P8-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
625 ; BE-P8-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
626 ; BE-P8-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
627 ; BE-P8-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
628 ; BE-P8-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
629 ; BE-P8-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
630 ; BE-P8-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
631 ; BE-P8-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
632 ; BE-P8-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
633 ; BE-P8-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
634 ; BE-P8-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
635 ; BE-P8-NEXT:    add r3, r4, r3
636 ; BE-P8-NEXT:    li r4, 320
637 ; BE-P8-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
638 ; BE-P8-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
639 ; BE-P8-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
640 ; BE-P8-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
641 ; BE-P8-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
642 ; BE-P8-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
643 ; BE-P8-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
644 ; BE-P8-NEXT:    li r4, 304
645 ; BE-P8-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
646 ; BE-P8-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
647 ; BE-P8-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
648 ; BE-P8-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
649 ; BE-P8-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
650 ; BE-P8-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
651 ; BE-P8-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
652 ; BE-P8-NEXT:    li r4, 288
653 ; BE-P8-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
654 ; BE-P8-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
655 ; BE-P8-NEXT:    clrldi r3, r3, 32
656 ; BE-P8-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
657 ; BE-P8-NEXT:    li r4, 272
658 ; BE-P8-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
659 ; BE-P8-NEXT:    li r4, 256
660 ; BE-P8-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
661 ; BE-P8-NEXT:    li r4, 240
662 ; BE-P8-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
663 ; BE-P8-NEXT:    li r4, 224
664 ; BE-P8-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
665 ; BE-P8-NEXT:    li r4, 208
666 ; BE-P8-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
667 ; BE-P8-NEXT:    li r4, 192
668 ; BE-P8-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
669 ; BE-P8-NEXT:    li r4, 176
670 ; BE-P8-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
671 ; BE-P8-NEXT:    li r4, 160
672 ; BE-P8-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
673 ; BE-P8-NEXT:    li r4, 144
674 ; BE-P8-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
675 ; BE-P8-NEXT:    addi r1, r1, 624
676 ; BE-P8-NEXT:    ld r0, 16(r1)
677 ; BE-P8-NEXT:    lwz r12, 8(r1)
678 ; BE-P8-NEXT:    hashchk r0, -488(r1)
679 ; BE-P8-NEXT:    mtlr r0
680 ; BE-P8-NEXT:    mtocrf 32, r12
681 ; BE-P8-NEXT:    mtocrf 16, r12
682 ; BE-P8-NEXT:    mtocrf 8, r12
683 ; BE-P8-NEXT:    blr
685 ; BE-32BIT-P10-LABEL: spill:
686 ; BE-32BIT-P10:       # %bb.0: # %entry
687 ; BE-32BIT-P10-NEXT:    mflr r0
688 ; BE-32BIT-P10-NEXT:    mfcr r12
689 ; BE-32BIT-P10-NEXT:    stw r0, 8(r1)
690 ; BE-32BIT-P10-NEXT:    hashst r0, -424(r1)
691 ; BE-32BIT-P10-NEXT:    stw r12, 4(r1)
692 ; BE-32BIT-P10-NEXT:    stwu r1, -496(r1)
693 ; BE-32BIT-P10-NEXT:    lwz r4, 12(r3)
694 ; BE-32BIT-P10-NEXT:    stw r13, 276(r1) # 4-byte Folded Spill
695 ; BE-32BIT-P10-NEXT:    stw r14, 280(r1) # 4-byte Folded Spill
696 ; BE-32BIT-P10-NEXT:    stw r15, 284(r1) # 4-byte Folded Spill
697 ; BE-32BIT-P10-NEXT:    stw r16, 288(r1) # 4-byte Folded Spill
698 ; BE-32BIT-P10-NEXT:    stw r17, 292(r1) # 4-byte Folded Spill
699 ; BE-32BIT-P10-NEXT:    stw r18, 296(r1) # 4-byte Folded Spill
700 ; BE-32BIT-P10-NEXT:    stw r19, 300(r1) # 4-byte Folded Spill
701 ; BE-32BIT-P10-NEXT:    stw r20, 304(r1) # 4-byte Folded Spill
702 ; BE-32BIT-P10-NEXT:    stw r21, 308(r1) # 4-byte Folded Spill
703 ; BE-32BIT-P10-NEXT:    stw r22, 312(r1) # 4-byte Folded Spill
704 ; BE-32BIT-P10-NEXT:    stw r23, 316(r1) # 4-byte Folded Spill
705 ; BE-32BIT-P10-NEXT:    stw r24, 320(r1) # 4-byte Folded Spill
706 ; BE-32BIT-P10-NEXT:    stw r25, 324(r1) # 4-byte Folded Spill
707 ; BE-32BIT-P10-NEXT:    stw r26, 328(r1) # 4-byte Folded Spill
708 ; BE-32BIT-P10-NEXT:    stw r27, 332(r1) # 4-byte Folded Spill
709 ; BE-32BIT-P10-NEXT:    stw r28, 336(r1) # 4-byte Folded Spill
710 ; BE-32BIT-P10-NEXT:    stw r29, 340(r1) # 4-byte Folded Spill
711 ; BE-32BIT-P10-NEXT:    stw r30, 344(r1) # 4-byte Folded Spill
712 ; BE-32BIT-P10-NEXT:    stw r31, 348(r1) # 4-byte Folded Spill
713 ; BE-32BIT-P10-NEXT:    stfd f14, 352(r1) # 8-byte Folded Spill
714 ; BE-32BIT-P10-NEXT:    stfd f15, 360(r1) # 8-byte Folded Spill
715 ; BE-32BIT-P10-NEXT:    stfd f16, 368(r1) # 8-byte Folded Spill
716 ; BE-32BIT-P10-NEXT:    stfd f17, 376(r1) # 8-byte Folded Spill
717 ; BE-32BIT-P10-NEXT:    stfd f18, 384(r1) # 8-byte Folded Spill
718 ; BE-32BIT-P10-NEXT:    stfd f19, 392(r1) # 8-byte Folded Spill
719 ; BE-32BIT-P10-NEXT:    stfd f20, 400(r1) # 8-byte Folded Spill
720 ; BE-32BIT-P10-NEXT:    stfd f21, 408(r1) # 8-byte Folded Spill
721 ; BE-32BIT-P10-NEXT:    stfd f22, 416(r1) # 8-byte Folded Spill
722 ; BE-32BIT-P10-NEXT:    stfd f23, 424(r1) # 8-byte Folded Spill
723 ; BE-32BIT-P10-NEXT:    stfd f24, 432(r1) # 8-byte Folded Spill
724 ; BE-32BIT-P10-NEXT:    stfd f25, 440(r1) # 8-byte Folded Spill
725 ; BE-32BIT-P10-NEXT:    stfd f26, 448(r1) # 8-byte Folded Spill
726 ; BE-32BIT-P10-NEXT:    stfd f27, 456(r1) # 8-byte Folded Spill
727 ; BE-32BIT-P10-NEXT:    stfd f28, 464(r1) # 8-byte Folded Spill
728 ; BE-32BIT-P10-NEXT:    stfd f29, 472(r1) # 8-byte Folded Spill
729 ; BE-32BIT-P10-NEXT:    stfd f30, 480(r1) # 8-byte Folded Spill
730 ; BE-32BIT-P10-NEXT:    stfd f31, 488(r1) # 8-byte Folded Spill
731 ; BE-32BIT-P10-NEXT:    stxv v20, 80(r1) # 16-byte Folded Spill
732 ; BE-32BIT-P10-NEXT:    stxv v21, 96(r1) # 16-byte Folded Spill
733 ; BE-32BIT-P10-NEXT:    stxv v22, 112(r1) # 16-byte Folded Spill
734 ; BE-32BIT-P10-NEXT:    stxv v23, 128(r1) # 16-byte Folded Spill
735 ; BE-32BIT-P10-NEXT:    stxv v24, 144(r1) # 16-byte Folded Spill
736 ; BE-32BIT-P10-NEXT:    stxv v25, 160(r1) # 16-byte Folded Spill
737 ; BE-32BIT-P10-NEXT:    stxv v26, 176(r1) # 16-byte Folded Spill
738 ; BE-32BIT-P10-NEXT:    stxv v27, 192(r1) # 16-byte Folded Spill
739 ; BE-32BIT-P10-NEXT:    stxv v28, 208(r1) # 16-byte Folded Spill
740 ; BE-32BIT-P10-NEXT:    stxv v29, 224(r1) # 16-byte Folded Spill
741 ; BE-32BIT-P10-NEXT:    stxv v30, 240(r1) # 16-byte Folded Spill
742 ; BE-32BIT-P10-NEXT:    stxv v31, 256(r1) # 16-byte Folded Spill
743 ; BE-32BIT-P10-NEXT:    stw r3, 64(r1) # 4-byte Folded Spill
744 ; BE-32BIT-P10-NEXT:    stw r4, 68(r1)
745 ; BE-32BIT-P10-NEXT:    #APP
746 ; BE-32BIT-P10-NEXT:    nop
747 ; BE-32BIT-P10-NEXT:    #NO_APP
748 ; BE-32BIT-P10-NEXT:    addi r3, r1, 68
749 ; BE-32BIT-P10-NEXT:    bl .callee2[PR]
750 ; BE-32BIT-P10-NEXT:    nop
751 ; BE-32BIT-P10-NEXT:    lwz r4, 64(r1) # 4-byte Folded Reload
752 ; BE-32BIT-P10-NEXT:    lxv v31, 256(r1) # 16-byte Folded Reload
753 ; BE-32BIT-P10-NEXT:    lxv v30, 240(r1) # 16-byte Folded Reload
754 ; BE-32BIT-P10-NEXT:    lxv v29, 224(r1) # 16-byte Folded Reload
755 ; BE-32BIT-P10-NEXT:    lxv v28, 208(r1) # 16-byte Folded Reload
756 ; BE-32BIT-P10-NEXT:    lxv v27, 192(r1) # 16-byte Folded Reload
757 ; BE-32BIT-P10-NEXT:    lxv v26, 176(r1) # 16-byte Folded Reload
758 ; BE-32BIT-P10-NEXT:    lxv v25, 160(r1) # 16-byte Folded Reload
759 ; BE-32BIT-P10-NEXT:    lxv v24, 144(r1) # 16-byte Folded Reload
760 ; BE-32BIT-P10-NEXT:    lxv v23, 128(r1) # 16-byte Folded Reload
761 ; BE-32BIT-P10-NEXT:    lxv v22, 112(r1) # 16-byte Folded Reload
762 ; BE-32BIT-P10-NEXT:    lxv v21, 96(r1) # 16-byte Folded Reload
763 ; BE-32BIT-P10-NEXT:    lxv v20, 80(r1) # 16-byte Folded Reload
764 ; BE-32BIT-P10-NEXT:    lfd f31, 488(r1) # 8-byte Folded Reload
765 ; BE-32BIT-P10-NEXT:    lfd f30, 480(r1) # 8-byte Folded Reload
766 ; BE-32BIT-P10-NEXT:    lfd f29, 472(r1) # 8-byte Folded Reload
767 ; BE-32BIT-P10-NEXT:    lfd f28, 464(r1) # 8-byte Folded Reload
768 ; BE-32BIT-P10-NEXT:    lfd f27, 456(r1) # 8-byte Folded Reload
769 ; BE-32BIT-P10-NEXT:    lfd f26, 448(r1) # 8-byte Folded Reload
770 ; BE-32BIT-P10-NEXT:    lfd f25, 440(r1) # 8-byte Folded Reload
771 ; BE-32BIT-P10-NEXT:    lfd f24, 432(r1) # 8-byte Folded Reload
772 ; BE-32BIT-P10-NEXT:    lfd f23, 424(r1) # 8-byte Folded Reload
773 ; BE-32BIT-P10-NEXT:    lfd f22, 416(r1) # 8-byte Folded Reload
774 ; BE-32BIT-P10-NEXT:    lfd f21, 408(r1) # 8-byte Folded Reload
775 ; BE-32BIT-P10-NEXT:    lfd f20, 400(r1) # 8-byte Folded Reload
776 ; BE-32BIT-P10-NEXT:    lfd f19, 392(r1) # 8-byte Folded Reload
777 ; BE-32BIT-P10-NEXT:    lfd f18, 384(r1) # 8-byte Folded Reload
778 ; BE-32BIT-P10-NEXT:    lfd f17, 376(r1) # 8-byte Folded Reload
779 ; BE-32BIT-P10-NEXT:    lfd f16, 368(r1) # 8-byte Folded Reload
780 ; BE-32BIT-P10-NEXT:    lfd f15, 360(r1) # 8-byte Folded Reload
781 ; BE-32BIT-P10-NEXT:    lfd f14, 352(r1) # 8-byte Folded Reload
782 ; BE-32BIT-P10-NEXT:    lwz r31, 348(r1) # 4-byte Folded Reload
783 ; BE-32BIT-P10-NEXT:    lwz r30, 344(r1) # 4-byte Folded Reload
784 ; BE-32BIT-P10-NEXT:    lwz r29, 340(r1) # 4-byte Folded Reload
785 ; BE-32BIT-P10-NEXT:    lwz r28, 336(r1) # 4-byte Folded Reload
786 ; BE-32BIT-P10-NEXT:    lwz r27, 332(r1) # 4-byte Folded Reload
787 ; BE-32BIT-P10-NEXT:    lwz r26, 328(r1) # 4-byte Folded Reload
788 ; BE-32BIT-P10-NEXT:    lwz r25, 324(r1) # 4-byte Folded Reload
789 ; BE-32BIT-P10-NEXT:    lwz r24, 320(r1) # 4-byte Folded Reload
790 ; BE-32BIT-P10-NEXT:    lwz r23, 316(r1) # 4-byte Folded Reload
791 ; BE-32BIT-P10-NEXT:    lwz r22, 312(r1) # 4-byte Folded Reload
792 ; BE-32BIT-P10-NEXT:    lwz r21, 308(r1) # 4-byte Folded Reload
793 ; BE-32BIT-P10-NEXT:    lwz r20, 304(r1) # 4-byte Folded Reload
794 ; BE-32BIT-P10-NEXT:    lwz r19, 300(r1) # 4-byte Folded Reload
795 ; BE-32BIT-P10-NEXT:    lwz r18, 296(r1) # 4-byte Folded Reload
796 ; BE-32BIT-P10-NEXT:    lwz r17, 292(r1) # 4-byte Folded Reload
797 ; BE-32BIT-P10-NEXT:    lwz r16, 288(r1) # 4-byte Folded Reload
798 ; BE-32BIT-P10-NEXT:    lwz r15, 284(r1) # 4-byte Folded Reload
799 ; BE-32BIT-P10-NEXT:    lwz r4, 16(r4)
800 ; BE-32BIT-P10-NEXT:    add r3, r4, r3
801 ; BE-32BIT-P10-NEXT:    lwz r14, 280(r1) # 4-byte Folded Reload
802 ; BE-32BIT-P10-NEXT:    lwz r13, 276(r1) # 4-byte Folded Reload
803 ; BE-32BIT-P10-NEXT:    addi r1, r1, 496
804 ; BE-32BIT-P10-NEXT:    lwz r0, 8(r1)
805 ; BE-32BIT-P10-NEXT:    lwz r12, 4(r1)
806 ; BE-32BIT-P10-NEXT:    mtlr r0
807 ; BE-32BIT-P10-NEXT:    hashchk r0, -424(r1)
808 ; BE-32BIT-P10-NEXT:    mtocrf 32, r12
809 ; BE-32BIT-P10-NEXT:    mtocrf 16, r12
810 ; BE-32BIT-P10-NEXT:    mtocrf 8, r12
811 ; BE-32BIT-P10-NEXT:    blr
813 ; BE-32BIT-P9-LABEL: spill:
814 ; BE-32BIT-P9:       # %bb.0: # %entry
815 ; BE-32BIT-P9-NEXT:    mfcr r12
816 ; BE-32BIT-P9-NEXT:    mflr r0
817 ; BE-32BIT-P9-NEXT:    stw r12, 4(r1)
818 ; BE-32BIT-P9-NEXT:    stwu r1, -496(r1)
819 ; BE-32BIT-P9-NEXT:    stw r0, 504(r1)
820 ; BE-32BIT-P9-NEXT:    hashst r0, -424(r1)
821 ; BE-32BIT-P9-NEXT:    stw r13, 276(r1) # 4-byte Folded Spill
822 ; BE-32BIT-P9-NEXT:    stxv v20, 80(r1) # 16-byte Folded Spill
823 ; BE-32BIT-P9-NEXT:    stxv v21, 96(r1) # 16-byte Folded Spill
824 ; BE-32BIT-P9-NEXT:    lwz r4, 12(r3)
825 ; BE-32BIT-P9-NEXT:    stw r14, 280(r1) # 4-byte Folded Spill
826 ; BE-32BIT-P9-NEXT:    stxv v22, 112(r1) # 16-byte Folded Spill
827 ; BE-32BIT-P9-NEXT:    stw r15, 284(r1) # 4-byte Folded Spill
828 ; BE-32BIT-P9-NEXT:    stxv v23, 128(r1) # 16-byte Folded Spill
829 ; BE-32BIT-P9-NEXT:    stw r16, 288(r1) # 4-byte Folded Spill
830 ; BE-32BIT-P9-NEXT:    stxv v24, 144(r1) # 16-byte Folded Spill
831 ; BE-32BIT-P9-NEXT:    stw r17, 292(r1) # 4-byte Folded Spill
832 ; BE-32BIT-P9-NEXT:    stxv v25, 160(r1) # 16-byte Folded Spill
833 ; BE-32BIT-P9-NEXT:    stw r18, 296(r1) # 4-byte Folded Spill
834 ; BE-32BIT-P9-NEXT:    stw r19, 300(r1) # 4-byte Folded Spill
835 ; BE-32BIT-P9-NEXT:    stxv v26, 176(r1) # 16-byte Folded Spill
836 ; BE-32BIT-P9-NEXT:    stw r20, 304(r1) # 4-byte Folded Spill
837 ; BE-32BIT-P9-NEXT:    stxv v27, 192(r1) # 16-byte Folded Spill
838 ; BE-32BIT-P9-NEXT:    stw r21, 308(r1) # 4-byte Folded Spill
839 ; BE-32BIT-P9-NEXT:    stxv v28, 208(r1) # 16-byte Folded Spill
840 ; BE-32BIT-P9-NEXT:    stw r22, 312(r1) # 4-byte Folded Spill
841 ; BE-32BIT-P9-NEXT:    stw r23, 316(r1) # 4-byte Folded Spill
842 ; BE-32BIT-P9-NEXT:    stxv v29, 224(r1) # 16-byte Folded Spill
843 ; BE-32BIT-P9-NEXT:    stw r24, 320(r1) # 4-byte Folded Spill
844 ; BE-32BIT-P9-NEXT:    stxv v30, 240(r1) # 16-byte Folded Spill
845 ; BE-32BIT-P9-NEXT:    stw r25, 324(r1) # 4-byte Folded Spill
846 ; BE-32BIT-P9-NEXT:    stxv v31, 256(r1) # 16-byte Folded Spill
847 ; BE-32BIT-P9-NEXT:    stw r26, 328(r1) # 4-byte Folded Spill
848 ; BE-32BIT-P9-NEXT:    stw r27, 332(r1) # 4-byte Folded Spill
849 ; BE-32BIT-P9-NEXT:    stw r28, 336(r1) # 4-byte Folded Spill
850 ; BE-32BIT-P9-NEXT:    stw r29, 340(r1) # 4-byte Folded Spill
851 ; BE-32BIT-P9-NEXT:    stw r30, 344(r1) # 4-byte Folded Spill
852 ; BE-32BIT-P9-NEXT:    stw r31, 348(r1) # 4-byte Folded Spill
853 ; BE-32BIT-P9-NEXT:    stfd f14, 352(r1) # 8-byte Folded Spill
854 ; BE-32BIT-P9-NEXT:    stfd f15, 360(r1) # 8-byte Folded Spill
855 ; BE-32BIT-P9-NEXT:    stfd f16, 368(r1) # 8-byte Folded Spill
856 ; BE-32BIT-P9-NEXT:    stfd f17, 376(r1) # 8-byte Folded Spill
857 ; BE-32BIT-P9-NEXT:    stfd f18, 384(r1) # 8-byte Folded Spill
858 ; BE-32BIT-P9-NEXT:    stfd f19, 392(r1) # 8-byte Folded Spill
859 ; BE-32BIT-P9-NEXT:    stfd f20, 400(r1) # 8-byte Folded Spill
860 ; BE-32BIT-P9-NEXT:    stfd f21, 408(r1) # 8-byte Folded Spill
861 ; BE-32BIT-P9-NEXT:    stfd f22, 416(r1) # 8-byte Folded Spill
862 ; BE-32BIT-P9-NEXT:    stfd f23, 424(r1) # 8-byte Folded Spill
863 ; BE-32BIT-P9-NEXT:    stfd f24, 432(r1) # 8-byte Folded Spill
864 ; BE-32BIT-P9-NEXT:    stfd f25, 440(r1) # 8-byte Folded Spill
865 ; BE-32BIT-P9-NEXT:    stfd f26, 448(r1) # 8-byte Folded Spill
866 ; BE-32BIT-P9-NEXT:    stfd f27, 456(r1) # 8-byte Folded Spill
867 ; BE-32BIT-P9-NEXT:    stfd f28, 464(r1) # 8-byte Folded Spill
868 ; BE-32BIT-P9-NEXT:    stfd f29, 472(r1) # 8-byte Folded Spill
869 ; BE-32BIT-P9-NEXT:    stfd f30, 480(r1) # 8-byte Folded Spill
870 ; BE-32BIT-P9-NEXT:    stfd f31, 488(r1) # 8-byte Folded Spill
871 ; BE-32BIT-P9-NEXT:    stw r3, 64(r1) # 4-byte Folded Spill
872 ; BE-32BIT-P9-NEXT:    stw r4, 68(r1)
873 ; BE-32BIT-P9-NEXT:    #APP
874 ; BE-32BIT-P9-NEXT:    nop
875 ; BE-32BIT-P9-NEXT:    #NO_APP
876 ; BE-32BIT-P9-NEXT:    addi r3, r1, 68
877 ; BE-32BIT-P9-NEXT:    bl .callee2[PR]
878 ; BE-32BIT-P9-NEXT:    nop
879 ; BE-32BIT-P9-NEXT:    lwz r4, 64(r1) # 4-byte Folded Reload
880 ; BE-32BIT-P9-NEXT:    lxv v31, 256(r1) # 16-byte Folded Reload
881 ; BE-32BIT-P9-NEXT:    lxv v30, 240(r1) # 16-byte Folded Reload
882 ; BE-32BIT-P9-NEXT:    lxv v29, 224(r1) # 16-byte Folded Reload
883 ; BE-32BIT-P9-NEXT:    lxv v28, 208(r1) # 16-byte Folded Reload
884 ; BE-32BIT-P9-NEXT:    lxv v27, 192(r1) # 16-byte Folded Reload
885 ; BE-32BIT-P9-NEXT:    lxv v26, 176(r1) # 16-byte Folded Reload
886 ; BE-32BIT-P9-NEXT:    lxv v25, 160(r1) # 16-byte Folded Reload
887 ; BE-32BIT-P9-NEXT:    lxv v24, 144(r1) # 16-byte Folded Reload
888 ; BE-32BIT-P9-NEXT:    lxv v23, 128(r1) # 16-byte Folded Reload
889 ; BE-32BIT-P9-NEXT:    lxv v22, 112(r1) # 16-byte Folded Reload
890 ; BE-32BIT-P9-NEXT:    lxv v21, 96(r1) # 16-byte Folded Reload
891 ; BE-32BIT-P9-NEXT:    lxv v20, 80(r1) # 16-byte Folded Reload
892 ; BE-32BIT-P9-NEXT:    lfd f31, 488(r1) # 8-byte Folded Reload
893 ; BE-32BIT-P9-NEXT:    lfd f30, 480(r1) # 8-byte Folded Reload
894 ; BE-32BIT-P9-NEXT:    lfd f29, 472(r1) # 8-byte Folded Reload
895 ; BE-32BIT-P9-NEXT:    lfd f28, 464(r1) # 8-byte Folded Reload
896 ; BE-32BIT-P9-NEXT:    lfd f27, 456(r1) # 8-byte Folded Reload
897 ; BE-32BIT-P9-NEXT:    lwz r31, 348(r1) # 4-byte Folded Reload
898 ; BE-32BIT-P9-NEXT:    lwz r30, 344(r1) # 4-byte Folded Reload
899 ; BE-32BIT-P9-NEXT:    lwz r29, 340(r1) # 4-byte Folded Reload
900 ; BE-32BIT-P9-NEXT:    lfd f26, 448(r1) # 8-byte Folded Reload
901 ; BE-32BIT-P9-NEXT:    lwz r28, 336(r1) # 4-byte Folded Reload
902 ; BE-32BIT-P9-NEXT:    lwz r27, 332(r1) # 4-byte Folded Reload
903 ; BE-32BIT-P9-NEXT:    lwz r26, 328(r1) # 4-byte Folded Reload
904 ; BE-32BIT-P9-NEXT:    lfd f25, 440(r1) # 8-byte Folded Reload
905 ; BE-32BIT-P9-NEXT:    lwz r25, 324(r1) # 4-byte Folded Reload
906 ; BE-32BIT-P9-NEXT:    lwz r24, 320(r1) # 4-byte Folded Reload
907 ; BE-32BIT-P9-NEXT:    lwz r23, 316(r1) # 4-byte Folded Reload
908 ; BE-32BIT-P9-NEXT:    lfd f24, 432(r1) # 8-byte Folded Reload
909 ; BE-32BIT-P9-NEXT:    lwz r22, 312(r1) # 4-byte Folded Reload
910 ; BE-32BIT-P9-NEXT:    lwz r21, 308(r1) # 4-byte Folded Reload
911 ; BE-32BIT-P9-NEXT:    lwz r4, 16(r4)
912 ; BE-32BIT-P9-NEXT:    add r3, r4, r3
913 ; BE-32BIT-P9-NEXT:    lfd f23, 424(r1) # 8-byte Folded Reload
914 ; BE-32BIT-P9-NEXT:    lfd f22, 416(r1) # 8-byte Folded Reload
915 ; BE-32BIT-P9-NEXT:    lwz r20, 304(r1) # 4-byte Folded Reload
916 ; BE-32BIT-P9-NEXT:    lwz r19, 300(r1) # 4-byte Folded Reload
917 ; BE-32BIT-P9-NEXT:    lwz r18, 296(r1) # 4-byte Folded Reload
918 ; BE-32BIT-P9-NEXT:    lwz r17, 292(r1) # 4-byte Folded Reload
919 ; BE-32BIT-P9-NEXT:    lwz r16, 288(r1) # 4-byte Folded Reload
920 ; BE-32BIT-P9-NEXT:    lwz r15, 284(r1) # 4-byte Folded Reload
921 ; BE-32BIT-P9-NEXT:    lwz r14, 280(r1) # 4-byte Folded Reload
922 ; BE-32BIT-P9-NEXT:    lwz r13, 276(r1) # 4-byte Folded Reload
923 ; BE-32BIT-P9-NEXT:    lfd f21, 408(r1) # 8-byte Folded Reload
924 ; BE-32BIT-P9-NEXT:    lfd f20, 400(r1) # 8-byte Folded Reload
925 ; BE-32BIT-P9-NEXT:    lfd f19, 392(r1) # 8-byte Folded Reload
926 ; BE-32BIT-P9-NEXT:    lfd f18, 384(r1) # 8-byte Folded Reload
927 ; BE-32BIT-P9-NEXT:    lfd f17, 376(r1) # 8-byte Folded Reload
928 ; BE-32BIT-P9-NEXT:    lfd f16, 368(r1) # 8-byte Folded Reload
929 ; BE-32BIT-P9-NEXT:    lfd f15, 360(r1) # 8-byte Folded Reload
930 ; BE-32BIT-P9-NEXT:    lfd f14, 352(r1) # 8-byte Folded Reload
931 ; BE-32BIT-P9-NEXT:    addi r1, r1, 496
932 ; BE-32BIT-P9-NEXT:    lwz r0, 8(r1)
933 ; BE-32BIT-P9-NEXT:    lwz r12, 4(r1)
934 ; BE-32BIT-P9-NEXT:    mtlr r0
935 ; BE-32BIT-P9-NEXT:    hashchk r0, -424(r1)
936 ; BE-32BIT-P9-NEXT:    mtocrf 32, r12
937 ; BE-32BIT-P9-NEXT:    mtocrf 16, r12
938 ; BE-32BIT-P9-NEXT:    mtocrf 8, r12
939 ; BE-32BIT-P9-NEXT:    blr
941 ; BE-32BIT-P8-LABEL: spill:
942 ; BE-32BIT-P8:       # %bb.0: # %entry
943 ; BE-32BIT-P8-NEXT:    mfcr r12
944 ; BE-32BIT-P8-NEXT:    stw r12, 4(r1)
945 ; BE-32BIT-P8-NEXT:    mflr r0
946 ; BE-32BIT-P8-NEXT:    stwu r1, -496(r1)
947 ; BE-32BIT-P8-NEXT:    li r4, 80
948 ; BE-32BIT-P8-NEXT:    stw r0, 504(r1)
949 ; BE-32BIT-P8-NEXT:    hashst r0, -424(r1)
950 ; BE-32BIT-P8-NEXT:    stw r13, 276(r1) # 4-byte Folded Spill
951 ; BE-32BIT-P8-NEXT:    stw r14, 280(r1) # 4-byte Folded Spill
952 ; BE-32BIT-P8-NEXT:    stw r15, 284(r1) # 4-byte Folded Spill
953 ; BE-32BIT-P8-NEXT:    stw r16, 288(r1) # 4-byte Folded Spill
954 ; BE-32BIT-P8-NEXT:    stw r17, 292(r1) # 4-byte Folded Spill
955 ; BE-32BIT-P8-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
956 ; BE-32BIT-P8-NEXT:    li r4, 96
957 ; BE-32BIT-P8-NEXT:    stw r18, 296(r1) # 4-byte Folded Spill
958 ; BE-32BIT-P8-NEXT:    stw r19, 300(r1) # 4-byte Folded Spill
959 ; BE-32BIT-P8-NEXT:    stw r20, 304(r1) # 4-byte Folded Spill
960 ; BE-32BIT-P8-NEXT:    stw r21, 308(r1) # 4-byte Folded Spill
961 ; BE-32BIT-P8-NEXT:    stw r22, 312(r1) # 4-byte Folded Spill
962 ; BE-32BIT-P8-NEXT:    stw r23, 316(r1) # 4-byte Folded Spill
963 ; BE-32BIT-P8-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
964 ; BE-32BIT-P8-NEXT:    li r4, 112
965 ; BE-32BIT-P8-NEXT:    stw r24, 320(r1) # 4-byte Folded Spill
966 ; BE-32BIT-P8-NEXT:    stw r25, 324(r1) # 4-byte Folded Spill
967 ; BE-32BIT-P8-NEXT:    stw r26, 328(r1) # 4-byte Folded Spill
968 ; BE-32BIT-P8-NEXT:    stw r27, 332(r1) # 4-byte Folded Spill
969 ; BE-32BIT-P8-NEXT:    stw r28, 336(r1) # 4-byte Folded Spill
970 ; BE-32BIT-P8-NEXT:    stw r29, 340(r1) # 4-byte Folded Spill
971 ; BE-32BIT-P8-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
972 ; BE-32BIT-P8-NEXT:    li r4, 128
973 ; BE-32BIT-P8-NEXT:    stw r30, 344(r1) # 4-byte Folded Spill
974 ; BE-32BIT-P8-NEXT:    stw r31, 348(r1) # 4-byte Folded Spill
975 ; BE-32BIT-P8-NEXT:    stfd f14, 352(r1) # 8-byte Folded Spill
976 ; BE-32BIT-P8-NEXT:    stfd f15, 360(r1) # 8-byte Folded Spill
977 ; BE-32BIT-P8-NEXT:    stfd f16, 368(r1) # 8-byte Folded Spill
978 ; BE-32BIT-P8-NEXT:    stfd f17, 376(r1) # 8-byte Folded Spill
979 ; BE-32BIT-P8-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
980 ; BE-32BIT-P8-NEXT:    li r4, 144
981 ; BE-32BIT-P8-NEXT:    stfd f18, 384(r1) # 8-byte Folded Spill
982 ; BE-32BIT-P8-NEXT:    stfd f19, 392(r1) # 8-byte Folded Spill
983 ; BE-32BIT-P8-NEXT:    stfd f20, 400(r1) # 8-byte Folded Spill
984 ; BE-32BIT-P8-NEXT:    stfd f21, 408(r1) # 8-byte Folded Spill
985 ; BE-32BIT-P8-NEXT:    stfd f22, 416(r1) # 8-byte Folded Spill
986 ; BE-32BIT-P8-NEXT:    stfd f23, 424(r1) # 8-byte Folded Spill
987 ; BE-32BIT-P8-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
988 ; BE-32BIT-P8-NEXT:    li r4, 160
989 ; BE-32BIT-P8-NEXT:    stfd f24, 432(r1) # 8-byte Folded Spill
990 ; BE-32BIT-P8-NEXT:    stfd f25, 440(r1) # 8-byte Folded Spill
991 ; BE-32BIT-P8-NEXT:    stfd f26, 448(r1) # 8-byte Folded Spill
992 ; BE-32BIT-P8-NEXT:    stfd f27, 456(r1) # 8-byte Folded Spill
993 ; BE-32BIT-P8-NEXT:    stfd f28, 464(r1) # 8-byte Folded Spill
994 ; BE-32BIT-P8-NEXT:    stfd f29, 472(r1) # 8-byte Folded Spill
995 ; BE-32BIT-P8-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
996 ; BE-32BIT-P8-NEXT:    li r4, 176
997 ; BE-32BIT-P8-NEXT:    stfd f30, 480(r1) # 8-byte Folded Spill
998 ; BE-32BIT-P8-NEXT:    stfd f31, 488(r1) # 8-byte Folded Spill
999 ; BE-32BIT-P8-NEXT:    stw r3, 64(r1) # 4-byte Folded Spill
1000 ; BE-32BIT-P8-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
1001 ; BE-32BIT-P8-NEXT:    li r4, 192
1002 ; BE-32BIT-P8-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
1003 ; BE-32BIT-P8-NEXT:    li r4, 208
1004 ; BE-32BIT-P8-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
1005 ; BE-32BIT-P8-NEXT:    li r4, 224
1006 ; BE-32BIT-P8-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
1007 ; BE-32BIT-P8-NEXT:    li r4, 240
1008 ; BE-32BIT-P8-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
1009 ; BE-32BIT-P8-NEXT:    li r4, 256
1010 ; BE-32BIT-P8-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
1011 ; BE-32BIT-P8-NEXT:    lwz r4, 12(r3)
1012 ; BE-32BIT-P8-NEXT:    stw r4, 68(r1)
1013 ; BE-32BIT-P8-NEXT:    #APP
1014 ; BE-32BIT-P8-NEXT:    nop
1015 ; BE-32BIT-P8-NEXT:    #NO_APP
1016 ; BE-32BIT-P8-NEXT:    addi r3, r1, 68
1017 ; BE-32BIT-P8-NEXT:    bl .callee2[PR]
1018 ; BE-32BIT-P8-NEXT:    nop
1019 ; BE-32BIT-P8-NEXT:    lwz r4, 64(r1) # 4-byte Folded Reload
1020 ; BE-32BIT-P8-NEXT:    lfd f31, 488(r1) # 8-byte Folded Reload
1021 ; BE-32BIT-P8-NEXT:    lfd f30, 480(r1) # 8-byte Folded Reload
1022 ; BE-32BIT-P8-NEXT:    lwz r31, 348(r1) # 4-byte Folded Reload
1023 ; BE-32BIT-P8-NEXT:    lfd f29, 472(r1) # 8-byte Folded Reload
1024 ; BE-32BIT-P8-NEXT:    lfd f28, 464(r1) # 8-byte Folded Reload
1025 ; BE-32BIT-P8-NEXT:    lwz r30, 344(r1) # 4-byte Folded Reload
1026 ; BE-32BIT-P8-NEXT:    lwz r29, 340(r1) # 4-byte Folded Reload
1027 ; BE-32BIT-P8-NEXT:    lfd f27, 456(r1) # 8-byte Folded Reload
1028 ; BE-32BIT-P8-NEXT:    lfd f26, 448(r1) # 8-byte Folded Reload
1029 ; BE-32BIT-P8-NEXT:    lwz r28, 336(r1) # 4-byte Folded Reload
1030 ; BE-32BIT-P8-NEXT:    lwz r27, 332(r1) # 4-byte Folded Reload
1031 ; BE-32BIT-P8-NEXT:    lwz r4, 16(r4)
1032 ; BE-32BIT-P8-NEXT:    lfd f25, 440(r1) # 8-byte Folded Reload
1033 ; BE-32BIT-P8-NEXT:    lfd f24, 432(r1) # 8-byte Folded Reload
1034 ; BE-32BIT-P8-NEXT:    lwz r26, 328(r1) # 4-byte Folded Reload
1035 ; BE-32BIT-P8-NEXT:    lfd f23, 424(r1) # 8-byte Folded Reload
1036 ; BE-32BIT-P8-NEXT:    lfd f22, 416(r1) # 8-byte Folded Reload
1037 ; BE-32BIT-P8-NEXT:    lwz r25, 324(r1) # 4-byte Folded Reload
1038 ; BE-32BIT-P8-NEXT:    lwz r24, 320(r1) # 4-byte Folded Reload
1039 ; BE-32BIT-P8-NEXT:    lfd f21, 408(r1) # 8-byte Folded Reload
1040 ; BE-32BIT-P8-NEXT:    lfd f20, 400(r1) # 8-byte Folded Reload
1041 ; BE-32BIT-P8-NEXT:    lwz r23, 316(r1) # 4-byte Folded Reload
1042 ; BE-32BIT-P8-NEXT:    lwz r22, 312(r1) # 4-byte Folded Reload
1043 ; BE-32BIT-P8-NEXT:    add r3, r4, r3
1044 ; BE-32BIT-P8-NEXT:    li r4, 256
1045 ; BE-32BIT-P8-NEXT:    lfd f19, 392(r1) # 8-byte Folded Reload
1046 ; BE-32BIT-P8-NEXT:    lfd f18, 384(r1) # 8-byte Folded Reload
1047 ; BE-32BIT-P8-NEXT:    lfd f17, 376(r1) # 8-byte Folded Reload
1048 ; BE-32BIT-P8-NEXT:    lfd f16, 368(r1) # 8-byte Folded Reload
1049 ; BE-32BIT-P8-NEXT:    lwz r21, 308(r1) # 4-byte Folded Reload
1050 ; BE-32BIT-P8-NEXT:    lwz r20, 304(r1) # 4-byte Folded Reload
1051 ; BE-32BIT-P8-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
1052 ; BE-32BIT-P8-NEXT:    li r4, 240
1053 ; BE-32BIT-P8-NEXT:    lfd f15, 360(r1) # 8-byte Folded Reload
1054 ; BE-32BIT-P8-NEXT:    lwz r19, 300(r1) # 4-byte Folded Reload
1055 ; BE-32BIT-P8-NEXT:    lfd f14, 352(r1) # 8-byte Folded Reload
1056 ; BE-32BIT-P8-NEXT:    lwz r18, 296(r1) # 4-byte Folded Reload
1057 ; BE-32BIT-P8-NEXT:    lwz r17, 292(r1) # 4-byte Folded Reload
1058 ; BE-32BIT-P8-NEXT:    lwz r16, 288(r1) # 4-byte Folded Reload
1059 ; BE-32BIT-P8-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
1060 ; BE-32BIT-P8-NEXT:    li r4, 224
1061 ; BE-32BIT-P8-NEXT:    lwz r15, 284(r1) # 4-byte Folded Reload
1062 ; BE-32BIT-P8-NEXT:    lwz r14, 280(r1) # 4-byte Folded Reload
1063 ; BE-32BIT-P8-NEXT:    lwz r13, 276(r1) # 4-byte Folded Reload
1064 ; BE-32BIT-P8-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
1065 ; BE-32BIT-P8-NEXT:    li r4, 208
1066 ; BE-32BIT-P8-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
1067 ; BE-32BIT-P8-NEXT:    li r4, 192
1068 ; BE-32BIT-P8-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
1069 ; BE-32BIT-P8-NEXT:    li r4, 176
1070 ; BE-32BIT-P8-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
1071 ; BE-32BIT-P8-NEXT:    li r4, 160
1072 ; BE-32BIT-P8-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
1073 ; BE-32BIT-P8-NEXT:    li r4, 144
1074 ; BE-32BIT-P8-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
1075 ; BE-32BIT-P8-NEXT:    li r4, 128
1076 ; BE-32BIT-P8-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
1077 ; BE-32BIT-P8-NEXT:    li r4, 112
1078 ; BE-32BIT-P8-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
1079 ; BE-32BIT-P8-NEXT:    li r4, 96
1080 ; BE-32BIT-P8-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
1081 ; BE-32BIT-P8-NEXT:    li r4, 80
1082 ; BE-32BIT-P8-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
1083 ; BE-32BIT-P8-NEXT:    addi r1, r1, 496
1084 ; BE-32BIT-P8-NEXT:    lwz r0, 8(r1)
1085 ; BE-32BIT-P8-NEXT:    lwz r12, 4(r1)
1086 ; BE-32BIT-P8-NEXT:    hashchk r0, -424(r1)
1087 ; BE-32BIT-P8-NEXT:    mtlr r0
1088 ; BE-32BIT-P8-NEXT:    mtocrf 32, r12
1089 ; BE-32BIT-P8-NEXT:    mtocrf 16, r12
1090 ; BE-32BIT-P8-NEXT:    mtocrf 8, r12
1091 ; BE-32BIT-P8-NEXT:    blr
1093 ; BE-P10-PRIV-LABEL: spill:
1094 ; BE-P10-PRIV:       # %bb.0: # %entry
1095 ; BE-P10-PRIV-NEXT:    mflr r0
1096 ; BE-P10-PRIV-NEXT:    mfcr r12
1097 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
1098 ; BE-P10-PRIV-NEXT:    hashstp r0, -488(r1)
1099 ; BE-P10-PRIV-NEXT:    stw r12, 8(r1)
1100 ; BE-P10-PRIV-NEXT:    stdu r1, -624(r1)
1101 ; BE-P10-PRIV-NEXT:    lwz r4, 12(r3)
1102 ; BE-P10-PRIV-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
1103 ; BE-P10-PRIV-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
1104 ; BE-P10-PRIV-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
1105 ; BE-P10-PRIV-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
1106 ; BE-P10-PRIV-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
1107 ; BE-P10-PRIV-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
1108 ; BE-P10-PRIV-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
1109 ; BE-P10-PRIV-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
1110 ; BE-P10-PRIV-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
1111 ; BE-P10-PRIV-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
1112 ; BE-P10-PRIV-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
1113 ; BE-P10-PRIV-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
1114 ; BE-P10-PRIV-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
1115 ; BE-P10-PRIV-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
1116 ; BE-P10-PRIV-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
1117 ; BE-P10-PRIV-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
1118 ; BE-P10-PRIV-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
1119 ; BE-P10-PRIV-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
1120 ; BE-P10-PRIV-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
1121 ; BE-P10-PRIV-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
1122 ; BE-P10-PRIV-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
1123 ; BE-P10-PRIV-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
1124 ; BE-P10-PRIV-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
1125 ; BE-P10-PRIV-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
1126 ; BE-P10-PRIV-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
1127 ; BE-P10-PRIV-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
1128 ; BE-P10-PRIV-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
1129 ; BE-P10-PRIV-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
1130 ; BE-P10-PRIV-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
1131 ; BE-P10-PRIV-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
1132 ; BE-P10-PRIV-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
1133 ; BE-P10-PRIV-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
1134 ; BE-P10-PRIV-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
1135 ; BE-P10-PRIV-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
1136 ; BE-P10-PRIV-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
1137 ; BE-P10-PRIV-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
1138 ; BE-P10-PRIV-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
1139 ; BE-P10-PRIV-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
1140 ; BE-P10-PRIV-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
1141 ; BE-P10-PRIV-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
1142 ; BE-P10-PRIV-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
1143 ; BE-P10-PRIV-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
1144 ; BE-P10-PRIV-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
1145 ; BE-P10-PRIV-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
1146 ; BE-P10-PRIV-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
1147 ; BE-P10-PRIV-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
1148 ; BE-P10-PRIV-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
1149 ; BE-P10-PRIV-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
1150 ; BE-P10-PRIV-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
1151 ; BE-P10-PRIV-NEXT:    stw r4, 132(r1)
1152 ; BE-P10-PRIV-NEXT:    #APP
1153 ; BE-P10-PRIV-NEXT:    nop
1154 ; BE-P10-PRIV-NEXT:    #NO_APP
1155 ; BE-P10-PRIV-NEXT:    addi r3, r1, 132
1156 ; BE-P10-PRIV-NEXT:    bl .callee2[PR]
1157 ; BE-P10-PRIV-NEXT:    nop
1158 ; BE-P10-PRIV-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
1159 ; BE-P10-PRIV-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
1160 ; BE-P10-PRIV-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
1161 ; BE-P10-PRIV-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
1162 ; BE-P10-PRIV-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
1163 ; BE-P10-PRIV-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
1164 ; BE-P10-PRIV-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
1165 ; BE-P10-PRIV-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
1166 ; BE-P10-PRIV-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
1167 ; BE-P10-PRIV-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
1168 ; BE-P10-PRIV-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
1169 ; BE-P10-PRIV-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
1170 ; BE-P10-PRIV-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
1171 ; BE-P10-PRIV-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
1172 ; BE-P10-PRIV-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
1173 ; BE-P10-PRIV-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
1174 ; BE-P10-PRIV-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
1175 ; BE-P10-PRIV-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
1176 ; BE-P10-PRIV-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
1177 ; BE-P10-PRIV-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
1178 ; BE-P10-PRIV-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
1179 ; BE-P10-PRIV-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
1180 ; BE-P10-PRIV-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
1181 ; BE-P10-PRIV-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
1182 ; BE-P10-PRIV-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
1183 ; BE-P10-PRIV-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
1184 ; BE-P10-PRIV-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
1185 ; BE-P10-PRIV-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
1186 ; BE-P10-PRIV-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
1187 ; BE-P10-PRIV-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
1188 ; BE-P10-PRIV-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
1189 ; BE-P10-PRIV-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
1190 ; BE-P10-PRIV-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
1191 ; BE-P10-PRIV-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
1192 ; BE-P10-PRIV-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
1193 ; BE-P10-PRIV-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
1194 ; BE-P10-PRIV-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
1195 ; BE-P10-PRIV-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
1196 ; BE-P10-PRIV-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
1197 ; BE-P10-PRIV-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
1198 ; BE-P10-PRIV-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
1199 ; BE-P10-PRIV-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
1200 ; BE-P10-PRIV-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
1201 ; BE-P10-PRIV-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
1202 ; BE-P10-PRIV-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
1203 ; BE-P10-PRIV-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
1204 ; BE-P10-PRIV-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
1205 ; BE-P10-PRIV-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
1206 ; BE-P10-PRIV-NEXT:    lwz r4, 16(r4)
1207 ; BE-P10-PRIV-NEXT:    add r3, r4, r3
1208 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
1209 ; BE-P10-PRIV-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
1210 ; BE-P10-PRIV-NEXT:    addi r1, r1, 624
1211 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
1212 ; BE-P10-PRIV-NEXT:    lwz r12, 8(r1)
1213 ; BE-P10-PRIV-NEXT:    mtlr r0
1214 ; BE-P10-PRIV-NEXT:    hashchkp r0, -488(r1)
1215 ; BE-P10-PRIV-NEXT:    mtocrf 32, r12
1216 ; BE-P10-PRIV-NEXT:    mtocrf 16, r12
1217 ; BE-P10-PRIV-NEXT:    mtocrf 8, r12
1218 ; BE-P10-PRIV-NEXT:    blr
1220 ; BE-P9-PRIV-LABEL: spill:
1221 ; BE-P9-PRIV:       # %bb.0: # %entry
1222 ; BE-P9-PRIV-NEXT:    mfcr r12
1223 ; BE-P9-PRIV-NEXT:    mflr r0
1224 ; BE-P9-PRIV-NEXT:    stw r12, 8(r1)
1225 ; BE-P9-PRIV-NEXT:    stdu r1, -624(r1)
1226 ; BE-P9-PRIV-NEXT:    std r0, 640(r1)
1227 ; BE-P9-PRIV-NEXT:    hashstp r0, -488(r1)
1228 ; BE-P9-PRIV-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
1229 ; BE-P9-PRIV-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
1230 ; BE-P9-PRIV-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
1231 ; BE-P9-PRIV-NEXT:    lwz r4, 12(r3)
1232 ; BE-P9-PRIV-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
1233 ; BE-P9-PRIV-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
1234 ; BE-P9-PRIV-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
1235 ; BE-P9-PRIV-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
1236 ; BE-P9-PRIV-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
1237 ; BE-P9-PRIV-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
1238 ; BE-P9-PRIV-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
1239 ; BE-P9-PRIV-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
1240 ; BE-P9-PRIV-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
1241 ; BE-P9-PRIV-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
1242 ; BE-P9-PRIV-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
1243 ; BE-P9-PRIV-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
1244 ; BE-P9-PRIV-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
1245 ; BE-P9-PRIV-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
1246 ; BE-P9-PRIV-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
1247 ; BE-P9-PRIV-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
1248 ; BE-P9-PRIV-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
1249 ; BE-P9-PRIV-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
1250 ; BE-P9-PRIV-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
1251 ; BE-P9-PRIV-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
1252 ; BE-P9-PRIV-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
1253 ; BE-P9-PRIV-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
1254 ; BE-P9-PRIV-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
1255 ; BE-P9-PRIV-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
1256 ; BE-P9-PRIV-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
1257 ; BE-P9-PRIV-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
1258 ; BE-P9-PRIV-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
1259 ; BE-P9-PRIV-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
1260 ; BE-P9-PRIV-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
1261 ; BE-P9-PRIV-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
1262 ; BE-P9-PRIV-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
1263 ; BE-P9-PRIV-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
1264 ; BE-P9-PRIV-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
1265 ; BE-P9-PRIV-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
1266 ; BE-P9-PRIV-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
1267 ; BE-P9-PRIV-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
1268 ; BE-P9-PRIV-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
1269 ; BE-P9-PRIV-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
1270 ; BE-P9-PRIV-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
1271 ; BE-P9-PRIV-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
1272 ; BE-P9-PRIV-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
1273 ; BE-P9-PRIV-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
1274 ; BE-P9-PRIV-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
1275 ; BE-P9-PRIV-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
1276 ; BE-P9-PRIV-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
1277 ; BE-P9-PRIV-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
1278 ; BE-P9-PRIV-NEXT:    stw r4, 132(r1)
1279 ; BE-P9-PRIV-NEXT:    #APP
1280 ; BE-P9-PRIV-NEXT:    nop
1281 ; BE-P9-PRIV-NEXT:    #NO_APP
1282 ; BE-P9-PRIV-NEXT:    addi r3, r1, 132
1283 ; BE-P9-PRIV-NEXT:    bl .callee2[PR]
1284 ; BE-P9-PRIV-NEXT:    nop
1285 ; BE-P9-PRIV-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
1286 ; BE-P9-PRIV-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
1287 ; BE-P9-PRIV-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
1288 ; BE-P9-PRIV-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
1289 ; BE-P9-PRIV-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
1290 ; BE-P9-PRIV-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
1291 ; BE-P9-PRIV-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
1292 ; BE-P9-PRIV-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
1293 ; BE-P9-PRIV-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
1294 ; BE-P9-PRIV-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
1295 ; BE-P9-PRIV-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
1296 ; BE-P9-PRIV-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
1297 ; BE-P9-PRIV-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
1298 ; BE-P9-PRIV-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
1299 ; BE-P9-PRIV-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
1300 ; BE-P9-PRIV-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
1301 ; BE-P9-PRIV-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
1302 ; BE-P9-PRIV-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
1303 ; BE-P9-PRIV-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
1304 ; BE-P9-PRIV-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
1305 ; BE-P9-PRIV-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
1306 ; BE-P9-PRIV-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
1307 ; BE-P9-PRIV-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
1308 ; BE-P9-PRIV-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
1309 ; BE-P9-PRIV-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
1310 ; BE-P9-PRIV-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
1311 ; BE-P9-PRIV-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
1312 ; BE-P9-PRIV-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
1313 ; BE-P9-PRIV-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
1314 ; BE-P9-PRIV-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
1315 ; BE-P9-PRIV-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
1316 ; BE-P9-PRIV-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
1317 ; BE-P9-PRIV-NEXT:    lwz r4, 16(r4)
1318 ; BE-P9-PRIV-NEXT:    add r3, r4, r3
1319 ; BE-P9-PRIV-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
1320 ; BE-P9-PRIV-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
1321 ; BE-P9-PRIV-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
1322 ; BE-P9-PRIV-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
1323 ; BE-P9-PRIV-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
1324 ; BE-P9-PRIV-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
1325 ; BE-P9-PRIV-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
1326 ; BE-P9-PRIV-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
1327 ; BE-P9-PRIV-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
1328 ; BE-P9-PRIV-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
1329 ; BE-P9-PRIV-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
1330 ; BE-P9-PRIV-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
1331 ; BE-P9-PRIV-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
1332 ; BE-P9-PRIV-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
1333 ; BE-P9-PRIV-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
1334 ; BE-P9-PRIV-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
1335 ; BE-P9-PRIV-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
1336 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
1337 ; BE-P9-PRIV-NEXT:    addi r1, r1, 624
1338 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
1339 ; BE-P9-PRIV-NEXT:    lwz r12, 8(r1)
1340 ; BE-P9-PRIV-NEXT:    mtlr r0
1341 ; BE-P9-PRIV-NEXT:    hashchkp r0, -488(r1)
1342 ; BE-P9-PRIV-NEXT:    mtocrf 32, r12
1343 ; BE-P9-PRIV-NEXT:    mtocrf 16, r12
1344 ; BE-P9-PRIV-NEXT:    mtocrf 8, r12
1345 ; BE-P9-PRIV-NEXT:    blr
1347 ; BE-P8-PRIV-LABEL: spill:
1348 ; BE-P8-PRIV:       # %bb.0: # %entry
1349 ; BE-P8-PRIV-NEXT:    mfcr r12
1350 ; BE-P8-PRIV-NEXT:    stw r12, 8(r1)
1351 ; BE-P8-PRIV-NEXT:    mflr r0
1352 ; BE-P8-PRIV-NEXT:    stdu r1, -624(r1)
1353 ; BE-P8-PRIV-NEXT:    li r4, 144
1354 ; BE-P8-PRIV-NEXT:    std r0, 640(r1)
1355 ; BE-P8-PRIV-NEXT:    hashstp r0, -488(r1)
1356 ; BE-P8-PRIV-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
1357 ; BE-P8-PRIV-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
1358 ; BE-P8-PRIV-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
1359 ; BE-P8-PRIV-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
1360 ; BE-P8-PRIV-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
1361 ; BE-P8-PRIV-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
1362 ; BE-P8-PRIV-NEXT:    li r4, 160
1363 ; BE-P8-PRIV-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
1364 ; BE-P8-PRIV-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
1365 ; BE-P8-PRIV-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
1366 ; BE-P8-PRIV-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
1367 ; BE-P8-PRIV-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
1368 ; BE-P8-PRIV-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
1369 ; BE-P8-PRIV-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
1370 ; BE-P8-PRIV-NEXT:    li r4, 176
1371 ; BE-P8-PRIV-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
1372 ; BE-P8-PRIV-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
1373 ; BE-P8-PRIV-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
1374 ; BE-P8-PRIV-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
1375 ; BE-P8-PRIV-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
1376 ; BE-P8-PRIV-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
1377 ; BE-P8-PRIV-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
1378 ; BE-P8-PRIV-NEXT:    li r4, 192
1379 ; BE-P8-PRIV-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
1380 ; BE-P8-PRIV-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
1381 ; BE-P8-PRIV-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
1382 ; BE-P8-PRIV-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
1383 ; BE-P8-PRIV-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
1384 ; BE-P8-PRIV-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
1385 ; BE-P8-PRIV-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
1386 ; BE-P8-PRIV-NEXT:    li r4, 208
1387 ; BE-P8-PRIV-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
1388 ; BE-P8-PRIV-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
1389 ; BE-P8-PRIV-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
1390 ; BE-P8-PRIV-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
1391 ; BE-P8-PRIV-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
1392 ; BE-P8-PRIV-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
1393 ; BE-P8-PRIV-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
1394 ; BE-P8-PRIV-NEXT:    li r4, 224
1395 ; BE-P8-PRIV-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
1396 ; BE-P8-PRIV-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
1397 ; BE-P8-PRIV-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
1398 ; BE-P8-PRIV-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
1399 ; BE-P8-PRIV-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
1400 ; BE-P8-PRIV-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
1401 ; BE-P8-PRIV-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
1402 ; BE-P8-PRIV-NEXT:    li r4, 240
1403 ; BE-P8-PRIV-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
1404 ; BE-P8-PRIV-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
1405 ; BE-P8-PRIV-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
1406 ; BE-P8-PRIV-NEXT:    li r4, 256
1407 ; BE-P8-PRIV-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
1408 ; BE-P8-PRIV-NEXT:    li r4, 272
1409 ; BE-P8-PRIV-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
1410 ; BE-P8-PRIV-NEXT:    li r4, 288
1411 ; BE-P8-PRIV-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
1412 ; BE-P8-PRIV-NEXT:    li r4, 304
1413 ; BE-P8-PRIV-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
1414 ; BE-P8-PRIV-NEXT:    li r4, 320
1415 ; BE-P8-PRIV-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
1416 ; BE-P8-PRIV-NEXT:    lwz r4, 12(r3)
1417 ; BE-P8-PRIV-NEXT:    stw r4, 132(r1)
1418 ; BE-P8-PRIV-NEXT:    #APP
1419 ; BE-P8-PRIV-NEXT:    nop
1420 ; BE-P8-PRIV-NEXT:    #NO_APP
1421 ; BE-P8-PRIV-NEXT:    addi r3, r1, 132
1422 ; BE-P8-PRIV-NEXT:    bl .callee2[PR]
1423 ; BE-P8-PRIV-NEXT:    nop
1424 ; BE-P8-PRIV-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
1425 ; BE-P8-PRIV-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
1426 ; BE-P8-PRIV-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
1427 ; BE-P8-PRIV-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
1428 ; BE-P8-PRIV-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
1429 ; BE-P8-PRIV-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
1430 ; BE-P8-PRIV-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
1431 ; BE-P8-PRIV-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
1432 ; BE-P8-PRIV-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
1433 ; BE-P8-PRIV-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
1434 ; BE-P8-PRIV-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
1435 ; BE-P8-PRIV-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
1436 ; BE-P8-PRIV-NEXT:    lwz r4, 16(r4)
1437 ; BE-P8-PRIV-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
1438 ; BE-P8-PRIV-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
1439 ; BE-P8-PRIV-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
1440 ; BE-P8-PRIV-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
1441 ; BE-P8-PRIV-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
1442 ; BE-P8-PRIV-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
1443 ; BE-P8-PRIV-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
1444 ; BE-P8-PRIV-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
1445 ; BE-P8-PRIV-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
1446 ; BE-P8-PRIV-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
1447 ; BE-P8-PRIV-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
1448 ; BE-P8-PRIV-NEXT:    add r3, r4, r3
1449 ; BE-P8-PRIV-NEXT:    li r4, 320
1450 ; BE-P8-PRIV-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
1451 ; BE-P8-PRIV-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
1452 ; BE-P8-PRIV-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
1453 ; BE-P8-PRIV-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
1454 ; BE-P8-PRIV-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
1455 ; BE-P8-PRIV-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
1456 ; BE-P8-PRIV-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
1457 ; BE-P8-PRIV-NEXT:    li r4, 304
1458 ; BE-P8-PRIV-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
1459 ; BE-P8-PRIV-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
1460 ; BE-P8-PRIV-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
1461 ; BE-P8-PRIV-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
1462 ; BE-P8-PRIV-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
1463 ; BE-P8-PRIV-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
1464 ; BE-P8-PRIV-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
1465 ; BE-P8-PRIV-NEXT:    li r4, 288
1466 ; BE-P8-PRIV-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
1467 ; BE-P8-PRIV-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
1468 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
1469 ; BE-P8-PRIV-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
1470 ; BE-P8-PRIV-NEXT:    li r4, 272
1471 ; BE-P8-PRIV-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
1472 ; BE-P8-PRIV-NEXT:    li r4, 256
1473 ; BE-P8-PRIV-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
1474 ; BE-P8-PRIV-NEXT:    li r4, 240
1475 ; BE-P8-PRIV-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
1476 ; BE-P8-PRIV-NEXT:    li r4, 224
1477 ; BE-P8-PRIV-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
1478 ; BE-P8-PRIV-NEXT:    li r4, 208
1479 ; BE-P8-PRIV-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
1480 ; BE-P8-PRIV-NEXT:    li r4, 192
1481 ; BE-P8-PRIV-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
1482 ; BE-P8-PRIV-NEXT:    li r4, 176
1483 ; BE-P8-PRIV-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
1484 ; BE-P8-PRIV-NEXT:    li r4, 160
1485 ; BE-P8-PRIV-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
1486 ; BE-P8-PRIV-NEXT:    li r4, 144
1487 ; BE-P8-PRIV-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
1488 ; BE-P8-PRIV-NEXT:    addi r1, r1, 624
1489 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
1490 ; BE-P8-PRIV-NEXT:    lwz r12, 8(r1)
1491 ; BE-P8-PRIV-NEXT:    hashchkp r0, -488(r1)
1492 ; BE-P8-PRIV-NEXT:    mtlr r0
1493 ; BE-P8-PRIV-NEXT:    mtocrf 32, r12
1494 ; BE-P8-PRIV-NEXT:    mtocrf 16, r12
1495 ; BE-P8-PRIV-NEXT:    mtocrf 8, r12
1496 ; BE-P8-PRIV-NEXT:    blr
1498 ; BE-32BIT-P10-PRIV-LABEL: spill:
1499 ; BE-32BIT-P10-PRIV:       # %bb.0: # %entry
1500 ; BE-32BIT-P10-PRIV-NEXT:    mflr r0
1501 ; BE-32BIT-P10-PRIV-NEXT:    mfcr r12
1502 ; BE-32BIT-P10-PRIV-NEXT:    stw r0, 8(r1)
1503 ; BE-32BIT-P10-PRIV-NEXT:    hashstp r0, -424(r1)
1504 ; BE-32BIT-P10-PRIV-NEXT:    stw r12, 4(r1)
1505 ; BE-32BIT-P10-PRIV-NEXT:    stwu r1, -496(r1)
1506 ; BE-32BIT-P10-PRIV-NEXT:    lwz r4, 12(r3)
1507 ; BE-32BIT-P10-PRIV-NEXT:    stw r13, 276(r1) # 4-byte Folded Spill
1508 ; BE-32BIT-P10-PRIV-NEXT:    stw r14, 280(r1) # 4-byte Folded Spill
1509 ; BE-32BIT-P10-PRIV-NEXT:    stw r15, 284(r1) # 4-byte Folded Spill
1510 ; BE-32BIT-P10-PRIV-NEXT:    stw r16, 288(r1) # 4-byte Folded Spill
1511 ; BE-32BIT-P10-PRIV-NEXT:    stw r17, 292(r1) # 4-byte Folded Spill
1512 ; BE-32BIT-P10-PRIV-NEXT:    stw r18, 296(r1) # 4-byte Folded Spill
1513 ; BE-32BIT-P10-PRIV-NEXT:    stw r19, 300(r1) # 4-byte Folded Spill
1514 ; BE-32BIT-P10-PRIV-NEXT:    stw r20, 304(r1) # 4-byte Folded Spill
1515 ; BE-32BIT-P10-PRIV-NEXT:    stw r21, 308(r1) # 4-byte Folded Spill
1516 ; BE-32BIT-P10-PRIV-NEXT:    stw r22, 312(r1) # 4-byte Folded Spill
1517 ; BE-32BIT-P10-PRIV-NEXT:    stw r23, 316(r1) # 4-byte Folded Spill
1518 ; BE-32BIT-P10-PRIV-NEXT:    stw r24, 320(r1) # 4-byte Folded Spill
1519 ; BE-32BIT-P10-PRIV-NEXT:    stw r25, 324(r1) # 4-byte Folded Spill
1520 ; BE-32BIT-P10-PRIV-NEXT:    stw r26, 328(r1) # 4-byte Folded Spill
1521 ; BE-32BIT-P10-PRIV-NEXT:    stw r27, 332(r1) # 4-byte Folded Spill
1522 ; BE-32BIT-P10-PRIV-NEXT:    stw r28, 336(r1) # 4-byte Folded Spill
1523 ; BE-32BIT-P10-PRIV-NEXT:    stw r29, 340(r1) # 4-byte Folded Spill
1524 ; BE-32BIT-P10-PRIV-NEXT:    stw r30, 344(r1) # 4-byte Folded Spill
1525 ; BE-32BIT-P10-PRIV-NEXT:    stw r31, 348(r1) # 4-byte Folded Spill
1526 ; BE-32BIT-P10-PRIV-NEXT:    stfd f14, 352(r1) # 8-byte Folded Spill
1527 ; BE-32BIT-P10-PRIV-NEXT:    stfd f15, 360(r1) # 8-byte Folded Spill
1528 ; BE-32BIT-P10-PRIV-NEXT:    stfd f16, 368(r1) # 8-byte Folded Spill
1529 ; BE-32BIT-P10-PRIV-NEXT:    stfd f17, 376(r1) # 8-byte Folded Spill
1530 ; BE-32BIT-P10-PRIV-NEXT:    stfd f18, 384(r1) # 8-byte Folded Spill
1531 ; BE-32BIT-P10-PRIV-NEXT:    stfd f19, 392(r1) # 8-byte Folded Spill
1532 ; BE-32BIT-P10-PRIV-NEXT:    stfd f20, 400(r1) # 8-byte Folded Spill
1533 ; BE-32BIT-P10-PRIV-NEXT:    stfd f21, 408(r1) # 8-byte Folded Spill
1534 ; BE-32BIT-P10-PRIV-NEXT:    stfd f22, 416(r1) # 8-byte Folded Spill
1535 ; BE-32BIT-P10-PRIV-NEXT:    stfd f23, 424(r1) # 8-byte Folded Spill
1536 ; BE-32BIT-P10-PRIV-NEXT:    stfd f24, 432(r1) # 8-byte Folded Spill
1537 ; BE-32BIT-P10-PRIV-NEXT:    stfd f25, 440(r1) # 8-byte Folded Spill
1538 ; BE-32BIT-P10-PRIV-NEXT:    stfd f26, 448(r1) # 8-byte Folded Spill
1539 ; BE-32BIT-P10-PRIV-NEXT:    stfd f27, 456(r1) # 8-byte Folded Spill
1540 ; BE-32BIT-P10-PRIV-NEXT:    stfd f28, 464(r1) # 8-byte Folded Spill
1541 ; BE-32BIT-P10-PRIV-NEXT:    stfd f29, 472(r1) # 8-byte Folded Spill
1542 ; BE-32BIT-P10-PRIV-NEXT:    stfd f30, 480(r1) # 8-byte Folded Spill
1543 ; BE-32BIT-P10-PRIV-NEXT:    stfd f31, 488(r1) # 8-byte Folded Spill
1544 ; BE-32BIT-P10-PRIV-NEXT:    stxv v20, 80(r1) # 16-byte Folded Spill
1545 ; BE-32BIT-P10-PRIV-NEXT:    stxv v21, 96(r1) # 16-byte Folded Spill
1546 ; BE-32BIT-P10-PRIV-NEXT:    stxv v22, 112(r1) # 16-byte Folded Spill
1547 ; BE-32BIT-P10-PRIV-NEXT:    stxv v23, 128(r1) # 16-byte Folded Spill
1548 ; BE-32BIT-P10-PRIV-NEXT:    stxv v24, 144(r1) # 16-byte Folded Spill
1549 ; BE-32BIT-P10-PRIV-NEXT:    stxv v25, 160(r1) # 16-byte Folded Spill
1550 ; BE-32BIT-P10-PRIV-NEXT:    stxv v26, 176(r1) # 16-byte Folded Spill
1551 ; BE-32BIT-P10-PRIV-NEXT:    stxv v27, 192(r1) # 16-byte Folded Spill
1552 ; BE-32BIT-P10-PRIV-NEXT:    stxv v28, 208(r1) # 16-byte Folded Spill
1553 ; BE-32BIT-P10-PRIV-NEXT:    stxv v29, 224(r1) # 16-byte Folded Spill
1554 ; BE-32BIT-P10-PRIV-NEXT:    stxv v30, 240(r1) # 16-byte Folded Spill
1555 ; BE-32BIT-P10-PRIV-NEXT:    stxv v31, 256(r1) # 16-byte Folded Spill
1556 ; BE-32BIT-P10-PRIV-NEXT:    stw r3, 64(r1) # 4-byte Folded Spill
1557 ; BE-32BIT-P10-PRIV-NEXT:    stw r4, 68(r1)
1558 ; BE-32BIT-P10-PRIV-NEXT:    #APP
1559 ; BE-32BIT-P10-PRIV-NEXT:    nop
1560 ; BE-32BIT-P10-PRIV-NEXT:    #NO_APP
1561 ; BE-32BIT-P10-PRIV-NEXT:    addi r3, r1, 68
1562 ; BE-32BIT-P10-PRIV-NEXT:    bl .callee2[PR]
1563 ; BE-32BIT-P10-PRIV-NEXT:    nop
1564 ; BE-32BIT-P10-PRIV-NEXT:    lwz r4, 64(r1) # 4-byte Folded Reload
1565 ; BE-32BIT-P10-PRIV-NEXT:    lxv v31, 256(r1) # 16-byte Folded Reload
1566 ; BE-32BIT-P10-PRIV-NEXT:    lxv v30, 240(r1) # 16-byte Folded Reload
1567 ; BE-32BIT-P10-PRIV-NEXT:    lxv v29, 224(r1) # 16-byte Folded Reload
1568 ; BE-32BIT-P10-PRIV-NEXT:    lxv v28, 208(r1) # 16-byte Folded Reload
1569 ; BE-32BIT-P10-PRIV-NEXT:    lxv v27, 192(r1) # 16-byte Folded Reload
1570 ; BE-32BIT-P10-PRIV-NEXT:    lxv v26, 176(r1) # 16-byte Folded Reload
1571 ; BE-32BIT-P10-PRIV-NEXT:    lxv v25, 160(r1) # 16-byte Folded Reload
1572 ; BE-32BIT-P10-PRIV-NEXT:    lxv v24, 144(r1) # 16-byte Folded Reload
1573 ; BE-32BIT-P10-PRIV-NEXT:    lxv v23, 128(r1) # 16-byte Folded Reload
1574 ; BE-32BIT-P10-PRIV-NEXT:    lxv v22, 112(r1) # 16-byte Folded Reload
1575 ; BE-32BIT-P10-PRIV-NEXT:    lxv v21, 96(r1) # 16-byte Folded Reload
1576 ; BE-32BIT-P10-PRIV-NEXT:    lxv v20, 80(r1) # 16-byte Folded Reload
1577 ; BE-32BIT-P10-PRIV-NEXT:    lfd f31, 488(r1) # 8-byte Folded Reload
1578 ; BE-32BIT-P10-PRIV-NEXT:    lfd f30, 480(r1) # 8-byte Folded Reload
1579 ; BE-32BIT-P10-PRIV-NEXT:    lfd f29, 472(r1) # 8-byte Folded Reload
1580 ; BE-32BIT-P10-PRIV-NEXT:    lfd f28, 464(r1) # 8-byte Folded Reload
1581 ; BE-32BIT-P10-PRIV-NEXT:    lfd f27, 456(r1) # 8-byte Folded Reload
1582 ; BE-32BIT-P10-PRIV-NEXT:    lfd f26, 448(r1) # 8-byte Folded Reload
1583 ; BE-32BIT-P10-PRIV-NEXT:    lfd f25, 440(r1) # 8-byte Folded Reload
1584 ; BE-32BIT-P10-PRIV-NEXT:    lfd f24, 432(r1) # 8-byte Folded Reload
1585 ; BE-32BIT-P10-PRIV-NEXT:    lfd f23, 424(r1) # 8-byte Folded Reload
1586 ; BE-32BIT-P10-PRIV-NEXT:    lfd f22, 416(r1) # 8-byte Folded Reload
1587 ; BE-32BIT-P10-PRIV-NEXT:    lfd f21, 408(r1) # 8-byte Folded Reload
1588 ; BE-32BIT-P10-PRIV-NEXT:    lfd f20, 400(r1) # 8-byte Folded Reload
1589 ; BE-32BIT-P10-PRIV-NEXT:    lfd f19, 392(r1) # 8-byte Folded Reload
1590 ; BE-32BIT-P10-PRIV-NEXT:    lfd f18, 384(r1) # 8-byte Folded Reload
1591 ; BE-32BIT-P10-PRIV-NEXT:    lfd f17, 376(r1) # 8-byte Folded Reload
1592 ; BE-32BIT-P10-PRIV-NEXT:    lfd f16, 368(r1) # 8-byte Folded Reload
1593 ; BE-32BIT-P10-PRIV-NEXT:    lfd f15, 360(r1) # 8-byte Folded Reload
1594 ; BE-32BIT-P10-PRIV-NEXT:    lfd f14, 352(r1) # 8-byte Folded Reload
1595 ; BE-32BIT-P10-PRIV-NEXT:    lwz r31, 348(r1) # 4-byte Folded Reload
1596 ; BE-32BIT-P10-PRIV-NEXT:    lwz r30, 344(r1) # 4-byte Folded Reload
1597 ; BE-32BIT-P10-PRIV-NEXT:    lwz r29, 340(r1) # 4-byte Folded Reload
1598 ; BE-32BIT-P10-PRIV-NEXT:    lwz r28, 336(r1) # 4-byte Folded Reload
1599 ; BE-32BIT-P10-PRIV-NEXT:    lwz r27, 332(r1) # 4-byte Folded Reload
1600 ; BE-32BIT-P10-PRIV-NEXT:    lwz r26, 328(r1) # 4-byte Folded Reload
1601 ; BE-32BIT-P10-PRIV-NEXT:    lwz r25, 324(r1) # 4-byte Folded Reload
1602 ; BE-32BIT-P10-PRIV-NEXT:    lwz r24, 320(r1) # 4-byte Folded Reload
1603 ; BE-32BIT-P10-PRIV-NEXT:    lwz r23, 316(r1) # 4-byte Folded Reload
1604 ; BE-32BIT-P10-PRIV-NEXT:    lwz r22, 312(r1) # 4-byte Folded Reload
1605 ; BE-32BIT-P10-PRIV-NEXT:    lwz r21, 308(r1) # 4-byte Folded Reload
1606 ; BE-32BIT-P10-PRIV-NEXT:    lwz r20, 304(r1) # 4-byte Folded Reload
1607 ; BE-32BIT-P10-PRIV-NEXT:    lwz r19, 300(r1) # 4-byte Folded Reload
1608 ; BE-32BIT-P10-PRIV-NEXT:    lwz r18, 296(r1) # 4-byte Folded Reload
1609 ; BE-32BIT-P10-PRIV-NEXT:    lwz r17, 292(r1) # 4-byte Folded Reload
1610 ; BE-32BIT-P10-PRIV-NEXT:    lwz r16, 288(r1) # 4-byte Folded Reload
1611 ; BE-32BIT-P10-PRIV-NEXT:    lwz r15, 284(r1) # 4-byte Folded Reload
1612 ; BE-32BIT-P10-PRIV-NEXT:    lwz r4, 16(r4)
1613 ; BE-32BIT-P10-PRIV-NEXT:    add r3, r4, r3
1614 ; BE-32BIT-P10-PRIV-NEXT:    lwz r14, 280(r1) # 4-byte Folded Reload
1615 ; BE-32BIT-P10-PRIV-NEXT:    lwz r13, 276(r1) # 4-byte Folded Reload
1616 ; BE-32BIT-P10-PRIV-NEXT:    addi r1, r1, 496
1617 ; BE-32BIT-P10-PRIV-NEXT:    lwz r0, 8(r1)
1618 ; BE-32BIT-P10-PRIV-NEXT:    lwz r12, 4(r1)
1619 ; BE-32BIT-P10-PRIV-NEXT:    mtlr r0
1620 ; BE-32BIT-P10-PRIV-NEXT:    hashchkp r0, -424(r1)
1621 ; BE-32BIT-P10-PRIV-NEXT:    mtocrf 32, r12
1622 ; BE-32BIT-P10-PRIV-NEXT:    mtocrf 16, r12
1623 ; BE-32BIT-P10-PRIV-NEXT:    mtocrf 8, r12
1624 ; BE-32BIT-P10-PRIV-NEXT:    blr
1626 ; BE-32BIT-P9-PRIV-LABEL: spill:
1627 ; BE-32BIT-P9-PRIV:       # %bb.0: # %entry
1628 ; BE-32BIT-P9-PRIV-NEXT:    mfcr r12
1629 ; BE-32BIT-P9-PRIV-NEXT:    mflr r0
1630 ; BE-32BIT-P9-PRIV-NEXT:    stw r12, 4(r1)
1631 ; BE-32BIT-P9-PRIV-NEXT:    stwu r1, -496(r1)
1632 ; BE-32BIT-P9-PRIV-NEXT:    stw r0, 504(r1)
1633 ; BE-32BIT-P9-PRIV-NEXT:    hashstp r0, -424(r1)
1634 ; BE-32BIT-P9-PRIV-NEXT:    stw r13, 276(r1) # 4-byte Folded Spill
1635 ; BE-32BIT-P9-PRIV-NEXT:    stxv v20, 80(r1) # 16-byte Folded Spill
1636 ; BE-32BIT-P9-PRIV-NEXT:    stxv v21, 96(r1) # 16-byte Folded Spill
1637 ; BE-32BIT-P9-PRIV-NEXT:    lwz r4, 12(r3)
1638 ; BE-32BIT-P9-PRIV-NEXT:    stw r14, 280(r1) # 4-byte Folded Spill
1639 ; BE-32BIT-P9-PRIV-NEXT:    stxv v22, 112(r1) # 16-byte Folded Spill
1640 ; BE-32BIT-P9-PRIV-NEXT:    stw r15, 284(r1) # 4-byte Folded Spill
1641 ; BE-32BIT-P9-PRIV-NEXT:    stxv v23, 128(r1) # 16-byte Folded Spill
1642 ; BE-32BIT-P9-PRIV-NEXT:    stw r16, 288(r1) # 4-byte Folded Spill
1643 ; BE-32BIT-P9-PRIV-NEXT:    stxv v24, 144(r1) # 16-byte Folded Spill
1644 ; BE-32BIT-P9-PRIV-NEXT:    stw r17, 292(r1) # 4-byte Folded Spill
1645 ; BE-32BIT-P9-PRIV-NEXT:    stxv v25, 160(r1) # 16-byte Folded Spill
1646 ; BE-32BIT-P9-PRIV-NEXT:    stw r18, 296(r1) # 4-byte Folded Spill
1647 ; BE-32BIT-P9-PRIV-NEXT:    stw r19, 300(r1) # 4-byte Folded Spill
1648 ; BE-32BIT-P9-PRIV-NEXT:    stxv v26, 176(r1) # 16-byte Folded Spill
1649 ; BE-32BIT-P9-PRIV-NEXT:    stw r20, 304(r1) # 4-byte Folded Spill
1650 ; BE-32BIT-P9-PRIV-NEXT:    stxv v27, 192(r1) # 16-byte Folded Spill
1651 ; BE-32BIT-P9-PRIV-NEXT:    stw r21, 308(r1) # 4-byte Folded Spill
1652 ; BE-32BIT-P9-PRIV-NEXT:    stxv v28, 208(r1) # 16-byte Folded Spill
1653 ; BE-32BIT-P9-PRIV-NEXT:    stw r22, 312(r1) # 4-byte Folded Spill
1654 ; BE-32BIT-P9-PRIV-NEXT:    stw r23, 316(r1) # 4-byte Folded Spill
1655 ; BE-32BIT-P9-PRIV-NEXT:    stxv v29, 224(r1) # 16-byte Folded Spill
1656 ; BE-32BIT-P9-PRIV-NEXT:    stw r24, 320(r1) # 4-byte Folded Spill
1657 ; BE-32BIT-P9-PRIV-NEXT:    stxv v30, 240(r1) # 16-byte Folded Spill
1658 ; BE-32BIT-P9-PRIV-NEXT:    stw r25, 324(r1) # 4-byte Folded Spill
1659 ; BE-32BIT-P9-PRIV-NEXT:    stxv v31, 256(r1) # 16-byte Folded Spill
1660 ; BE-32BIT-P9-PRIV-NEXT:    stw r26, 328(r1) # 4-byte Folded Spill
1661 ; BE-32BIT-P9-PRIV-NEXT:    stw r27, 332(r1) # 4-byte Folded Spill
1662 ; BE-32BIT-P9-PRIV-NEXT:    stw r28, 336(r1) # 4-byte Folded Spill
1663 ; BE-32BIT-P9-PRIV-NEXT:    stw r29, 340(r1) # 4-byte Folded Spill
1664 ; BE-32BIT-P9-PRIV-NEXT:    stw r30, 344(r1) # 4-byte Folded Spill
1665 ; BE-32BIT-P9-PRIV-NEXT:    stw r31, 348(r1) # 4-byte Folded Spill
1666 ; BE-32BIT-P9-PRIV-NEXT:    stfd f14, 352(r1) # 8-byte Folded Spill
1667 ; BE-32BIT-P9-PRIV-NEXT:    stfd f15, 360(r1) # 8-byte Folded Spill
1668 ; BE-32BIT-P9-PRIV-NEXT:    stfd f16, 368(r1) # 8-byte Folded Spill
1669 ; BE-32BIT-P9-PRIV-NEXT:    stfd f17, 376(r1) # 8-byte Folded Spill
1670 ; BE-32BIT-P9-PRIV-NEXT:    stfd f18, 384(r1) # 8-byte Folded Spill
1671 ; BE-32BIT-P9-PRIV-NEXT:    stfd f19, 392(r1) # 8-byte Folded Spill
1672 ; BE-32BIT-P9-PRIV-NEXT:    stfd f20, 400(r1) # 8-byte Folded Spill
1673 ; BE-32BIT-P9-PRIV-NEXT:    stfd f21, 408(r1) # 8-byte Folded Spill
1674 ; BE-32BIT-P9-PRIV-NEXT:    stfd f22, 416(r1) # 8-byte Folded Spill
1675 ; BE-32BIT-P9-PRIV-NEXT:    stfd f23, 424(r1) # 8-byte Folded Spill
1676 ; BE-32BIT-P9-PRIV-NEXT:    stfd f24, 432(r1) # 8-byte Folded Spill
1677 ; BE-32BIT-P9-PRIV-NEXT:    stfd f25, 440(r1) # 8-byte Folded Spill
1678 ; BE-32BIT-P9-PRIV-NEXT:    stfd f26, 448(r1) # 8-byte Folded Spill
1679 ; BE-32BIT-P9-PRIV-NEXT:    stfd f27, 456(r1) # 8-byte Folded Spill
1680 ; BE-32BIT-P9-PRIV-NEXT:    stfd f28, 464(r1) # 8-byte Folded Spill
1681 ; BE-32BIT-P9-PRIV-NEXT:    stfd f29, 472(r1) # 8-byte Folded Spill
1682 ; BE-32BIT-P9-PRIV-NEXT:    stfd f30, 480(r1) # 8-byte Folded Spill
1683 ; BE-32BIT-P9-PRIV-NEXT:    stfd f31, 488(r1) # 8-byte Folded Spill
1684 ; BE-32BIT-P9-PRIV-NEXT:    stw r3, 64(r1) # 4-byte Folded Spill
1685 ; BE-32BIT-P9-PRIV-NEXT:    stw r4, 68(r1)
1686 ; BE-32BIT-P9-PRIV-NEXT:    #APP
1687 ; BE-32BIT-P9-PRIV-NEXT:    nop
1688 ; BE-32BIT-P9-PRIV-NEXT:    #NO_APP
1689 ; BE-32BIT-P9-PRIV-NEXT:    addi r3, r1, 68
1690 ; BE-32BIT-P9-PRIV-NEXT:    bl .callee2[PR]
1691 ; BE-32BIT-P9-PRIV-NEXT:    nop
1692 ; BE-32BIT-P9-PRIV-NEXT:    lwz r4, 64(r1) # 4-byte Folded Reload
1693 ; BE-32BIT-P9-PRIV-NEXT:    lxv v31, 256(r1) # 16-byte Folded Reload
1694 ; BE-32BIT-P9-PRIV-NEXT:    lxv v30, 240(r1) # 16-byte Folded Reload
1695 ; BE-32BIT-P9-PRIV-NEXT:    lxv v29, 224(r1) # 16-byte Folded Reload
1696 ; BE-32BIT-P9-PRIV-NEXT:    lxv v28, 208(r1) # 16-byte Folded Reload
1697 ; BE-32BIT-P9-PRIV-NEXT:    lxv v27, 192(r1) # 16-byte Folded Reload
1698 ; BE-32BIT-P9-PRIV-NEXT:    lxv v26, 176(r1) # 16-byte Folded Reload
1699 ; BE-32BIT-P9-PRIV-NEXT:    lxv v25, 160(r1) # 16-byte Folded Reload
1700 ; BE-32BIT-P9-PRIV-NEXT:    lxv v24, 144(r1) # 16-byte Folded Reload
1701 ; BE-32BIT-P9-PRIV-NEXT:    lxv v23, 128(r1) # 16-byte Folded Reload
1702 ; BE-32BIT-P9-PRIV-NEXT:    lxv v22, 112(r1) # 16-byte Folded Reload
1703 ; BE-32BIT-P9-PRIV-NEXT:    lxv v21, 96(r1) # 16-byte Folded Reload
1704 ; BE-32BIT-P9-PRIV-NEXT:    lxv v20, 80(r1) # 16-byte Folded Reload
1705 ; BE-32BIT-P9-PRIV-NEXT:    lfd f31, 488(r1) # 8-byte Folded Reload
1706 ; BE-32BIT-P9-PRIV-NEXT:    lfd f30, 480(r1) # 8-byte Folded Reload
1707 ; BE-32BIT-P9-PRIV-NEXT:    lfd f29, 472(r1) # 8-byte Folded Reload
1708 ; BE-32BIT-P9-PRIV-NEXT:    lfd f28, 464(r1) # 8-byte Folded Reload
1709 ; BE-32BIT-P9-PRIV-NEXT:    lfd f27, 456(r1) # 8-byte Folded Reload
1710 ; BE-32BIT-P9-PRIV-NEXT:    lwz r31, 348(r1) # 4-byte Folded Reload
1711 ; BE-32BIT-P9-PRIV-NEXT:    lwz r30, 344(r1) # 4-byte Folded Reload
1712 ; BE-32BIT-P9-PRIV-NEXT:    lwz r29, 340(r1) # 4-byte Folded Reload
1713 ; BE-32BIT-P9-PRIV-NEXT:    lfd f26, 448(r1) # 8-byte Folded Reload
1714 ; BE-32BIT-P9-PRIV-NEXT:    lwz r28, 336(r1) # 4-byte Folded Reload
1715 ; BE-32BIT-P9-PRIV-NEXT:    lwz r27, 332(r1) # 4-byte Folded Reload
1716 ; BE-32BIT-P9-PRIV-NEXT:    lwz r26, 328(r1) # 4-byte Folded Reload
1717 ; BE-32BIT-P9-PRIV-NEXT:    lfd f25, 440(r1) # 8-byte Folded Reload
1718 ; BE-32BIT-P9-PRIV-NEXT:    lwz r25, 324(r1) # 4-byte Folded Reload
1719 ; BE-32BIT-P9-PRIV-NEXT:    lwz r24, 320(r1) # 4-byte Folded Reload
1720 ; BE-32BIT-P9-PRIV-NEXT:    lwz r23, 316(r1) # 4-byte Folded Reload
1721 ; BE-32BIT-P9-PRIV-NEXT:    lfd f24, 432(r1) # 8-byte Folded Reload
1722 ; BE-32BIT-P9-PRIV-NEXT:    lwz r22, 312(r1) # 4-byte Folded Reload
1723 ; BE-32BIT-P9-PRIV-NEXT:    lwz r21, 308(r1) # 4-byte Folded Reload
1724 ; BE-32BIT-P9-PRIV-NEXT:    lwz r4, 16(r4)
1725 ; BE-32BIT-P9-PRIV-NEXT:    add r3, r4, r3
1726 ; BE-32BIT-P9-PRIV-NEXT:    lfd f23, 424(r1) # 8-byte Folded Reload
1727 ; BE-32BIT-P9-PRIV-NEXT:    lfd f22, 416(r1) # 8-byte Folded Reload
1728 ; BE-32BIT-P9-PRIV-NEXT:    lwz r20, 304(r1) # 4-byte Folded Reload
1729 ; BE-32BIT-P9-PRIV-NEXT:    lwz r19, 300(r1) # 4-byte Folded Reload
1730 ; BE-32BIT-P9-PRIV-NEXT:    lwz r18, 296(r1) # 4-byte Folded Reload
1731 ; BE-32BIT-P9-PRIV-NEXT:    lwz r17, 292(r1) # 4-byte Folded Reload
1732 ; BE-32BIT-P9-PRIV-NEXT:    lwz r16, 288(r1) # 4-byte Folded Reload
1733 ; BE-32BIT-P9-PRIV-NEXT:    lwz r15, 284(r1) # 4-byte Folded Reload
1734 ; BE-32BIT-P9-PRIV-NEXT:    lwz r14, 280(r1) # 4-byte Folded Reload
1735 ; BE-32BIT-P9-PRIV-NEXT:    lwz r13, 276(r1) # 4-byte Folded Reload
1736 ; BE-32BIT-P9-PRIV-NEXT:    lfd f21, 408(r1) # 8-byte Folded Reload
1737 ; BE-32BIT-P9-PRIV-NEXT:    lfd f20, 400(r1) # 8-byte Folded Reload
1738 ; BE-32BIT-P9-PRIV-NEXT:    lfd f19, 392(r1) # 8-byte Folded Reload
1739 ; BE-32BIT-P9-PRIV-NEXT:    lfd f18, 384(r1) # 8-byte Folded Reload
1740 ; BE-32BIT-P9-PRIV-NEXT:    lfd f17, 376(r1) # 8-byte Folded Reload
1741 ; BE-32BIT-P9-PRIV-NEXT:    lfd f16, 368(r1) # 8-byte Folded Reload
1742 ; BE-32BIT-P9-PRIV-NEXT:    lfd f15, 360(r1) # 8-byte Folded Reload
1743 ; BE-32BIT-P9-PRIV-NEXT:    lfd f14, 352(r1) # 8-byte Folded Reload
1744 ; BE-32BIT-P9-PRIV-NEXT:    addi r1, r1, 496
1745 ; BE-32BIT-P9-PRIV-NEXT:    lwz r0, 8(r1)
1746 ; BE-32BIT-P9-PRIV-NEXT:    lwz r12, 4(r1)
1747 ; BE-32BIT-P9-PRIV-NEXT:    mtlr r0
1748 ; BE-32BIT-P9-PRIV-NEXT:    hashchkp r0, -424(r1)
1749 ; BE-32BIT-P9-PRIV-NEXT:    mtocrf 32, r12
1750 ; BE-32BIT-P9-PRIV-NEXT:    mtocrf 16, r12
1751 ; BE-32BIT-P9-PRIV-NEXT:    mtocrf 8, r12
1752 ; BE-32BIT-P9-PRIV-NEXT:    blr
1754 ; BE-32BIT-P8-PRIV-LABEL: spill:
1755 ; BE-32BIT-P8-PRIV:       # %bb.0: # %entry
1756 ; BE-32BIT-P8-PRIV-NEXT:    mfcr r12
1757 ; BE-32BIT-P8-PRIV-NEXT:    stw r12, 4(r1)
1758 ; BE-32BIT-P8-PRIV-NEXT:    mflr r0
1759 ; BE-32BIT-P8-PRIV-NEXT:    stwu r1, -496(r1)
1760 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 80
1761 ; BE-32BIT-P8-PRIV-NEXT:    stw r0, 504(r1)
1762 ; BE-32BIT-P8-PRIV-NEXT:    hashstp r0, -424(r1)
1763 ; BE-32BIT-P8-PRIV-NEXT:    stw r13, 276(r1) # 4-byte Folded Spill
1764 ; BE-32BIT-P8-PRIV-NEXT:    stw r14, 280(r1) # 4-byte Folded Spill
1765 ; BE-32BIT-P8-PRIV-NEXT:    stw r15, 284(r1) # 4-byte Folded Spill
1766 ; BE-32BIT-P8-PRIV-NEXT:    stw r16, 288(r1) # 4-byte Folded Spill
1767 ; BE-32BIT-P8-PRIV-NEXT:    stw r17, 292(r1) # 4-byte Folded Spill
1768 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
1769 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 96
1770 ; BE-32BIT-P8-PRIV-NEXT:    stw r18, 296(r1) # 4-byte Folded Spill
1771 ; BE-32BIT-P8-PRIV-NEXT:    stw r19, 300(r1) # 4-byte Folded Spill
1772 ; BE-32BIT-P8-PRIV-NEXT:    stw r20, 304(r1) # 4-byte Folded Spill
1773 ; BE-32BIT-P8-PRIV-NEXT:    stw r21, 308(r1) # 4-byte Folded Spill
1774 ; BE-32BIT-P8-PRIV-NEXT:    stw r22, 312(r1) # 4-byte Folded Spill
1775 ; BE-32BIT-P8-PRIV-NEXT:    stw r23, 316(r1) # 4-byte Folded Spill
1776 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
1777 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 112
1778 ; BE-32BIT-P8-PRIV-NEXT:    stw r24, 320(r1) # 4-byte Folded Spill
1779 ; BE-32BIT-P8-PRIV-NEXT:    stw r25, 324(r1) # 4-byte Folded Spill
1780 ; BE-32BIT-P8-PRIV-NEXT:    stw r26, 328(r1) # 4-byte Folded Spill
1781 ; BE-32BIT-P8-PRIV-NEXT:    stw r27, 332(r1) # 4-byte Folded Spill
1782 ; BE-32BIT-P8-PRIV-NEXT:    stw r28, 336(r1) # 4-byte Folded Spill
1783 ; BE-32BIT-P8-PRIV-NEXT:    stw r29, 340(r1) # 4-byte Folded Spill
1784 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
1785 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 128
1786 ; BE-32BIT-P8-PRIV-NEXT:    stw r30, 344(r1) # 4-byte Folded Spill
1787 ; BE-32BIT-P8-PRIV-NEXT:    stw r31, 348(r1) # 4-byte Folded Spill
1788 ; BE-32BIT-P8-PRIV-NEXT:    stfd f14, 352(r1) # 8-byte Folded Spill
1789 ; BE-32BIT-P8-PRIV-NEXT:    stfd f15, 360(r1) # 8-byte Folded Spill
1790 ; BE-32BIT-P8-PRIV-NEXT:    stfd f16, 368(r1) # 8-byte Folded Spill
1791 ; BE-32BIT-P8-PRIV-NEXT:    stfd f17, 376(r1) # 8-byte Folded Spill
1792 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
1793 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 144
1794 ; BE-32BIT-P8-PRIV-NEXT:    stfd f18, 384(r1) # 8-byte Folded Spill
1795 ; BE-32BIT-P8-PRIV-NEXT:    stfd f19, 392(r1) # 8-byte Folded Spill
1796 ; BE-32BIT-P8-PRIV-NEXT:    stfd f20, 400(r1) # 8-byte Folded Spill
1797 ; BE-32BIT-P8-PRIV-NEXT:    stfd f21, 408(r1) # 8-byte Folded Spill
1798 ; BE-32BIT-P8-PRIV-NEXT:    stfd f22, 416(r1) # 8-byte Folded Spill
1799 ; BE-32BIT-P8-PRIV-NEXT:    stfd f23, 424(r1) # 8-byte Folded Spill
1800 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
1801 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 160
1802 ; BE-32BIT-P8-PRIV-NEXT:    stfd f24, 432(r1) # 8-byte Folded Spill
1803 ; BE-32BIT-P8-PRIV-NEXT:    stfd f25, 440(r1) # 8-byte Folded Spill
1804 ; BE-32BIT-P8-PRIV-NEXT:    stfd f26, 448(r1) # 8-byte Folded Spill
1805 ; BE-32BIT-P8-PRIV-NEXT:    stfd f27, 456(r1) # 8-byte Folded Spill
1806 ; BE-32BIT-P8-PRIV-NEXT:    stfd f28, 464(r1) # 8-byte Folded Spill
1807 ; BE-32BIT-P8-PRIV-NEXT:    stfd f29, 472(r1) # 8-byte Folded Spill
1808 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
1809 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 176
1810 ; BE-32BIT-P8-PRIV-NEXT:    stfd f30, 480(r1) # 8-byte Folded Spill
1811 ; BE-32BIT-P8-PRIV-NEXT:    stfd f31, 488(r1) # 8-byte Folded Spill
1812 ; BE-32BIT-P8-PRIV-NEXT:    stw r3, 64(r1) # 4-byte Folded Spill
1813 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
1814 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 192
1815 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
1816 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 208
1817 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
1818 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 224
1819 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
1820 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 240
1821 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
1822 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 256
1823 ; BE-32BIT-P8-PRIV-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
1824 ; BE-32BIT-P8-PRIV-NEXT:    lwz r4, 12(r3)
1825 ; BE-32BIT-P8-PRIV-NEXT:    stw r4, 68(r1)
1826 ; BE-32BIT-P8-PRIV-NEXT:    #APP
1827 ; BE-32BIT-P8-PRIV-NEXT:    nop
1828 ; BE-32BIT-P8-PRIV-NEXT:    #NO_APP
1829 ; BE-32BIT-P8-PRIV-NEXT:    addi r3, r1, 68
1830 ; BE-32BIT-P8-PRIV-NEXT:    bl .callee2[PR]
1831 ; BE-32BIT-P8-PRIV-NEXT:    nop
1832 ; BE-32BIT-P8-PRIV-NEXT:    lwz r4, 64(r1) # 4-byte Folded Reload
1833 ; BE-32BIT-P8-PRIV-NEXT:    lfd f31, 488(r1) # 8-byte Folded Reload
1834 ; BE-32BIT-P8-PRIV-NEXT:    lfd f30, 480(r1) # 8-byte Folded Reload
1835 ; BE-32BIT-P8-PRIV-NEXT:    lwz r31, 348(r1) # 4-byte Folded Reload
1836 ; BE-32BIT-P8-PRIV-NEXT:    lfd f29, 472(r1) # 8-byte Folded Reload
1837 ; BE-32BIT-P8-PRIV-NEXT:    lfd f28, 464(r1) # 8-byte Folded Reload
1838 ; BE-32BIT-P8-PRIV-NEXT:    lwz r30, 344(r1) # 4-byte Folded Reload
1839 ; BE-32BIT-P8-PRIV-NEXT:    lwz r29, 340(r1) # 4-byte Folded Reload
1840 ; BE-32BIT-P8-PRIV-NEXT:    lfd f27, 456(r1) # 8-byte Folded Reload
1841 ; BE-32BIT-P8-PRIV-NEXT:    lfd f26, 448(r1) # 8-byte Folded Reload
1842 ; BE-32BIT-P8-PRIV-NEXT:    lwz r28, 336(r1) # 4-byte Folded Reload
1843 ; BE-32BIT-P8-PRIV-NEXT:    lwz r27, 332(r1) # 4-byte Folded Reload
1844 ; BE-32BIT-P8-PRIV-NEXT:    lwz r4, 16(r4)
1845 ; BE-32BIT-P8-PRIV-NEXT:    lfd f25, 440(r1) # 8-byte Folded Reload
1846 ; BE-32BIT-P8-PRIV-NEXT:    lfd f24, 432(r1) # 8-byte Folded Reload
1847 ; BE-32BIT-P8-PRIV-NEXT:    lwz r26, 328(r1) # 4-byte Folded Reload
1848 ; BE-32BIT-P8-PRIV-NEXT:    lfd f23, 424(r1) # 8-byte Folded Reload
1849 ; BE-32BIT-P8-PRIV-NEXT:    lfd f22, 416(r1) # 8-byte Folded Reload
1850 ; BE-32BIT-P8-PRIV-NEXT:    lwz r25, 324(r1) # 4-byte Folded Reload
1851 ; BE-32BIT-P8-PRIV-NEXT:    lwz r24, 320(r1) # 4-byte Folded Reload
1852 ; BE-32BIT-P8-PRIV-NEXT:    lfd f21, 408(r1) # 8-byte Folded Reload
1853 ; BE-32BIT-P8-PRIV-NEXT:    lfd f20, 400(r1) # 8-byte Folded Reload
1854 ; BE-32BIT-P8-PRIV-NEXT:    lwz r23, 316(r1) # 4-byte Folded Reload
1855 ; BE-32BIT-P8-PRIV-NEXT:    lwz r22, 312(r1) # 4-byte Folded Reload
1856 ; BE-32BIT-P8-PRIV-NEXT:    add r3, r4, r3
1857 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 256
1858 ; BE-32BIT-P8-PRIV-NEXT:    lfd f19, 392(r1) # 8-byte Folded Reload
1859 ; BE-32BIT-P8-PRIV-NEXT:    lfd f18, 384(r1) # 8-byte Folded Reload
1860 ; BE-32BIT-P8-PRIV-NEXT:    lfd f17, 376(r1) # 8-byte Folded Reload
1861 ; BE-32BIT-P8-PRIV-NEXT:    lfd f16, 368(r1) # 8-byte Folded Reload
1862 ; BE-32BIT-P8-PRIV-NEXT:    lwz r21, 308(r1) # 4-byte Folded Reload
1863 ; BE-32BIT-P8-PRIV-NEXT:    lwz r20, 304(r1) # 4-byte Folded Reload
1864 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
1865 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 240
1866 ; BE-32BIT-P8-PRIV-NEXT:    lfd f15, 360(r1) # 8-byte Folded Reload
1867 ; BE-32BIT-P8-PRIV-NEXT:    lwz r19, 300(r1) # 4-byte Folded Reload
1868 ; BE-32BIT-P8-PRIV-NEXT:    lfd f14, 352(r1) # 8-byte Folded Reload
1869 ; BE-32BIT-P8-PRIV-NEXT:    lwz r18, 296(r1) # 4-byte Folded Reload
1870 ; BE-32BIT-P8-PRIV-NEXT:    lwz r17, 292(r1) # 4-byte Folded Reload
1871 ; BE-32BIT-P8-PRIV-NEXT:    lwz r16, 288(r1) # 4-byte Folded Reload
1872 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
1873 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 224
1874 ; BE-32BIT-P8-PRIV-NEXT:    lwz r15, 284(r1) # 4-byte Folded Reload
1875 ; BE-32BIT-P8-PRIV-NEXT:    lwz r14, 280(r1) # 4-byte Folded Reload
1876 ; BE-32BIT-P8-PRIV-NEXT:    lwz r13, 276(r1) # 4-byte Folded Reload
1877 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
1878 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 208
1879 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
1880 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 192
1881 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
1882 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 176
1883 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
1884 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 160
1885 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
1886 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 144
1887 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
1888 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 128
1889 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
1890 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 112
1891 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
1892 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 96
1893 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
1894 ; BE-32BIT-P8-PRIV-NEXT:    li r4, 80
1895 ; BE-32BIT-P8-PRIV-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
1896 ; BE-32BIT-P8-PRIV-NEXT:    addi r1, r1, 496
1897 ; BE-32BIT-P8-PRIV-NEXT:    lwz r0, 8(r1)
1898 ; BE-32BIT-P8-PRIV-NEXT:    lwz r12, 4(r1)
1899 ; BE-32BIT-P8-PRIV-NEXT:    hashchkp r0, -424(r1)
1900 ; BE-32BIT-P8-PRIV-NEXT:    mtlr r0
1901 ; BE-32BIT-P8-PRIV-NEXT:    mtocrf 32, r12
1902 ; BE-32BIT-P8-PRIV-NEXT:    mtocrf 16, r12
1903 ; BE-32BIT-P8-PRIV-NEXT:    mtocrf 8, r12
1904 ; BE-32BIT-P8-PRIV-NEXT:    blr
1905 entry:
1906   %local = alloca i32, align 4
1907   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
1908   %arrayidx = getelementptr inbounds i32, ptr %in, i64 3
1909   %0 = load i32, ptr %arrayidx, align 4
1910   store i32 %0, ptr %local, align 4
1911   tail call void asm sideeffect "nop", "~{cr2},~{cr3},~{cr4},~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{r13},~{r14},~{r15},~{r16},~{r17},~{r18},~{r19},~{r20},~{r21},~{r22},~{r23},~{r24},~{r25},~{r26},~{r27},~{r28},~{r29},~{r30},~{r31},~{f14},~{f15},~{f16},~{f17},~{f18},~{f19},~{f20},~{f21},~{f22},~{f23},~{f24},~{f25},~{f26},~{f27},~{f28},~{f29},~{f30},~{f31},~{v20},~{v21},~{v22},~{v23},~{v24},~{v25},~{v26},~{v27},~{v28},~{v29},~{v30},~{v31}"()
1912   %call = call zeroext i32 @callee2(ptr nonnull %local)
1913   %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4
1914   %1 = load i32, ptr %arrayidx1, align 4
1915   %add = add i32 %1, %call
1916   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
1917   ret i32 %add
1920 define dso_local zeroext i32 @shrinkwrap(ptr readonly %in) #0 {
1921 ; BE-P10-LABEL: shrinkwrap:
1922 ; BE-P10:       # %bb.0: # %entry
1923 ; BE-P10-NEXT:    cmpldi r3, 0
1924 ; BE-P10-NEXT:    beq cr0, L..BB2_2
1925 ; BE-P10-NEXT:  # %bb.1: # %if.end
1926 ; BE-P10-NEXT:    mflr r0
1927 ; BE-P10-NEXT:    std r0, 16(r1)
1928 ; BE-P10-NEXT:    hashst r0, -16(r1)
1929 ; BE-P10-NEXT:    stdu r1, -144(r1)
1930 ; BE-P10-NEXT:    lwz r4, 12(r3)
1931 ; BE-P10-NEXT:    std r31, 136(r1) # 8-byte Folded Spill
1932 ; BE-P10-NEXT:    mr r31, r3
1933 ; BE-P10-NEXT:    stw r4, 124(r1)
1934 ; BE-P10-NEXT:    addi r4, r1, 124
1935 ; BE-P10-NEXT:    mr r3, r4
1936 ; BE-P10-NEXT:    bl .callee2[PR]
1937 ; BE-P10-NEXT:    nop
1938 ; BE-P10-NEXT:    lwz r4, 16(r31)
1939 ; BE-P10-NEXT:    ld r31, 136(r1) # 8-byte Folded Reload
1940 ; BE-P10-NEXT:    add r3, r4, r3
1941 ; BE-P10-NEXT:    addi r1, r1, 144
1942 ; BE-P10-NEXT:    ld r0, 16(r1)
1943 ; BE-P10-NEXT:    clrldi r3, r3, 32
1944 ; BE-P10-NEXT:    hashchk r0, -16(r1)
1945 ; BE-P10-NEXT:    mtlr r0
1946 ; BE-P10-NEXT:    blr
1947 ; BE-P10-NEXT:  L..BB2_2:
1948 ; BE-P10-NEXT:    li r3, 0
1949 ; BE-P10-NEXT:    blr
1951 ; BE-P9-LABEL: shrinkwrap:
1952 ; BE-P9:       # %bb.0: # %entry
1953 ; BE-P9-NEXT:    cmpldi r3, 0
1954 ; BE-P9-NEXT:    beq cr0, L..BB2_2
1955 ; BE-P9-NEXT:  # %bb.1: # %if.end
1956 ; BE-P9-NEXT:    mflr r0
1957 ; BE-P9-NEXT:    stdu r1, -144(r1)
1958 ; BE-P9-NEXT:    std r0, 160(r1)
1959 ; BE-P9-NEXT:    hashst r0, -16(r1)
1960 ; BE-P9-NEXT:    std r31, 136(r1) # 8-byte Folded Spill
1961 ; BE-P9-NEXT:    mr r31, r3
1962 ; BE-P9-NEXT:    lwz r4, 12(r3)
1963 ; BE-P9-NEXT:    stw r4, 124(r1)
1964 ; BE-P9-NEXT:    addi r4, r1, 124
1965 ; BE-P9-NEXT:    mr r3, r4
1966 ; BE-P9-NEXT:    bl .callee2[PR]
1967 ; BE-P9-NEXT:    nop
1968 ; BE-P9-NEXT:    lwz r4, 16(r31)
1969 ; BE-P9-NEXT:    ld r31, 136(r1) # 8-byte Folded Reload
1970 ; BE-P9-NEXT:    add r3, r4, r3
1971 ; BE-P9-NEXT:    addi r1, r1, 144
1972 ; BE-P9-NEXT:    ld r0, 16(r1)
1973 ; BE-P9-NEXT:    clrldi r3, r3, 32
1974 ; BE-P9-NEXT:    mtlr r0
1975 ; BE-P9-NEXT:    hashchk r0, -16(r1)
1976 ; BE-P9-NEXT:    blr
1977 ; BE-P9-NEXT:  L..BB2_2:
1978 ; BE-P9-NEXT:    li r3, 0
1979 ; BE-P9-NEXT:    blr
1981 ; BE-P8-LABEL: shrinkwrap:
1982 ; BE-P8:       # %bb.0: # %entry
1983 ; BE-P8-NEXT:    cmpldi r3, 0
1984 ; BE-P8-NEXT:    beq cr0, L..BB2_2
1985 ; BE-P8-NEXT:  # %bb.1: # %if.end
1986 ; BE-P8-NEXT:    mflr r0
1987 ; BE-P8-NEXT:    stdu r1, -144(r1)
1988 ; BE-P8-NEXT:    std r0, 160(r1)
1989 ; BE-P8-NEXT:    hashst r0, -16(r1)
1990 ; BE-P8-NEXT:    std r31, 136(r1) # 8-byte Folded Spill
1991 ; BE-P8-NEXT:    mr r31, r3
1992 ; BE-P8-NEXT:    lwz r4, 12(r3)
1993 ; BE-P8-NEXT:    stw r4, 124(r1)
1994 ; BE-P8-NEXT:    addi r4, r1, 124
1995 ; BE-P8-NEXT:    mr r3, r4
1996 ; BE-P8-NEXT:    bl .callee2[PR]
1997 ; BE-P8-NEXT:    nop
1998 ; BE-P8-NEXT:    lwz r4, 16(r31)
1999 ; BE-P8-NEXT:    ld r31, 136(r1) # 8-byte Folded Reload
2000 ; BE-P8-NEXT:    add r3, r4, r3
2001 ; BE-P8-NEXT:    addi r1, r1, 144
2002 ; BE-P8-NEXT:    ld r0, 16(r1)
2003 ; BE-P8-NEXT:    clrldi r3, r3, 32
2004 ; BE-P8-NEXT:    hashchk r0, -16(r1)
2005 ; BE-P8-NEXT:    mtlr r0
2006 ; BE-P8-NEXT:    blr
2007 ; BE-P8-NEXT:  L..BB2_2:
2008 ; BE-P8-NEXT:    li r3, 0
2009 ; BE-P8-NEXT:    blr
2011 ; BE-32BIT-P10-LABEL: shrinkwrap:
2012 ; BE-32BIT-P10:       # %bb.0: # %entry
2013 ; BE-32BIT-P10-NEXT:    cmplwi r3, 0
2014 ; BE-32BIT-P10-NEXT:    beq cr0, L..BB2_2
2015 ; BE-32BIT-P10-NEXT:  # %bb.1: # %if.end
2016 ; BE-32BIT-P10-NEXT:    mflr r0
2017 ; BE-32BIT-P10-NEXT:    stw r0, 8(r1)
2018 ; BE-32BIT-P10-NEXT:    hashst r0, -16(r1)
2019 ; BE-32BIT-P10-NEXT:    stwu r1, -80(r1)
2020 ; BE-32BIT-P10-NEXT:    lwz r4, 12(r3)
2021 ; BE-32BIT-P10-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
2022 ; BE-32BIT-P10-NEXT:    mr r31, r3
2023 ; BE-32BIT-P10-NEXT:    stw r4, 60(r1)
2024 ; BE-32BIT-P10-NEXT:    addi r4, r1, 60
2025 ; BE-32BIT-P10-NEXT:    mr r3, r4
2026 ; BE-32BIT-P10-NEXT:    bl .callee2[PR]
2027 ; BE-32BIT-P10-NEXT:    nop
2028 ; BE-32BIT-P10-NEXT:    lwz r4, 16(r31)
2029 ; BE-32BIT-P10-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
2030 ; BE-32BIT-P10-NEXT:    add r3, r4, r3
2031 ; BE-32BIT-P10-NEXT:    addi r1, r1, 80
2032 ; BE-32BIT-P10-NEXT:    lwz r0, 8(r1)
2033 ; BE-32BIT-P10-NEXT:    hashchk r0, -16(r1)
2034 ; BE-32BIT-P10-NEXT:    mtlr r0
2035 ; BE-32BIT-P10-NEXT:    blr
2036 ; BE-32BIT-P10-NEXT:  L..BB2_2:
2037 ; BE-32BIT-P10-NEXT:    li r3, 0
2038 ; BE-32BIT-P10-NEXT:    blr
2040 ; BE-32BIT-P9-LABEL: shrinkwrap:
2041 ; BE-32BIT-P9:       # %bb.0: # %entry
2042 ; BE-32BIT-P9-NEXT:    cmplwi r3, 0
2043 ; BE-32BIT-P9-NEXT:    beq cr0, L..BB2_2
2044 ; BE-32BIT-P9-NEXT:  # %bb.1: # %if.end
2045 ; BE-32BIT-P9-NEXT:    mflr r0
2046 ; BE-32BIT-P9-NEXT:    stwu r1, -80(r1)
2047 ; BE-32BIT-P9-NEXT:    stw r0, 88(r1)
2048 ; BE-32BIT-P9-NEXT:    hashst r0, -16(r1)
2049 ; BE-32BIT-P9-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
2050 ; BE-32BIT-P9-NEXT:    mr r31, r3
2051 ; BE-32BIT-P9-NEXT:    lwz r4, 12(r3)
2052 ; BE-32BIT-P9-NEXT:    stw r4, 60(r1)
2053 ; BE-32BIT-P9-NEXT:    addi r4, r1, 60
2054 ; BE-32BIT-P9-NEXT:    mr r3, r4
2055 ; BE-32BIT-P9-NEXT:    bl .callee2[PR]
2056 ; BE-32BIT-P9-NEXT:    nop
2057 ; BE-32BIT-P9-NEXT:    lwz r4, 16(r31)
2058 ; BE-32BIT-P9-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
2059 ; BE-32BIT-P9-NEXT:    add r3, r4, r3
2060 ; BE-32BIT-P9-NEXT:    addi r1, r1, 80
2061 ; BE-32BIT-P9-NEXT:    lwz r0, 8(r1)
2062 ; BE-32BIT-P9-NEXT:    mtlr r0
2063 ; BE-32BIT-P9-NEXT:    hashchk r0, -16(r1)
2064 ; BE-32BIT-P9-NEXT:    blr
2065 ; BE-32BIT-P9-NEXT:  L..BB2_2:
2066 ; BE-32BIT-P9-NEXT:    li r3, 0
2067 ; BE-32BIT-P9-NEXT:    blr
2069 ; BE-32BIT-P8-LABEL: shrinkwrap:
2070 ; BE-32BIT-P8:       # %bb.0: # %entry
2071 ; BE-32BIT-P8-NEXT:    cmplwi r3, 0
2072 ; BE-32BIT-P8-NEXT:    beq cr0, L..BB2_2
2073 ; BE-32BIT-P8-NEXT:  # %bb.1: # %if.end
2074 ; BE-32BIT-P8-NEXT:    mflr r0
2075 ; BE-32BIT-P8-NEXT:    stwu r1, -80(r1)
2076 ; BE-32BIT-P8-NEXT:    stw r0, 88(r1)
2077 ; BE-32BIT-P8-NEXT:    hashst r0, -16(r1)
2078 ; BE-32BIT-P8-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
2079 ; BE-32BIT-P8-NEXT:    mr r31, r3
2080 ; BE-32BIT-P8-NEXT:    lwz r4, 12(r3)
2081 ; BE-32BIT-P8-NEXT:    stw r4, 60(r1)
2082 ; BE-32BIT-P8-NEXT:    addi r4, r1, 60
2083 ; BE-32BIT-P8-NEXT:    mr r3, r4
2084 ; BE-32BIT-P8-NEXT:    bl .callee2[PR]
2085 ; BE-32BIT-P8-NEXT:    nop
2086 ; BE-32BIT-P8-NEXT:    lwz r4, 16(r31)
2087 ; BE-32BIT-P8-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
2088 ; BE-32BIT-P8-NEXT:    add r3, r4, r3
2089 ; BE-32BIT-P8-NEXT:    addi r1, r1, 80
2090 ; BE-32BIT-P8-NEXT:    lwz r0, 8(r1)
2091 ; BE-32BIT-P8-NEXT:    mtlr r0
2092 ; BE-32BIT-P8-NEXT:    hashchk r0, -16(r1)
2093 ; BE-32BIT-P8-NEXT:    blr
2094 ; BE-32BIT-P8-NEXT:  L..BB2_2:
2095 ; BE-32BIT-P8-NEXT:    li r3, 0
2096 ; BE-32BIT-P8-NEXT:    blr
2098 ; BE-P10-PRIV-LABEL: shrinkwrap:
2099 ; BE-P10-PRIV:       # %bb.0: # %entry
2100 ; BE-P10-PRIV-NEXT:    cmpldi r3, 0
2101 ; BE-P10-PRIV-NEXT:    beq cr0, L..BB2_2
2102 ; BE-P10-PRIV-NEXT:  # %bb.1: # %if.end
2103 ; BE-P10-PRIV-NEXT:    mflr r0
2104 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
2105 ; BE-P10-PRIV-NEXT:    hashstp r0, -16(r1)
2106 ; BE-P10-PRIV-NEXT:    stdu r1, -144(r1)
2107 ; BE-P10-PRIV-NEXT:    lwz r4, 12(r3)
2108 ; BE-P10-PRIV-NEXT:    std r31, 136(r1) # 8-byte Folded Spill
2109 ; BE-P10-PRIV-NEXT:    mr r31, r3
2110 ; BE-P10-PRIV-NEXT:    stw r4, 124(r1)
2111 ; BE-P10-PRIV-NEXT:    addi r4, r1, 124
2112 ; BE-P10-PRIV-NEXT:    mr r3, r4
2113 ; BE-P10-PRIV-NEXT:    bl .callee2[PR]
2114 ; BE-P10-PRIV-NEXT:    nop
2115 ; BE-P10-PRIV-NEXT:    lwz r4, 16(r31)
2116 ; BE-P10-PRIV-NEXT:    ld r31, 136(r1) # 8-byte Folded Reload
2117 ; BE-P10-PRIV-NEXT:    add r3, r4, r3
2118 ; BE-P10-PRIV-NEXT:    addi r1, r1, 144
2119 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
2120 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
2121 ; BE-P10-PRIV-NEXT:    hashchkp r0, -16(r1)
2122 ; BE-P10-PRIV-NEXT:    mtlr r0
2123 ; BE-P10-PRIV-NEXT:    blr
2124 ; BE-P10-PRIV-NEXT:  L..BB2_2:
2125 ; BE-P10-PRIV-NEXT:    li r3, 0
2126 ; BE-P10-PRIV-NEXT:    blr
2128 ; BE-P9-PRIV-LABEL: shrinkwrap:
2129 ; BE-P9-PRIV:       # %bb.0: # %entry
2130 ; BE-P9-PRIV-NEXT:    cmpldi r3, 0
2131 ; BE-P9-PRIV-NEXT:    beq cr0, L..BB2_2
2132 ; BE-P9-PRIV-NEXT:  # %bb.1: # %if.end
2133 ; BE-P9-PRIV-NEXT:    mflr r0
2134 ; BE-P9-PRIV-NEXT:    stdu r1, -144(r1)
2135 ; BE-P9-PRIV-NEXT:    std r0, 160(r1)
2136 ; BE-P9-PRIV-NEXT:    hashstp r0, -16(r1)
2137 ; BE-P9-PRIV-NEXT:    std r31, 136(r1) # 8-byte Folded Spill
2138 ; BE-P9-PRIV-NEXT:    mr r31, r3
2139 ; BE-P9-PRIV-NEXT:    lwz r4, 12(r3)
2140 ; BE-P9-PRIV-NEXT:    stw r4, 124(r1)
2141 ; BE-P9-PRIV-NEXT:    addi r4, r1, 124
2142 ; BE-P9-PRIV-NEXT:    mr r3, r4
2143 ; BE-P9-PRIV-NEXT:    bl .callee2[PR]
2144 ; BE-P9-PRIV-NEXT:    nop
2145 ; BE-P9-PRIV-NEXT:    lwz r4, 16(r31)
2146 ; BE-P9-PRIV-NEXT:    ld r31, 136(r1) # 8-byte Folded Reload
2147 ; BE-P9-PRIV-NEXT:    add r3, r4, r3
2148 ; BE-P9-PRIV-NEXT:    addi r1, r1, 144
2149 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
2150 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
2151 ; BE-P9-PRIV-NEXT:    mtlr r0
2152 ; BE-P9-PRIV-NEXT:    hashchkp r0, -16(r1)
2153 ; BE-P9-PRIV-NEXT:    blr
2154 ; BE-P9-PRIV-NEXT:  L..BB2_2:
2155 ; BE-P9-PRIV-NEXT:    li r3, 0
2156 ; BE-P9-PRIV-NEXT:    blr
2158 ; BE-P8-PRIV-LABEL: shrinkwrap:
2159 ; BE-P8-PRIV:       # %bb.0: # %entry
2160 ; BE-P8-PRIV-NEXT:    cmpldi r3, 0
2161 ; BE-P8-PRIV-NEXT:    beq cr0, L..BB2_2
2162 ; BE-P8-PRIV-NEXT:  # %bb.1: # %if.end
2163 ; BE-P8-PRIV-NEXT:    mflr r0
2164 ; BE-P8-PRIV-NEXT:    stdu r1, -144(r1)
2165 ; BE-P8-PRIV-NEXT:    std r0, 160(r1)
2166 ; BE-P8-PRIV-NEXT:    hashstp r0, -16(r1)
2167 ; BE-P8-PRIV-NEXT:    std r31, 136(r1) # 8-byte Folded Spill
2168 ; BE-P8-PRIV-NEXT:    mr r31, r3
2169 ; BE-P8-PRIV-NEXT:    lwz r4, 12(r3)
2170 ; BE-P8-PRIV-NEXT:    stw r4, 124(r1)
2171 ; BE-P8-PRIV-NEXT:    addi r4, r1, 124
2172 ; BE-P8-PRIV-NEXT:    mr r3, r4
2173 ; BE-P8-PRIV-NEXT:    bl .callee2[PR]
2174 ; BE-P8-PRIV-NEXT:    nop
2175 ; BE-P8-PRIV-NEXT:    lwz r4, 16(r31)
2176 ; BE-P8-PRIV-NEXT:    ld r31, 136(r1) # 8-byte Folded Reload
2177 ; BE-P8-PRIV-NEXT:    add r3, r4, r3
2178 ; BE-P8-PRIV-NEXT:    addi r1, r1, 144
2179 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
2180 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
2181 ; BE-P8-PRIV-NEXT:    hashchkp r0, -16(r1)
2182 ; BE-P8-PRIV-NEXT:    mtlr r0
2183 ; BE-P8-PRIV-NEXT:    blr
2184 ; BE-P8-PRIV-NEXT:  L..BB2_2:
2185 ; BE-P8-PRIV-NEXT:    li r3, 0
2186 ; BE-P8-PRIV-NEXT:    blr
2188 ; BE-32BIT-P10-PRIV-LABEL: shrinkwrap:
2189 ; BE-32BIT-P10-PRIV:       # %bb.0: # %entry
2190 ; BE-32BIT-P10-PRIV-NEXT:    cmplwi r3, 0
2191 ; BE-32BIT-P10-PRIV-NEXT:    beq cr0, L..BB2_2
2192 ; BE-32BIT-P10-PRIV-NEXT:  # %bb.1: # %if.end
2193 ; BE-32BIT-P10-PRIV-NEXT:    mflr r0
2194 ; BE-32BIT-P10-PRIV-NEXT:    stw r0, 8(r1)
2195 ; BE-32BIT-P10-PRIV-NEXT:    hashstp r0, -16(r1)
2196 ; BE-32BIT-P10-PRIV-NEXT:    stwu r1, -80(r1)
2197 ; BE-32BIT-P10-PRIV-NEXT:    lwz r4, 12(r3)
2198 ; BE-32BIT-P10-PRIV-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
2199 ; BE-32BIT-P10-PRIV-NEXT:    mr r31, r3
2200 ; BE-32BIT-P10-PRIV-NEXT:    stw r4, 60(r1)
2201 ; BE-32BIT-P10-PRIV-NEXT:    addi r4, r1, 60
2202 ; BE-32BIT-P10-PRIV-NEXT:    mr r3, r4
2203 ; BE-32BIT-P10-PRIV-NEXT:    bl .callee2[PR]
2204 ; BE-32BIT-P10-PRIV-NEXT:    nop
2205 ; BE-32BIT-P10-PRIV-NEXT:    lwz r4, 16(r31)
2206 ; BE-32BIT-P10-PRIV-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
2207 ; BE-32BIT-P10-PRIV-NEXT:    add r3, r4, r3
2208 ; BE-32BIT-P10-PRIV-NEXT:    addi r1, r1, 80
2209 ; BE-32BIT-P10-PRIV-NEXT:    lwz r0, 8(r1)
2210 ; BE-32BIT-P10-PRIV-NEXT:    hashchkp r0, -16(r1)
2211 ; BE-32BIT-P10-PRIV-NEXT:    mtlr r0
2212 ; BE-32BIT-P10-PRIV-NEXT:    blr
2213 ; BE-32BIT-P10-PRIV-NEXT:  L..BB2_2:
2214 ; BE-32BIT-P10-PRIV-NEXT:    li r3, 0
2215 ; BE-32BIT-P10-PRIV-NEXT:    blr
2217 ; BE-32BIT-P9-PRIV-LABEL: shrinkwrap:
2218 ; BE-32BIT-P9-PRIV:       # %bb.0: # %entry
2219 ; BE-32BIT-P9-PRIV-NEXT:    cmplwi r3, 0
2220 ; BE-32BIT-P9-PRIV-NEXT:    beq cr0, L..BB2_2
2221 ; BE-32BIT-P9-PRIV-NEXT:  # %bb.1: # %if.end
2222 ; BE-32BIT-P9-PRIV-NEXT:    mflr r0
2223 ; BE-32BIT-P9-PRIV-NEXT:    stwu r1, -80(r1)
2224 ; BE-32BIT-P9-PRIV-NEXT:    stw r0, 88(r1)
2225 ; BE-32BIT-P9-PRIV-NEXT:    hashstp r0, -16(r1)
2226 ; BE-32BIT-P9-PRIV-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
2227 ; BE-32BIT-P9-PRIV-NEXT:    mr r31, r3
2228 ; BE-32BIT-P9-PRIV-NEXT:    lwz r4, 12(r3)
2229 ; BE-32BIT-P9-PRIV-NEXT:    stw r4, 60(r1)
2230 ; BE-32BIT-P9-PRIV-NEXT:    addi r4, r1, 60
2231 ; BE-32BIT-P9-PRIV-NEXT:    mr r3, r4
2232 ; BE-32BIT-P9-PRIV-NEXT:    bl .callee2[PR]
2233 ; BE-32BIT-P9-PRIV-NEXT:    nop
2234 ; BE-32BIT-P9-PRIV-NEXT:    lwz r4, 16(r31)
2235 ; BE-32BIT-P9-PRIV-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
2236 ; BE-32BIT-P9-PRIV-NEXT:    add r3, r4, r3
2237 ; BE-32BIT-P9-PRIV-NEXT:    addi r1, r1, 80
2238 ; BE-32BIT-P9-PRIV-NEXT:    lwz r0, 8(r1)
2239 ; BE-32BIT-P9-PRIV-NEXT:    mtlr r0
2240 ; BE-32BIT-P9-PRIV-NEXT:    hashchkp r0, -16(r1)
2241 ; BE-32BIT-P9-PRIV-NEXT:    blr
2242 ; BE-32BIT-P9-PRIV-NEXT:  L..BB2_2:
2243 ; BE-32BIT-P9-PRIV-NEXT:    li r3, 0
2244 ; BE-32BIT-P9-PRIV-NEXT:    blr
2246 ; BE-32BIT-P8-PRIV-LABEL: shrinkwrap:
2247 ; BE-32BIT-P8-PRIV:       # %bb.0: # %entry
2248 ; BE-32BIT-P8-PRIV-NEXT:    cmplwi r3, 0
2249 ; BE-32BIT-P8-PRIV-NEXT:    beq cr0, L..BB2_2
2250 ; BE-32BIT-P8-PRIV-NEXT:  # %bb.1: # %if.end
2251 ; BE-32BIT-P8-PRIV-NEXT:    mflr r0
2252 ; BE-32BIT-P8-PRIV-NEXT:    stwu r1, -80(r1)
2253 ; BE-32BIT-P8-PRIV-NEXT:    stw r0, 88(r1)
2254 ; BE-32BIT-P8-PRIV-NEXT:    hashstp r0, -16(r1)
2255 ; BE-32BIT-P8-PRIV-NEXT:    stw r31, 76(r1) # 4-byte Folded Spill
2256 ; BE-32BIT-P8-PRIV-NEXT:    mr r31, r3
2257 ; BE-32BIT-P8-PRIV-NEXT:    lwz r4, 12(r3)
2258 ; BE-32BIT-P8-PRIV-NEXT:    stw r4, 60(r1)
2259 ; BE-32BIT-P8-PRIV-NEXT:    addi r4, r1, 60
2260 ; BE-32BIT-P8-PRIV-NEXT:    mr r3, r4
2261 ; BE-32BIT-P8-PRIV-NEXT:    bl .callee2[PR]
2262 ; BE-32BIT-P8-PRIV-NEXT:    nop
2263 ; BE-32BIT-P8-PRIV-NEXT:    lwz r4, 16(r31)
2264 ; BE-32BIT-P8-PRIV-NEXT:    lwz r31, 76(r1) # 4-byte Folded Reload
2265 ; BE-32BIT-P8-PRIV-NEXT:    add r3, r4, r3
2266 ; BE-32BIT-P8-PRIV-NEXT:    addi r1, r1, 80
2267 ; BE-32BIT-P8-PRIV-NEXT:    lwz r0, 8(r1)
2268 ; BE-32BIT-P8-PRIV-NEXT:    mtlr r0
2269 ; BE-32BIT-P8-PRIV-NEXT:    hashchkp r0, -16(r1)
2270 ; BE-32BIT-P8-PRIV-NEXT:    blr
2271 ; BE-32BIT-P8-PRIV-NEXT:  L..BB2_2:
2272 ; BE-32BIT-P8-PRIV-NEXT:    li r3, 0
2273 ; BE-32BIT-P8-PRIV-NEXT:    blr
2274 entry:
2275   %local = alloca i32, align 4
2276   %tobool.not = icmp eq ptr %in, null
2277   br i1 %tobool.not, label %return, label %if.end
2279 if.end:                                           ; preds = %entry
2280   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
2281   %arrayidx = getelementptr inbounds i32, ptr %in, i64 3
2282   %0 = load i32, ptr %arrayidx, align 4
2283   store i32 %0, ptr %local, align 4
2284   %call = call zeroext i32 @callee2(ptr nonnull %local)
2285   %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4
2286   %1 = load i32, ptr %arrayidx1, align 4
2287   %add = add i32 %1, %call
2288   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
2289   br label %return
2291 return:                                           ; preds = %entry, %if.end
2292   %retval.0 = phi i32 [ %add, %if.end ], [ 0, %entry ]
2293   ret i32 %retval.0
2296 define dso_local zeroext i32 @aligned(ptr nocapture readonly %in) #0 {
2297 ; BE-P10-LABEL: aligned:
2298 ; BE-P10:       # %bb.0: # %entry
2299 ; BE-P10-NEXT:    mflr r0
2300 ; BE-P10-NEXT:    std r30, -16(r1)
2301 ; BE-P10-NEXT:    lis r12, -1
2302 ; BE-P10-NEXT:    mr r30, r1
2303 ; BE-P10-NEXT:    std r0, 16(r1)
2304 ; BE-P10-NEXT:    hashst r0, -24(r1)
2305 ; BE-P10-NEXT:    clrldi r0, r1, 49
2306 ; BE-P10-NEXT:    subc r0, r12, r0
2307 ; BE-P10-NEXT:    stdux r1, r1, r0
2308 ; BE-P10-NEXT:    std r31, -8(r30) # 8-byte Folded Spill
2309 ; BE-P10-NEXT:    mr r31, r3
2310 ; BE-P10-NEXT:    lwz r3, 4(r3)
2311 ; BE-P10-NEXT:    lis r4, 0
2312 ; BE-P10-NEXT:    addi r5, r1, 32764
2313 ; BE-P10-NEXT:    ori r4, r4, 65508
2314 ; BE-P10-NEXT:    stwx r3, r1, r4
2315 ; BE-P10-NEXT:    lwz r3, 12(r31)
2316 ; BE-P10-NEXT:    lis r4, 0
2317 ; BE-P10-NEXT:    ori r4, r4, 32768
2318 ; BE-P10-NEXT:    stwx r3, r1, r4
2319 ; BE-P10-NEXT:    lwz r3, 20(r31)
2320 ; BE-P10-NEXT:    lis r4, 0
2321 ; BE-P10-NEXT:    ori r4, r4, 65508
2322 ; BE-P10-NEXT:    add r4, r1, r4
2323 ; BE-P10-NEXT:    stw r3, 32764(r1)
2324 ; BE-P10-NEXT:    lis r3, 0
2325 ; BE-P10-NEXT:    ori r3, r3, 32768
2326 ; BE-P10-NEXT:    add r3, r1, r3
2327 ; BE-P10-NEXT:    bl .callee3[PR]
2328 ; BE-P10-NEXT:    nop
2329 ; BE-P10-NEXT:    lwz r4, 16(r31)
2330 ; BE-P10-NEXT:    ld r31, -8(r30) # 8-byte Folded Reload
2331 ; BE-P10-NEXT:    add r3, r4, r3
2332 ; BE-P10-NEXT:    clrldi r3, r3, 32
2333 ; BE-P10-NEXT:    mr r1, r30
2334 ; BE-P10-NEXT:    ld r0, 16(r1)
2335 ; BE-P10-NEXT:    ld r30, -16(r1)
2336 ; BE-P10-NEXT:    mtlr r0
2337 ; BE-P10-NEXT:    hashchk r0, -24(r1)
2338 ; BE-P10-NEXT:    blr
2340 ; BE-P9-LABEL: aligned:
2341 ; BE-P9:       # %bb.0: # %entry
2342 ; BE-P9-NEXT:    mflr r0
2343 ; BE-P9-NEXT:    std r30, -16(r1)
2344 ; BE-P9-NEXT:    lis r12, -1
2345 ; BE-P9-NEXT:    mr r30, r1
2346 ; BE-P9-NEXT:    std r0, 16(r1)
2347 ; BE-P9-NEXT:    hashst r0, -24(r1)
2348 ; BE-P9-NEXT:    clrldi r0, r1, 49
2349 ; BE-P9-NEXT:    subc r0, r12, r0
2350 ; BE-P9-NEXT:    stdux r1, r1, r0
2351 ; BE-P9-NEXT:    std r31, -8(r30) # 8-byte Folded Spill
2352 ; BE-P9-NEXT:    mr r31, r3
2353 ; BE-P9-NEXT:    lwz r3, 4(r3)
2354 ; BE-P9-NEXT:    lis r4, 0
2355 ; BE-P9-NEXT:    addi r5, r1, 32764
2356 ; BE-P9-NEXT:    ori r4, r4, 65508
2357 ; BE-P9-NEXT:    stwx r3, r1, r4
2358 ; BE-P9-NEXT:    lwz r3, 12(r31)
2359 ; BE-P9-NEXT:    lis r4, 0
2360 ; BE-P9-NEXT:    ori r4, r4, 32768
2361 ; BE-P9-NEXT:    stwx r3, r1, r4
2362 ; BE-P9-NEXT:    lwz r3, 20(r31)
2363 ; BE-P9-NEXT:    lis r4, 0
2364 ; BE-P9-NEXT:    ori r4, r4, 65508
2365 ; BE-P9-NEXT:    stw r3, 32764(r1)
2366 ; BE-P9-NEXT:    lis r3, 0
2367 ; BE-P9-NEXT:    add r4, r1, r4
2368 ; BE-P9-NEXT:    ori r3, r3, 32768
2369 ; BE-P9-NEXT:    add r3, r1, r3
2370 ; BE-P9-NEXT:    bl .callee3[PR]
2371 ; BE-P9-NEXT:    nop
2372 ; BE-P9-NEXT:    lwz r4, 16(r31)
2373 ; BE-P9-NEXT:    ld r31, -8(r30) # 8-byte Folded Reload
2374 ; BE-P9-NEXT:    add r3, r4, r3
2375 ; BE-P9-NEXT:    clrldi r3, r3, 32
2376 ; BE-P9-NEXT:    mr r1, r30
2377 ; BE-P9-NEXT:    ld r0, 16(r1)
2378 ; BE-P9-NEXT:    ld r30, -16(r1)
2379 ; BE-P9-NEXT:    mtlr r0
2380 ; BE-P9-NEXT:    hashchk r0, -24(r1)
2381 ; BE-P9-NEXT:    blr
2383 ; BE-P8-LABEL: aligned:
2384 ; BE-P8:       # %bb.0: # %entry
2385 ; BE-P8-NEXT:    mflr r0
2386 ; BE-P8-NEXT:    std r30, -16(r1)
2387 ; BE-P8-NEXT:    lis r12, -1
2388 ; BE-P8-NEXT:    mr r30, r1
2389 ; BE-P8-NEXT:    std r0, 16(r1)
2390 ; BE-P8-NEXT:    hashst r0, -24(r1)
2391 ; BE-P8-NEXT:    clrldi r0, r1, 49
2392 ; BE-P8-NEXT:    subc r0, r12, r0
2393 ; BE-P8-NEXT:    stdux r1, r1, r0
2394 ; BE-P8-NEXT:    lis r4, 0
2395 ; BE-P8-NEXT:    std r31, -8(r30) # 8-byte Folded Spill
2396 ; BE-P8-NEXT:    mr r31, r3
2397 ; BE-P8-NEXT:    lwz r3, 4(r3)
2398 ; BE-P8-NEXT:    addi r5, r1, 32764
2399 ; BE-P8-NEXT:    ori r4, r4, 65508
2400 ; BE-P8-NEXT:    stwx r3, r1, r4
2401 ; BE-P8-NEXT:    lis r4, 0
2402 ; BE-P8-NEXT:    lwz r3, 12(r31)
2403 ; BE-P8-NEXT:    ori r4, r4, 32768
2404 ; BE-P8-NEXT:    stwx r3, r1, r4
2405 ; BE-P8-NEXT:    lwz r3, 20(r31)
2406 ; BE-P8-NEXT:    lis r4, 0
2407 ; BE-P8-NEXT:    ori r4, r4, 65508
2408 ; BE-P8-NEXT:    stw r3, 32764(r1)
2409 ; BE-P8-NEXT:    lis r3, 0
2410 ; BE-P8-NEXT:    add r4, r1, r4
2411 ; BE-P8-NEXT:    ori r3, r3, 32768
2412 ; BE-P8-NEXT:    add r3, r1, r3
2413 ; BE-P8-NEXT:    bl .callee3[PR]
2414 ; BE-P8-NEXT:    nop
2415 ; BE-P8-NEXT:    lwz r4, 16(r31)
2416 ; BE-P8-NEXT:    ld r31, -8(r30) # 8-byte Folded Reload
2417 ; BE-P8-NEXT:    add r3, r4, r3
2418 ; BE-P8-NEXT:    clrldi r3, r3, 32
2419 ; BE-P8-NEXT:    mr r1, r30
2420 ; BE-P8-NEXT:    ld r0, 16(r1)
2421 ; BE-P8-NEXT:    ld r30, -16(r1)
2422 ; BE-P8-NEXT:    hashchk r0, -24(r1)
2423 ; BE-P8-NEXT:    mtlr r0
2424 ; BE-P8-NEXT:    blr
2426 ; BE-32BIT-P10-LABEL: aligned:
2427 ; BE-32BIT-P10:       # %bb.0: # %entry
2428 ; BE-32BIT-P10-NEXT:    mflr r0
2429 ; BE-32BIT-P10-NEXT:    stw r30, -8(r1)
2430 ; BE-32BIT-P10-NEXT:    lis r12, -1
2431 ; BE-32BIT-P10-NEXT:    mr r30, r1
2432 ; BE-32BIT-P10-NEXT:    stw r0, 8(r1)
2433 ; BE-32BIT-P10-NEXT:    hashst r0, -16(r1)
2434 ; BE-32BIT-P10-NEXT:    clrlwi r0, r1, 17
2435 ; BE-32BIT-P10-NEXT:    subc r0, r12, r0
2436 ; BE-32BIT-P10-NEXT:    stwux r1, r1, r0
2437 ; BE-32BIT-P10-NEXT:    stw r31, -4(r30) # 4-byte Folded Spill
2438 ; BE-32BIT-P10-NEXT:    mr r31, r3
2439 ; BE-32BIT-P10-NEXT:    lwz r3, 4(r3)
2440 ; BE-32BIT-P10-NEXT:    lis r4, 0
2441 ; BE-32BIT-P10-NEXT:    addi r5, r1, 32764
2442 ; BE-32BIT-P10-NEXT:    ori r4, r4, 65516
2443 ; BE-32BIT-P10-NEXT:    stwx r3, r1, r4
2444 ; BE-32BIT-P10-NEXT:    lwz r3, 12(r31)
2445 ; BE-32BIT-P10-NEXT:    lis r4, 0
2446 ; BE-32BIT-P10-NEXT:    ori r4, r4, 32768
2447 ; BE-32BIT-P10-NEXT:    stwx r3, r1, r4
2448 ; BE-32BIT-P10-NEXT:    lwz r3, 20(r31)
2449 ; BE-32BIT-P10-NEXT:    lis r4, 0
2450 ; BE-32BIT-P10-NEXT:    ori r4, r4, 65516
2451 ; BE-32BIT-P10-NEXT:    add r4, r1, r4
2452 ; BE-32BIT-P10-NEXT:    stw r3, 32764(r1)
2453 ; BE-32BIT-P10-NEXT:    lis r3, 0
2454 ; BE-32BIT-P10-NEXT:    ori r3, r3, 32768
2455 ; BE-32BIT-P10-NEXT:    add r3, r1, r3
2456 ; BE-32BIT-P10-NEXT:    bl .callee3[PR]
2457 ; BE-32BIT-P10-NEXT:    nop
2458 ; BE-32BIT-P10-NEXT:    lwz r4, 16(r31)
2459 ; BE-32BIT-P10-NEXT:    lwz r31, -4(r30) # 4-byte Folded Reload
2460 ; BE-32BIT-P10-NEXT:    add r3, r4, r3
2461 ; BE-32BIT-P10-NEXT:    mr r1, r30
2462 ; BE-32BIT-P10-NEXT:    lwz r0, 8(r1)
2463 ; BE-32BIT-P10-NEXT:    lwz r30, -8(r1)
2464 ; BE-32BIT-P10-NEXT:    mtlr r0
2465 ; BE-32BIT-P10-NEXT:    hashchk r0, -16(r1)
2466 ; BE-32BIT-P10-NEXT:    blr
2468 ; BE-32BIT-P9-LABEL: aligned:
2469 ; BE-32BIT-P9:       # %bb.0: # %entry
2470 ; BE-32BIT-P9-NEXT:    mflr r0
2471 ; BE-32BIT-P9-NEXT:    stw r30, -8(r1)
2472 ; BE-32BIT-P9-NEXT:    lis r12, -1
2473 ; BE-32BIT-P9-NEXT:    mr r30, r1
2474 ; BE-32BIT-P9-NEXT:    stw r0, 8(r1)
2475 ; BE-32BIT-P9-NEXT:    hashst r0, -16(r1)
2476 ; BE-32BIT-P9-NEXT:    clrlwi r0, r1, 17
2477 ; BE-32BIT-P9-NEXT:    subc r0, r12, r0
2478 ; BE-32BIT-P9-NEXT:    stwux r1, r1, r0
2479 ; BE-32BIT-P9-NEXT:    stw r31, -4(r30) # 4-byte Folded Spill
2480 ; BE-32BIT-P9-NEXT:    mr r31, r3
2481 ; BE-32BIT-P9-NEXT:    lwz r3, 4(r3)
2482 ; BE-32BIT-P9-NEXT:    lis r4, 0
2483 ; BE-32BIT-P9-NEXT:    addi r5, r1, 32764
2484 ; BE-32BIT-P9-NEXT:    ori r4, r4, 65516
2485 ; BE-32BIT-P9-NEXT:    stwx r3, r1, r4
2486 ; BE-32BIT-P9-NEXT:    lwz r3, 12(r31)
2487 ; BE-32BIT-P9-NEXT:    lis r4, 0
2488 ; BE-32BIT-P9-NEXT:    ori r4, r4, 32768
2489 ; BE-32BIT-P9-NEXT:    stwx r3, r1, r4
2490 ; BE-32BIT-P9-NEXT:    lwz r3, 20(r31)
2491 ; BE-32BIT-P9-NEXT:    lis r4, 0
2492 ; BE-32BIT-P9-NEXT:    ori r4, r4, 65516
2493 ; BE-32BIT-P9-NEXT:    stw r3, 32764(r1)
2494 ; BE-32BIT-P9-NEXT:    lis r3, 0
2495 ; BE-32BIT-P9-NEXT:    add r4, r1, r4
2496 ; BE-32BIT-P9-NEXT:    ori r3, r3, 32768
2497 ; BE-32BIT-P9-NEXT:    add r3, r1, r3
2498 ; BE-32BIT-P9-NEXT:    bl .callee3[PR]
2499 ; BE-32BIT-P9-NEXT:    nop
2500 ; BE-32BIT-P9-NEXT:    lwz r4, 16(r31)
2501 ; BE-32BIT-P9-NEXT:    lwz r31, -4(r30) # 4-byte Folded Reload
2502 ; BE-32BIT-P9-NEXT:    add r3, r4, r3
2503 ; BE-32BIT-P9-NEXT:    mr r1, r30
2504 ; BE-32BIT-P9-NEXT:    lwz r0, 8(r1)
2505 ; BE-32BIT-P9-NEXT:    lwz r30, -8(r1)
2506 ; BE-32BIT-P9-NEXT:    mtlr r0
2507 ; BE-32BIT-P9-NEXT:    hashchk r0, -16(r1)
2508 ; BE-32BIT-P9-NEXT:    blr
2510 ; BE-32BIT-P8-LABEL: aligned:
2511 ; BE-32BIT-P8:       # %bb.0: # %entry
2512 ; BE-32BIT-P8-NEXT:    mflr r0
2513 ; BE-32BIT-P8-NEXT:    stw r30, -8(r1)
2514 ; BE-32BIT-P8-NEXT:    lis r12, -1
2515 ; BE-32BIT-P8-NEXT:    mr r30, r1
2516 ; BE-32BIT-P8-NEXT:    stw r0, 8(r1)
2517 ; BE-32BIT-P8-NEXT:    hashst r0, -16(r1)
2518 ; BE-32BIT-P8-NEXT:    clrlwi r0, r1, 17
2519 ; BE-32BIT-P8-NEXT:    subc r0, r12, r0
2520 ; BE-32BIT-P8-NEXT:    stwux r1, r1, r0
2521 ; BE-32BIT-P8-NEXT:    lis r4, 0
2522 ; BE-32BIT-P8-NEXT:    stw r31, -4(r30) # 4-byte Folded Spill
2523 ; BE-32BIT-P8-NEXT:    mr r31, r3
2524 ; BE-32BIT-P8-NEXT:    lwz r3, 4(r3)
2525 ; BE-32BIT-P8-NEXT:    addi r5, r1, 32764
2526 ; BE-32BIT-P8-NEXT:    ori r4, r4, 65516
2527 ; BE-32BIT-P8-NEXT:    stwx r3, r1, r4
2528 ; BE-32BIT-P8-NEXT:    lis r4, 0
2529 ; BE-32BIT-P8-NEXT:    lwz r3, 12(r31)
2530 ; BE-32BIT-P8-NEXT:    ori r4, r4, 32768
2531 ; BE-32BIT-P8-NEXT:    stwx r3, r1, r4
2532 ; BE-32BIT-P8-NEXT:    lwz r3, 20(r31)
2533 ; BE-32BIT-P8-NEXT:    lis r4, 0
2534 ; BE-32BIT-P8-NEXT:    ori r4, r4, 65516
2535 ; BE-32BIT-P8-NEXT:    stw r3, 32764(r1)
2536 ; BE-32BIT-P8-NEXT:    lis r3, 0
2537 ; BE-32BIT-P8-NEXT:    add r4, r1, r4
2538 ; BE-32BIT-P8-NEXT:    ori r3, r3, 32768
2539 ; BE-32BIT-P8-NEXT:    add r3, r1, r3
2540 ; BE-32BIT-P8-NEXT:    bl .callee3[PR]
2541 ; BE-32BIT-P8-NEXT:    nop
2542 ; BE-32BIT-P8-NEXT:    lwz r4, 16(r31)
2543 ; BE-32BIT-P8-NEXT:    lwz r31, -4(r30) # 4-byte Folded Reload
2544 ; BE-32BIT-P8-NEXT:    add r3, r4, r3
2545 ; BE-32BIT-P8-NEXT:    mr r1, r30
2546 ; BE-32BIT-P8-NEXT:    lwz r0, 8(r1)
2547 ; BE-32BIT-P8-NEXT:    lwz r30, -8(r1)
2548 ; BE-32BIT-P8-NEXT:    hashchk r0, -16(r1)
2549 ; BE-32BIT-P8-NEXT:    mtlr r0
2550 ; BE-32BIT-P8-NEXT:    blr
2552 ; BE-P10-PRIV-LABEL: aligned:
2553 ; BE-P10-PRIV:       # %bb.0: # %entry
2554 ; BE-P10-PRIV-NEXT:    mflr r0
2555 ; BE-P10-PRIV-NEXT:    std r30, -16(r1)
2556 ; BE-P10-PRIV-NEXT:    lis r12, -1
2557 ; BE-P10-PRIV-NEXT:    mr r30, r1
2558 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
2559 ; BE-P10-PRIV-NEXT:    hashstp r0, -24(r1)
2560 ; BE-P10-PRIV-NEXT:    clrldi r0, r1, 49
2561 ; BE-P10-PRIV-NEXT:    subc r0, r12, r0
2562 ; BE-P10-PRIV-NEXT:    stdux r1, r1, r0
2563 ; BE-P10-PRIV-NEXT:    std r31, -8(r30) # 8-byte Folded Spill
2564 ; BE-P10-PRIV-NEXT:    mr r31, r3
2565 ; BE-P10-PRIV-NEXT:    lwz r3, 4(r3)
2566 ; BE-P10-PRIV-NEXT:    lis r4, 0
2567 ; BE-P10-PRIV-NEXT:    addi r5, r1, 32764
2568 ; BE-P10-PRIV-NEXT:    ori r4, r4, 65508
2569 ; BE-P10-PRIV-NEXT:    stwx r3, r1, r4
2570 ; BE-P10-PRIV-NEXT:    lwz r3, 12(r31)
2571 ; BE-P10-PRIV-NEXT:    lis r4, 0
2572 ; BE-P10-PRIV-NEXT:    ori r4, r4, 32768
2573 ; BE-P10-PRIV-NEXT:    stwx r3, r1, r4
2574 ; BE-P10-PRIV-NEXT:    lwz r3, 20(r31)
2575 ; BE-P10-PRIV-NEXT:    lis r4, 0
2576 ; BE-P10-PRIV-NEXT:    ori r4, r4, 65508
2577 ; BE-P10-PRIV-NEXT:    add r4, r1, r4
2578 ; BE-P10-PRIV-NEXT:    stw r3, 32764(r1)
2579 ; BE-P10-PRIV-NEXT:    lis r3, 0
2580 ; BE-P10-PRIV-NEXT:    ori r3, r3, 32768
2581 ; BE-P10-PRIV-NEXT:    add r3, r1, r3
2582 ; BE-P10-PRIV-NEXT:    bl .callee3[PR]
2583 ; BE-P10-PRIV-NEXT:    nop
2584 ; BE-P10-PRIV-NEXT:    lwz r4, 16(r31)
2585 ; BE-P10-PRIV-NEXT:    ld r31, -8(r30) # 8-byte Folded Reload
2586 ; BE-P10-PRIV-NEXT:    add r3, r4, r3
2587 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
2588 ; BE-P10-PRIV-NEXT:    mr r1, r30
2589 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
2590 ; BE-P10-PRIV-NEXT:    ld r30, -16(r1)
2591 ; BE-P10-PRIV-NEXT:    mtlr r0
2592 ; BE-P10-PRIV-NEXT:    hashchkp r0, -24(r1)
2593 ; BE-P10-PRIV-NEXT:    blr
2595 ; BE-P9-PRIV-LABEL: aligned:
2596 ; BE-P9-PRIV:       # %bb.0: # %entry
2597 ; BE-P9-PRIV-NEXT:    mflr r0
2598 ; BE-P9-PRIV-NEXT:    std r30, -16(r1)
2599 ; BE-P9-PRIV-NEXT:    lis r12, -1
2600 ; BE-P9-PRIV-NEXT:    mr r30, r1
2601 ; BE-P9-PRIV-NEXT:    std r0, 16(r1)
2602 ; BE-P9-PRIV-NEXT:    hashstp r0, -24(r1)
2603 ; BE-P9-PRIV-NEXT:    clrldi r0, r1, 49
2604 ; BE-P9-PRIV-NEXT:    subc r0, r12, r0
2605 ; BE-P9-PRIV-NEXT:    stdux r1, r1, r0
2606 ; BE-P9-PRIV-NEXT:    std r31, -8(r30) # 8-byte Folded Spill
2607 ; BE-P9-PRIV-NEXT:    mr r31, r3
2608 ; BE-P9-PRIV-NEXT:    lwz r3, 4(r3)
2609 ; BE-P9-PRIV-NEXT:    lis r4, 0
2610 ; BE-P9-PRIV-NEXT:    addi r5, r1, 32764
2611 ; BE-P9-PRIV-NEXT:    ori r4, r4, 65508
2612 ; BE-P9-PRIV-NEXT:    stwx r3, r1, r4
2613 ; BE-P9-PRIV-NEXT:    lwz r3, 12(r31)
2614 ; BE-P9-PRIV-NEXT:    lis r4, 0
2615 ; BE-P9-PRIV-NEXT:    ori r4, r4, 32768
2616 ; BE-P9-PRIV-NEXT:    stwx r3, r1, r4
2617 ; BE-P9-PRIV-NEXT:    lwz r3, 20(r31)
2618 ; BE-P9-PRIV-NEXT:    lis r4, 0
2619 ; BE-P9-PRIV-NEXT:    ori r4, r4, 65508
2620 ; BE-P9-PRIV-NEXT:    stw r3, 32764(r1)
2621 ; BE-P9-PRIV-NEXT:    lis r3, 0
2622 ; BE-P9-PRIV-NEXT:    add r4, r1, r4
2623 ; BE-P9-PRIV-NEXT:    ori r3, r3, 32768
2624 ; BE-P9-PRIV-NEXT:    add r3, r1, r3
2625 ; BE-P9-PRIV-NEXT:    bl .callee3[PR]
2626 ; BE-P9-PRIV-NEXT:    nop
2627 ; BE-P9-PRIV-NEXT:    lwz r4, 16(r31)
2628 ; BE-P9-PRIV-NEXT:    ld r31, -8(r30) # 8-byte Folded Reload
2629 ; BE-P9-PRIV-NEXT:    add r3, r4, r3
2630 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
2631 ; BE-P9-PRIV-NEXT:    mr r1, r30
2632 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
2633 ; BE-P9-PRIV-NEXT:    ld r30, -16(r1)
2634 ; BE-P9-PRIV-NEXT:    mtlr r0
2635 ; BE-P9-PRIV-NEXT:    hashchkp r0, -24(r1)
2636 ; BE-P9-PRIV-NEXT:    blr
2638 ; BE-P8-PRIV-LABEL: aligned:
2639 ; BE-P8-PRIV:       # %bb.0: # %entry
2640 ; BE-P8-PRIV-NEXT:    mflr r0
2641 ; BE-P8-PRIV-NEXT:    std r30, -16(r1)
2642 ; BE-P8-PRIV-NEXT:    lis r12, -1
2643 ; BE-P8-PRIV-NEXT:    mr r30, r1
2644 ; BE-P8-PRIV-NEXT:    std r0, 16(r1)
2645 ; BE-P8-PRIV-NEXT:    hashstp r0, -24(r1)
2646 ; BE-P8-PRIV-NEXT:    clrldi r0, r1, 49
2647 ; BE-P8-PRIV-NEXT:    subc r0, r12, r0
2648 ; BE-P8-PRIV-NEXT:    stdux r1, r1, r0
2649 ; BE-P8-PRIV-NEXT:    lis r4, 0
2650 ; BE-P8-PRIV-NEXT:    std r31, -8(r30) # 8-byte Folded Spill
2651 ; BE-P8-PRIV-NEXT:    mr r31, r3
2652 ; BE-P8-PRIV-NEXT:    lwz r3, 4(r3)
2653 ; BE-P8-PRIV-NEXT:    addi r5, r1, 32764
2654 ; BE-P8-PRIV-NEXT:    ori r4, r4, 65508
2655 ; BE-P8-PRIV-NEXT:    stwx r3, r1, r4
2656 ; BE-P8-PRIV-NEXT:    lis r4, 0
2657 ; BE-P8-PRIV-NEXT:    lwz r3, 12(r31)
2658 ; BE-P8-PRIV-NEXT:    ori r4, r4, 32768
2659 ; BE-P8-PRIV-NEXT:    stwx r3, r1, r4
2660 ; BE-P8-PRIV-NEXT:    lwz r3, 20(r31)
2661 ; BE-P8-PRIV-NEXT:    lis r4, 0
2662 ; BE-P8-PRIV-NEXT:    ori r4, r4, 65508
2663 ; BE-P8-PRIV-NEXT:    stw r3, 32764(r1)
2664 ; BE-P8-PRIV-NEXT:    lis r3, 0
2665 ; BE-P8-PRIV-NEXT:    add r4, r1, r4
2666 ; BE-P8-PRIV-NEXT:    ori r3, r3, 32768
2667 ; BE-P8-PRIV-NEXT:    add r3, r1, r3
2668 ; BE-P8-PRIV-NEXT:    bl .callee3[PR]
2669 ; BE-P8-PRIV-NEXT:    nop
2670 ; BE-P8-PRIV-NEXT:    lwz r4, 16(r31)
2671 ; BE-P8-PRIV-NEXT:    ld r31, -8(r30) # 8-byte Folded Reload
2672 ; BE-P8-PRIV-NEXT:    add r3, r4, r3
2673 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
2674 ; BE-P8-PRIV-NEXT:    mr r1, r30
2675 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
2676 ; BE-P8-PRIV-NEXT:    ld r30, -16(r1)
2677 ; BE-P8-PRIV-NEXT:    hashchkp r0, -24(r1)
2678 ; BE-P8-PRIV-NEXT:    mtlr r0
2679 ; BE-P8-PRIV-NEXT:    blr
2681 ; BE-32BIT-P10-PRIV-LABEL: aligned:
2682 ; BE-32BIT-P10-PRIV:       # %bb.0: # %entry
2683 ; BE-32BIT-P10-PRIV-NEXT:    mflr r0
2684 ; BE-32BIT-P10-PRIV-NEXT:    stw r30, -8(r1)
2685 ; BE-32BIT-P10-PRIV-NEXT:    lis r12, -1
2686 ; BE-32BIT-P10-PRIV-NEXT:    mr r30, r1
2687 ; BE-32BIT-P10-PRIV-NEXT:    stw r0, 8(r1)
2688 ; BE-32BIT-P10-PRIV-NEXT:    hashstp r0, -16(r1)
2689 ; BE-32BIT-P10-PRIV-NEXT:    clrlwi r0, r1, 17
2690 ; BE-32BIT-P10-PRIV-NEXT:    subc r0, r12, r0
2691 ; BE-32BIT-P10-PRIV-NEXT:    stwux r1, r1, r0
2692 ; BE-32BIT-P10-PRIV-NEXT:    stw r31, -4(r30) # 4-byte Folded Spill
2693 ; BE-32BIT-P10-PRIV-NEXT:    mr r31, r3
2694 ; BE-32BIT-P10-PRIV-NEXT:    lwz r3, 4(r3)
2695 ; BE-32BIT-P10-PRIV-NEXT:    lis r4, 0
2696 ; BE-32BIT-P10-PRIV-NEXT:    addi r5, r1, 32764
2697 ; BE-32BIT-P10-PRIV-NEXT:    ori r4, r4, 65516
2698 ; BE-32BIT-P10-PRIV-NEXT:    stwx r3, r1, r4
2699 ; BE-32BIT-P10-PRIV-NEXT:    lwz r3, 12(r31)
2700 ; BE-32BIT-P10-PRIV-NEXT:    lis r4, 0
2701 ; BE-32BIT-P10-PRIV-NEXT:    ori r4, r4, 32768
2702 ; BE-32BIT-P10-PRIV-NEXT:    stwx r3, r1, r4
2703 ; BE-32BIT-P10-PRIV-NEXT:    lwz r3, 20(r31)
2704 ; BE-32BIT-P10-PRIV-NEXT:    lis r4, 0
2705 ; BE-32BIT-P10-PRIV-NEXT:    ori r4, r4, 65516
2706 ; BE-32BIT-P10-PRIV-NEXT:    add r4, r1, r4
2707 ; BE-32BIT-P10-PRIV-NEXT:    stw r3, 32764(r1)
2708 ; BE-32BIT-P10-PRIV-NEXT:    lis r3, 0
2709 ; BE-32BIT-P10-PRIV-NEXT:    ori r3, r3, 32768
2710 ; BE-32BIT-P10-PRIV-NEXT:    add r3, r1, r3
2711 ; BE-32BIT-P10-PRIV-NEXT:    bl .callee3[PR]
2712 ; BE-32BIT-P10-PRIV-NEXT:    nop
2713 ; BE-32BIT-P10-PRIV-NEXT:    lwz r4, 16(r31)
2714 ; BE-32BIT-P10-PRIV-NEXT:    lwz r31, -4(r30) # 4-byte Folded Reload
2715 ; BE-32BIT-P10-PRIV-NEXT:    add r3, r4, r3
2716 ; BE-32BIT-P10-PRIV-NEXT:    mr r1, r30
2717 ; BE-32BIT-P10-PRIV-NEXT:    lwz r0, 8(r1)
2718 ; BE-32BIT-P10-PRIV-NEXT:    lwz r30, -8(r1)
2719 ; BE-32BIT-P10-PRIV-NEXT:    mtlr r0
2720 ; BE-32BIT-P10-PRIV-NEXT:    hashchkp r0, -16(r1)
2721 ; BE-32BIT-P10-PRIV-NEXT:    blr
2723 ; BE-32BIT-P9-PRIV-LABEL: aligned:
2724 ; BE-32BIT-P9-PRIV:       # %bb.0: # %entry
2725 ; BE-32BIT-P9-PRIV-NEXT:    mflr r0
2726 ; BE-32BIT-P9-PRIV-NEXT:    stw r30, -8(r1)
2727 ; BE-32BIT-P9-PRIV-NEXT:    lis r12, -1
2728 ; BE-32BIT-P9-PRIV-NEXT:    mr r30, r1
2729 ; BE-32BIT-P9-PRIV-NEXT:    stw r0, 8(r1)
2730 ; BE-32BIT-P9-PRIV-NEXT:    hashstp r0, -16(r1)
2731 ; BE-32BIT-P9-PRIV-NEXT:    clrlwi r0, r1, 17
2732 ; BE-32BIT-P9-PRIV-NEXT:    subc r0, r12, r0
2733 ; BE-32BIT-P9-PRIV-NEXT:    stwux r1, r1, r0
2734 ; BE-32BIT-P9-PRIV-NEXT:    stw r31, -4(r30) # 4-byte Folded Spill
2735 ; BE-32BIT-P9-PRIV-NEXT:    mr r31, r3
2736 ; BE-32BIT-P9-PRIV-NEXT:    lwz r3, 4(r3)
2737 ; BE-32BIT-P9-PRIV-NEXT:    lis r4, 0
2738 ; BE-32BIT-P9-PRIV-NEXT:    addi r5, r1, 32764
2739 ; BE-32BIT-P9-PRIV-NEXT:    ori r4, r4, 65516
2740 ; BE-32BIT-P9-PRIV-NEXT:    stwx r3, r1, r4
2741 ; BE-32BIT-P9-PRIV-NEXT:    lwz r3, 12(r31)
2742 ; BE-32BIT-P9-PRIV-NEXT:    lis r4, 0
2743 ; BE-32BIT-P9-PRIV-NEXT:    ori r4, r4, 32768
2744 ; BE-32BIT-P9-PRIV-NEXT:    stwx r3, r1, r4
2745 ; BE-32BIT-P9-PRIV-NEXT:    lwz r3, 20(r31)
2746 ; BE-32BIT-P9-PRIV-NEXT:    lis r4, 0
2747 ; BE-32BIT-P9-PRIV-NEXT:    ori r4, r4, 65516
2748 ; BE-32BIT-P9-PRIV-NEXT:    stw r3, 32764(r1)
2749 ; BE-32BIT-P9-PRIV-NEXT:    lis r3, 0
2750 ; BE-32BIT-P9-PRIV-NEXT:    add r4, r1, r4
2751 ; BE-32BIT-P9-PRIV-NEXT:    ori r3, r3, 32768
2752 ; BE-32BIT-P9-PRIV-NEXT:    add r3, r1, r3
2753 ; BE-32BIT-P9-PRIV-NEXT:    bl .callee3[PR]
2754 ; BE-32BIT-P9-PRIV-NEXT:    nop
2755 ; BE-32BIT-P9-PRIV-NEXT:    lwz r4, 16(r31)
2756 ; BE-32BIT-P9-PRIV-NEXT:    lwz r31, -4(r30) # 4-byte Folded Reload
2757 ; BE-32BIT-P9-PRIV-NEXT:    add r3, r4, r3
2758 ; BE-32BIT-P9-PRIV-NEXT:    mr r1, r30
2759 ; BE-32BIT-P9-PRIV-NEXT:    lwz r0, 8(r1)
2760 ; BE-32BIT-P9-PRIV-NEXT:    lwz r30, -8(r1)
2761 ; BE-32BIT-P9-PRIV-NEXT:    mtlr r0
2762 ; BE-32BIT-P9-PRIV-NEXT:    hashchkp r0, -16(r1)
2763 ; BE-32BIT-P9-PRIV-NEXT:    blr
2765 ; BE-32BIT-P8-PRIV-LABEL: aligned:
2766 ; BE-32BIT-P8-PRIV:       # %bb.0: # %entry
2767 ; BE-32BIT-P8-PRIV-NEXT:    mflr r0
2768 ; BE-32BIT-P8-PRIV-NEXT:    stw r30, -8(r1)
2769 ; BE-32BIT-P8-PRIV-NEXT:    lis r12, -1
2770 ; BE-32BIT-P8-PRIV-NEXT:    mr r30, r1
2771 ; BE-32BIT-P8-PRIV-NEXT:    stw r0, 8(r1)
2772 ; BE-32BIT-P8-PRIV-NEXT:    hashstp r0, -16(r1)
2773 ; BE-32BIT-P8-PRIV-NEXT:    clrlwi r0, r1, 17
2774 ; BE-32BIT-P8-PRIV-NEXT:    subc r0, r12, r0
2775 ; BE-32BIT-P8-PRIV-NEXT:    stwux r1, r1, r0
2776 ; BE-32BIT-P8-PRIV-NEXT:    lis r4, 0
2777 ; BE-32BIT-P8-PRIV-NEXT:    stw r31, -4(r30) # 4-byte Folded Spill
2778 ; BE-32BIT-P8-PRIV-NEXT:    mr r31, r3
2779 ; BE-32BIT-P8-PRIV-NEXT:    lwz r3, 4(r3)
2780 ; BE-32BIT-P8-PRIV-NEXT:    addi r5, r1, 32764
2781 ; BE-32BIT-P8-PRIV-NEXT:    ori r4, r4, 65516
2782 ; BE-32BIT-P8-PRIV-NEXT:    stwx r3, r1, r4
2783 ; BE-32BIT-P8-PRIV-NEXT:    lis r4, 0
2784 ; BE-32BIT-P8-PRIV-NEXT:    lwz r3, 12(r31)
2785 ; BE-32BIT-P8-PRIV-NEXT:    ori r4, r4, 32768
2786 ; BE-32BIT-P8-PRIV-NEXT:    stwx r3, r1, r4
2787 ; BE-32BIT-P8-PRIV-NEXT:    lwz r3, 20(r31)
2788 ; BE-32BIT-P8-PRIV-NEXT:    lis r4, 0
2789 ; BE-32BIT-P8-PRIV-NEXT:    ori r4, r4, 65516
2790 ; BE-32BIT-P8-PRIV-NEXT:    stw r3, 32764(r1)
2791 ; BE-32BIT-P8-PRIV-NEXT:    lis r3, 0
2792 ; BE-32BIT-P8-PRIV-NEXT:    add r4, r1, r4
2793 ; BE-32BIT-P8-PRIV-NEXT:    ori r3, r3, 32768
2794 ; BE-32BIT-P8-PRIV-NEXT:    add r3, r1, r3
2795 ; BE-32BIT-P8-PRIV-NEXT:    bl .callee3[PR]
2796 ; BE-32BIT-P8-PRIV-NEXT:    nop
2797 ; BE-32BIT-P8-PRIV-NEXT:    lwz r4, 16(r31)
2798 ; BE-32BIT-P8-PRIV-NEXT:    lwz r31, -4(r30) # 4-byte Folded Reload
2799 ; BE-32BIT-P8-PRIV-NEXT:    add r3, r4, r3
2800 ; BE-32BIT-P8-PRIV-NEXT:    mr r1, r30
2801 ; BE-32BIT-P8-PRIV-NEXT:    lwz r0, 8(r1)
2802 ; BE-32BIT-P8-PRIV-NEXT:    lwz r30, -8(r1)
2803 ; BE-32BIT-P8-PRIV-NEXT:    hashchkp r0, -16(r1)
2804 ; BE-32BIT-P8-PRIV-NEXT:    mtlr r0
2805 ; BE-32BIT-P8-PRIV-NEXT:    blr
2806 entry:
2807   %beforeLocal = alloca i32, align 4
2808   %local = alloca i32, align 32768
2809   %afterLocal = alloca i32, align 4
2810   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %beforeLocal)
2811   %arrayidx = getelementptr inbounds i32, ptr %in, i64 1
2812   %0 = load i32, ptr %arrayidx, align 4
2813   store i32 %0, ptr %beforeLocal, align 4
2814   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
2815   %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 3
2816   %1 = load i32, ptr %arrayidx1, align 4
2817   store i32 %1, ptr %local, align 32768
2818   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %afterLocal)
2819   %arrayidx2 = getelementptr inbounds i32, ptr %in, i64 5
2820   %2 = load i32, ptr %arrayidx2, align 4
2821   store i32 %2, ptr %afterLocal, align 4
2822   %call = call zeroext i32 @callee3(ptr nonnull %local, ptr nonnull %beforeLocal, ptr nonnull %afterLocal)
2823   %arrayidx3 = getelementptr inbounds i32, ptr %in, i64 4
2824   %3 = load i32, ptr %arrayidx3, align 4
2825   %add = add i32 %3, %call
2826   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %afterLocal)
2827   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
2828   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %beforeLocal)
2829   ret i32 %add
2832 declare zeroext i32 @callee(i32 zeroext) local_unnamed_addr
2833 declare zeroext i32 @callee2(ptr) local_unnamed_addr
2834 declare zeroext i32 @callee3(ptr, ptr, ptr) local_unnamed_addr
2835 declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
2836 declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
2838 attributes #0 = { nounwind }