[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / ppc64-rop-protection.ll
blob1cfa811807baf73fcdaf93d3dcdb6a9a3f586c95
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
3 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
4 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix LE-P10
5 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
6 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
7 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix LE-P9
8 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
9 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
10 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix LE-P8
11 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
12 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
13 ; RUN:   -mattr=+rop-protect -O0 < %s | FileCheck %s --check-prefix LE-P10-O0
14 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
15 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
16 ; RUN:   -mattr=+rop-protect -O0 < %s | FileCheck %s --check-prefix LE-P9-O0
17 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
18 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
19 ; RUN:   -mattr=+rop-protect -O0 < %s | FileCheck %s --check-prefix LE-P8-O0
20 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
21 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
22 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-P10
23 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
24 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
25 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-P9
26 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
27 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
28 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-P8
29 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-unknown-linux-gnu \
30 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
31 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-32BIT-P10
32 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-unknown-linux-gnu \
33 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
34 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-32BIT-P9
35 ; RUN: llc -verify-machineinstrs -mtriple=powerpc-unknown-linux-gnu \
36 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
37 ; RUN:   -mattr=+rop-protect < %s | FileCheck %s --check-prefix BE-32BIT-P8
38 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
39 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
40 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix LE-P10-PRIV
41 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
42 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
43 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix LE-P9-PRIV
44 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu \
45 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
46 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix LE-P8-PRIV
47 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
48 ; RUN:   -mcpu=pwr10 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
49 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-P10-PRIV
50 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
51 ; RUN:   -mcpu=pwr9 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
52 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-P9-PRIV
53 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu \
54 ; RUN:   -mcpu=pwr8 -ppc-asm-full-reg-names -ppc-vsr-nums-as-vr \
55 ; RUN:   -mattr=+rop-protect -mattr=+privileged < %s | FileCheck %s --check-prefix BE-P8-PRIV
59 ;; This test checks that the ROP protect instructions have been correctly
60 ;; added when the ROP protect option has been specified. The hashst
61 ;; instruction should be added to the prologue and the hashchk should be added
62 ;; to the epilogue.
64 define dso_local zeroext i32 @caller(i32 zeroext %in, i32 zeroext %add_after) #0 {
65 ; LE-P10-LABEL: caller:
66 ; LE-P10:       # %bb.0: # %entry
67 ; LE-P10-NEXT:    mflr r0
68 ; LE-P10-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
69 ; LE-P10-NEXT:    std r0, 16(r1)
70 ; LE-P10-NEXT:    hashst r0, -24(r1)
71 ; LE-P10-NEXT:    stdu r1, -64(r1)
72 ; LE-P10-NEXT:    mr r30, r4
73 ; LE-P10-NEXT:    bl callee@notoc
74 ; LE-P10-NEXT:    add r3, r3, r30
75 ; LE-P10-NEXT:    clrldi r3, r3, 32
76 ; LE-P10-NEXT:    addi r1, r1, 64
77 ; LE-P10-NEXT:    ld r0, 16(r1)
78 ; LE-P10-NEXT:    hashchk r0, -24(r1)
79 ; LE-P10-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
80 ; LE-P10-NEXT:    mtlr r0
81 ; LE-P10-NEXT:    blr
83 ; LE-P9-LABEL: caller:
84 ; LE-P9:       # %bb.0: # %entry
85 ; LE-P9-NEXT:    mflr r0
86 ; LE-P9-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
87 ; LE-P9-NEXT:    stdu r1, -64(r1)
88 ; LE-P9-NEXT:    std r0, 80(r1)
89 ; LE-P9-NEXT:    hashst r0, -24(r1)
90 ; LE-P9-NEXT:    mr r30, r4
91 ; LE-P9-NEXT:    bl callee
92 ; LE-P9-NEXT:    nop
93 ; LE-P9-NEXT:    add r3, r3, r30
94 ; LE-P9-NEXT:    clrldi r3, r3, 32
95 ; LE-P9-NEXT:    addi r1, r1, 64
96 ; LE-P9-NEXT:    ld r0, 16(r1)
97 ; LE-P9-NEXT:    mtlr r0
98 ; LE-P9-NEXT:    hashchk r0, -24(r1)
99 ; LE-P9-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
100 ; LE-P9-NEXT:    blr
102 ; LE-P8-LABEL: caller:
103 ; LE-P8:       # %bb.0: # %entry
104 ; LE-P8-NEXT:    mflr r0
105 ; LE-P8-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
106 ; LE-P8-NEXT:    stdu r1, -64(r1)
107 ; LE-P8-NEXT:    std r0, 80(r1)
108 ; LE-P8-NEXT:    hashst r0, -24(r1)
109 ; LE-P8-NEXT:    mr r30, r4
110 ; LE-P8-NEXT:    bl callee
111 ; LE-P8-NEXT:    nop
112 ; LE-P8-NEXT:    add r3, r3, r30
113 ; LE-P8-NEXT:    clrldi r3, r3, 32
114 ; LE-P8-NEXT:    addi r1, r1, 64
115 ; LE-P8-NEXT:    ld r0, 16(r1)
116 ; LE-P8-NEXT:    mtlr r0
117 ; LE-P8-NEXT:    hashchk r0, -24(r1)
118 ; LE-P8-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
119 ; LE-P8-NEXT:    blr
121 ; LE-P10-O0-LABEL: caller:
122 ; LE-P10-O0:       # %bb.0: # %entry
123 ; LE-P10-O0-NEXT:    mflr r0
124 ; LE-P10-O0-NEXT:    std r0, 16(r1)
125 ; LE-P10-O0-NEXT:    hashst r0, -8(r1)
126 ; LE-P10-O0-NEXT:    stdu r1, -48(r1)
127 ; LE-P10-O0-NEXT:    # kill: def $r4 killed $r4 killed $x4
128 ; LE-P10-O0-NEXT:    stw r4, 36(r1) # 4-byte Folded Spill
129 ; LE-P10-O0-NEXT:    mr r4, r3
130 ; LE-P10-O0-NEXT:    # implicit-def: $x3
131 ; LE-P10-O0-NEXT:    mr r3, r4
132 ; LE-P10-O0-NEXT:    clrldi r3, r3, 32
133 ; LE-P10-O0-NEXT:    bl callee@notoc
134 ; LE-P10-O0-NEXT:    lwz r4, 36(r1) # 4-byte Folded Reload
135 ; LE-P10-O0-NEXT:    # kill: def $r3 killed $r3 killed $x3
136 ; LE-P10-O0-NEXT:    add r3, r3, r4
137 ; LE-P10-O0-NEXT:    clrldi r3, r3, 32
138 ; LE-P10-O0-NEXT:    addi r1, r1, 48
139 ; LE-P10-O0-NEXT:    ld r0, 16(r1)
140 ; LE-P10-O0-NEXT:    hashchk r0, -8(r1)
141 ; LE-P10-O0-NEXT:    mtlr r0
142 ; LE-P10-O0-NEXT:    blr
144 ; LE-P9-O0-LABEL: caller:
145 ; LE-P9-O0:       # %bb.0: # %entry
146 ; LE-P9-O0-NEXT:    mflr r0
147 ; LE-P9-O0-NEXT:    stdu r1, -112(r1)
148 ; LE-P9-O0-NEXT:    std r0, 128(r1)
149 ; LE-P9-O0-NEXT:    hashst r0, -8(r1)
150 ; LE-P9-O0-NEXT:    # kill: def $r4 killed $r4 killed $x4
151 ; LE-P9-O0-NEXT:    stw r4, 100(r1) # 4-byte Folded Spill
152 ; LE-P9-O0-NEXT:    # kill: def $r3 killed $r3 killed $x3
153 ; LE-P9-O0-NEXT:    clrldi r3, r3, 32
154 ; LE-P9-O0-NEXT:    bl callee
155 ; LE-P9-O0-NEXT:    nop
156 ; LE-P9-O0-NEXT:    lwz r4, 100(r1) # 4-byte Folded Reload
157 ; LE-P9-O0-NEXT:    add r3, r3, r4
158 ; LE-P9-O0-NEXT:    clrldi r3, r3, 32
159 ; LE-P9-O0-NEXT:    addi r1, r1, 112
160 ; LE-P9-O0-NEXT:    ld r0, 16(r1)
161 ; LE-P9-O0-NEXT:    hashchk r0, -8(r1)
162 ; LE-P9-O0-NEXT:    mtlr r0
163 ; LE-P9-O0-NEXT:    blr
165 ; LE-P8-O0-LABEL: caller:
166 ; LE-P8-O0:       # %bb.0: # %entry
167 ; LE-P8-O0-NEXT:    mflr r0
168 ; LE-P8-O0-NEXT:    stdu r1, -112(r1)
169 ; LE-P8-O0-NEXT:    std r0, 128(r1)
170 ; LE-P8-O0-NEXT:    hashst r0, -8(r1)
171 ; LE-P8-O0-NEXT:    # kill: def $r4 killed $r4 killed $x4
172 ; LE-P8-O0-NEXT:    stw r4, 100(r1) # 4-byte Folded Spill
173 ; LE-P8-O0-NEXT:    # kill: def $r3 killed $r3 killed $x3
174 ; LE-P8-O0-NEXT:    clrldi r3, r3, 32
175 ; LE-P8-O0-NEXT:    bl callee
176 ; LE-P8-O0-NEXT:    nop
177 ; LE-P8-O0-NEXT:    lwz r4, 100(r1) # 4-byte Folded Reload
178 ; LE-P8-O0-NEXT:    add r3, r3, r4
179 ; LE-P8-O0-NEXT:    clrldi r3, r3, 32
180 ; LE-P8-O0-NEXT:    addi r1, r1, 112
181 ; LE-P8-O0-NEXT:    ld r0, 16(r1)
182 ; LE-P8-O0-NEXT:    hashchk r0, -8(r1)
183 ; LE-P8-O0-NEXT:    mtlr r0
184 ; LE-P8-O0-NEXT:    blr
186 ; BE-P10-LABEL: caller:
187 ; BE-P10:       # %bb.0: # %entry
188 ; BE-P10-NEXT:    mflr r0
189 ; BE-P10-NEXT:    std r0, 16(r1)
190 ; BE-P10-NEXT:    hashst r0, -24(r1)
191 ; BE-P10-NEXT:    stdu r1, -144(r1)
192 ; BE-P10-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
193 ; BE-P10-NEXT:    mr r30, r4
194 ; BE-P10-NEXT:    bl callee
195 ; BE-P10-NEXT:    nop
196 ; BE-P10-NEXT:    add r3, r3, r30
197 ; BE-P10-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
198 ; BE-P10-NEXT:    clrldi r3, r3, 32
199 ; BE-P10-NEXT:    addi r1, r1, 144
200 ; BE-P10-NEXT:    ld r0, 16(r1)
201 ; BE-P10-NEXT:    hashchk r0, -24(r1)
202 ; BE-P10-NEXT:    mtlr r0
203 ; BE-P10-NEXT:    blr
205 ; BE-P9-LABEL: caller:
206 ; BE-P9:       # %bb.0: # %entry
207 ; BE-P9-NEXT:    mflr r0
208 ; BE-P9-NEXT:    stdu r1, -144(r1)
209 ; BE-P9-NEXT:    std r0, 160(r1)
210 ; BE-P9-NEXT:    hashst r0, -24(r1)
211 ; BE-P9-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
212 ; BE-P9-NEXT:    mr r30, r4
213 ; BE-P9-NEXT:    bl callee
214 ; BE-P9-NEXT:    nop
215 ; BE-P9-NEXT:    add r3, r3, r30
216 ; BE-P9-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
217 ; BE-P9-NEXT:    clrldi r3, r3, 32
218 ; BE-P9-NEXT:    addi r1, r1, 144
219 ; BE-P9-NEXT:    ld r0, 16(r1)
220 ; BE-P9-NEXT:    mtlr r0
221 ; BE-P9-NEXT:    hashchk r0, -24(r1)
222 ; BE-P9-NEXT:    blr
224 ; BE-P8-LABEL: caller:
225 ; BE-P8:       # %bb.0: # %entry
226 ; BE-P8-NEXT:    mflr r0
227 ; BE-P8-NEXT:    stdu r1, -144(r1)
228 ; BE-P8-NEXT:    std r0, 160(r1)
229 ; BE-P8-NEXT:    hashst r0, -24(r1)
230 ; BE-P8-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
231 ; BE-P8-NEXT:    mr r30, r4
232 ; BE-P8-NEXT:    bl callee
233 ; BE-P8-NEXT:    nop
234 ; BE-P8-NEXT:    add r3, r3, r30
235 ; BE-P8-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
236 ; BE-P8-NEXT:    clrldi r3, r3, 32
237 ; BE-P8-NEXT:    addi r1, r1, 144
238 ; BE-P8-NEXT:    ld r0, 16(r1)
239 ; BE-P8-NEXT:    mtlr r0
240 ; BE-P8-NEXT:    hashchk r0, -24(r1)
241 ; BE-P8-NEXT:    blr
243 ; BE-32BIT-P10-LABEL: caller:
244 ; BE-32BIT-P10:       # %bb.0: # %entry
245 ; BE-32BIT-P10-NEXT:    mflr r0
246 ; BE-32BIT-P10-NEXT:    stw r0, 4(r1)
247 ; BE-32BIT-P10-NEXT:    hashst r0, -16(r1)
248 ; BE-32BIT-P10-NEXT:    stwu r1, -32(r1)
249 ; BE-32BIT-P10-NEXT:    stw r30, 24(r1) # 4-byte Folded Spill
250 ; BE-32BIT-P10-NEXT:    mr r30, r4
251 ; BE-32BIT-P10-NEXT:    bl callee
252 ; BE-32BIT-P10-NEXT:    add r3, r3, r30
253 ; BE-32BIT-P10-NEXT:    lwz r30, 24(r1) # 4-byte Folded Reload
254 ; BE-32BIT-P10-NEXT:    lwz r0, 36(r1)
255 ; BE-32BIT-P10-NEXT:    addi r1, r1, 32
256 ; BE-32BIT-P10-NEXT:    hashchk r0, -16(r1)
257 ; BE-32BIT-P10-NEXT:    mtlr r0
258 ; BE-32BIT-P10-NEXT:    blr
260 ; BE-32BIT-P9-LABEL: caller:
261 ; BE-32BIT-P9:       # %bb.0: # %entry
262 ; BE-32BIT-P9-NEXT:    mflr r0
263 ; BE-32BIT-P9-NEXT:    stwu r1, -32(r1)
264 ; BE-32BIT-P9-NEXT:    stw r0, 36(r1)
265 ; BE-32BIT-P9-NEXT:    hashst r0, -16(r1)
266 ; BE-32BIT-P9-NEXT:    stw r30, 24(r1) # 4-byte Folded Spill
267 ; BE-32BIT-P9-NEXT:    mr r30, r4
268 ; BE-32BIT-P9-NEXT:    bl callee
269 ; BE-32BIT-P9-NEXT:    add r3, r3, r30
270 ; BE-32BIT-P9-NEXT:    lwz r30, 24(r1) # 4-byte Folded Reload
271 ; BE-32BIT-P9-NEXT:    lwz r0, 36(r1)
272 ; BE-32BIT-P9-NEXT:    addi r1, r1, 32
273 ; BE-32BIT-P9-NEXT:    mtlr r0
274 ; BE-32BIT-P9-NEXT:    hashchk r0, -16(r1)
275 ; BE-32BIT-P9-NEXT:    blr
277 ; BE-32BIT-P8-LABEL: caller:
278 ; BE-32BIT-P8:       # %bb.0: # %entry
279 ; BE-32BIT-P8-NEXT:    mflr r0
280 ; BE-32BIT-P8-NEXT:    stwu r1, -32(r1)
281 ; BE-32BIT-P8-NEXT:    stw r0, 36(r1)
282 ; BE-32BIT-P8-NEXT:    hashst r0, -16(r1)
283 ; BE-32BIT-P8-NEXT:    stw r30, 24(r1) # 4-byte Folded Spill
284 ; BE-32BIT-P8-NEXT:    mr r30, r4
285 ; BE-32BIT-P8-NEXT:    bl callee
286 ; BE-32BIT-P8-NEXT:    add r3, r3, r30
287 ; BE-32BIT-P8-NEXT:    lwz r30, 24(r1) # 4-byte Folded Reload
288 ; BE-32BIT-P8-NEXT:    lwz r0, 36(r1)
289 ; BE-32BIT-P8-NEXT:    addi r1, r1, 32
290 ; BE-32BIT-P8-NEXT:    mtlr r0
291 ; BE-32BIT-P8-NEXT:    hashchk r0, -16(r1)
292 ; BE-32BIT-P8-NEXT:    blr
294 ; LE-P10-PRIV-LABEL: caller:
295 ; LE-P10-PRIV:       # %bb.0: # %entry
296 ; LE-P10-PRIV-NEXT:    mflr r0
297 ; LE-P10-PRIV-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
298 ; LE-P10-PRIV-NEXT:    std r0, 16(r1)
299 ; LE-P10-PRIV-NEXT:    hashstp r0, -24(r1)
300 ; LE-P10-PRIV-NEXT:    stdu r1, -64(r1)
301 ; LE-P10-PRIV-NEXT:    mr r30, r4
302 ; LE-P10-PRIV-NEXT:    bl callee@notoc
303 ; LE-P10-PRIV-NEXT:    add r3, r3, r30
304 ; LE-P10-PRIV-NEXT:    clrldi r3, r3, 32
305 ; LE-P10-PRIV-NEXT:    addi r1, r1, 64
306 ; LE-P10-PRIV-NEXT:    ld r0, 16(r1)
307 ; LE-P10-PRIV-NEXT:    hashchkp r0, -24(r1)
308 ; LE-P10-PRIV-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
309 ; LE-P10-PRIV-NEXT:    mtlr r0
310 ; LE-P10-PRIV-NEXT:    blr
312 ; LE-P9-PRIV-LABEL: caller:
313 ; LE-P9-PRIV:       # %bb.0: # %entry
314 ; LE-P9-PRIV-NEXT:    mflr r0
315 ; LE-P9-PRIV-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
316 ; LE-P9-PRIV-NEXT:    stdu r1, -64(r1)
317 ; LE-P9-PRIV-NEXT:    std r0, 80(r1)
318 ; LE-P9-PRIV-NEXT:    hashstp r0, -24(r1)
319 ; LE-P9-PRIV-NEXT:    mr r30, r4
320 ; LE-P9-PRIV-NEXT:    bl callee
321 ; LE-P9-PRIV-NEXT:    nop
322 ; LE-P9-PRIV-NEXT:    add r3, r3, r30
323 ; LE-P9-PRIV-NEXT:    clrldi r3, r3, 32
324 ; LE-P9-PRIV-NEXT:    addi r1, r1, 64
325 ; LE-P9-PRIV-NEXT:    ld r0, 16(r1)
326 ; LE-P9-PRIV-NEXT:    mtlr r0
327 ; LE-P9-PRIV-NEXT:    hashchkp r0, -24(r1)
328 ; LE-P9-PRIV-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
329 ; LE-P9-PRIV-NEXT:    blr
331 ; LE-P8-PRIV-LABEL: caller:
332 ; LE-P8-PRIV:       # %bb.0: # %entry
333 ; LE-P8-PRIV-NEXT:    mflr r0
334 ; LE-P8-PRIV-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
335 ; LE-P8-PRIV-NEXT:    stdu r1, -64(r1)
336 ; LE-P8-PRIV-NEXT:    std r0, 80(r1)
337 ; LE-P8-PRIV-NEXT:    hashstp r0, -24(r1)
338 ; LE-P8-PRIV-NEXT:    mr r30, r4
339 ; LE-P8-PRIV-NEXT:    bl callee
340 ; LE-P8-PRIV-NEXT:    nop
341 ; LE-P8-PRIV-NEXT:    add r3, r3, r30
342 ; LE-P8-PRIV-NEXT:    clrldi r3, r3, 32
343 ; LE-P8-PRIV-NEXT:    addi r1, r1, 64
344 ; LE-P8-PRIV-NEXT:    ld r0, 16(r1)
345 ; LE-P8-PRIV-NEXT:    mtlr r0
346 ; LE-P8-PRIV-NEXT:    hashchkp r0, -24(r1)
347 ; LE-P8-PRIV-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
348 ; LE-P8-PRIV-NEXT:    blr
350 ; BE-P10-PRIV-LABEL: caller:
351 ; BE-P10-PRIV:       # %bb.0: # %entry
352 ; BE-P10-PRIV-NEXT:    mflr r0
353 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
354 ; BE-P10-PRIV-NEXT:    hashstp r0, -24(r1)
355 ; BE-P10-PRIV-NEXT:    stdu r1, -144(r1)
356 ; BE-P10-PRIV-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
357 ; BE-P10-PRIV-NEXT:    mr r30, r4
358 ; BE-P10-PRIV-NEXT:    bl callee
359 ; BE-P10-PRIV-NEXT:    nop
360 ; BE-P10-PRIV-NEXT:    add r3, r3, r30
361 ; BE-P10-PRIV-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
362 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
363 ; BE-P10-PRIV-NEXT:    addi r1, r1, 144
364 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
365 ; BE-P10-PRIV-NEXT:    hashchkp r0, -24(r1)
366 ; BE-P10-PRIV-NEXT:    mtlr r0
367 ; BE-P10-PRIV-NEXT:    blr
369 ; BE-P9-PRIV-LABEL: caller:
370 ; BE-P9-PRIV:       # %bb.0: # %entry
371 ; BE-P9-PRIV-NEXT:    mflr r0
372 ; BE-P9-PRIV-NEXT:    stdu r1, -144(r1)
373 ; BE-P9-PRIV-NEXT:    std r0, 160(r1)
374 ; BE-P9-PRIV-NEXT:    hashstp r0, -24(r1)
375 ; BE-P9-PRIV-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
376 ; BE-P9-PRIV-NEXT:    mr r30, r4
377 ; BE-P9-PRIV-NEXT:    bl callee
378 ; BE-P9-PRIV-NEXT:    nop
379 ; BE-P9-PRIV-NEXT:    add r3, r3, r30
380 ; BE-P9-PRIV-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
381 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
382 ; BE-P9-PRIV-NEXT:    addi r1, r1, 144
383 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
384 ; BE-P9-PRIV-NEXT:    mtlr r0
385 ; BE-P9-PRIV-NEXT:    hashchkp r0, -24(r1)
386 ; BE-P9-PRIV-NEXT:    blr
388 ; BE-P8-PRIV-LABEL: caller:
389 ; BE-P8-PRIV:       # %bb.0: # %entry
390 ; BE-P8-PRIV-NEXT:    mflr r0
391 ; BE-P8-PRIV-NEXT:    stdu r1, -144(r1)
392 ; BE-P8-PRIV-NEXT:    std r0, 160(r1)
393 ; BE-P8-PRIV-NEXT:    hashstp r0, -24(r1)
394 ; BE-P8-PRIV-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
395 ; BE-P8-PRIV-NEXT:    mr r30, r4
396 ; BE-P8-PRIV-NEXT:    bl callee
397 ; BE-P8-PRIV-NEXT:    nop
398 ; BE-P8-PRIV-NEXT:    add r3, r3, r30
399 ; BE-P8-PRIV-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
400 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
401 ; BE-P8-PRIV-NEXT:    addi r1, r1, 144
402 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
403 ; BE-P8-PRIV-NEXT:    mtlr r0
404 ; BE-P8-PRIV-NEXT:    hashchkp r0, -24(r1)
405 ; BE-P8-PRIV-NEXT:    blr
406 entry:
407   %call = tail call zeroext i32 @callee(i32 zeroext %in)
408   %add = add i32 %call, %add_after
409   ret i32 %add
412 ;; NOTE: This test is technically a violation of the ABI. The hash is saved
413 ;; outside of the initial 288 byte volatile program storage region in the
414 ;; Protected Zone. However, this restriction will be removed in an upcoming
415 ;; revision of the ABI.
416 define dso_local zeroext i32 @spill(ptr nocapture readonly %in) #0 {
417 ; LE-P10-LABEL: spill:
418 ; LE-P10:       # %bb.0: # %entry
419 ; LE-P10-NEXT:    mflr r0
420 ; LE-P10-NEXT:    mfcr r12
421 ; LE-P10-NEXT:    std r0, 16(r1)
422 ; LE-P10-NEXT:    hashst r0, -488(r1)
423 ; LE-P10-NEXT:    stw r12, 8(r1)
424 ; LE-P10-NEXT:    stdu r1, -544(r1)
425 ; LE-P10-NEXT:    lwz r4, 12(r3)
426 ; LE-P10-NEXT:    std r14, 256(r1) # 8-byte Folded Spill
427 ; LE-P10-NEXT:    std r15, 264(r1) # 8-byte Folded Spill
428 ; LE-P10-NEXT:    std r16, 272(r1) # 8-byte Folded Spill
429 ; LE-P10-NEXT:    std r17, 280(r1) # 8-byte Folded Spill
430 ; LE-P10-NEXT:    std r18, 288(r1) # 8-byte Folded Spill
431 ; LE-P10-NEXT:    std r19, 296(r1) # 8-byte Folded Spill
432 ; LE-P10-NEXT:    std r20, 304(r1) # 8-byte Folded Spill
433 ; LE-P10-NEXT:    std r21, 312(r1) # 8-byte Folded Spill
434 ; LE-P10-NEXT:    std r22, 320(r1) # 8-byte Folded Spill
435 ; LE-P10-NEXT:    std r23, 328(r1) # 8-byte Folded Spill
436 ; LE-P10-NEXT:    std r24, 336(r1) # 8-byte Folded Spill
437 ; LE-P10-NEXT:    std r25, 344(r1) # 8-byte Folded Spill
438 ; LE-P10-NEXT:    std r26, 352(r1) # 8-byte Folded Spill
439 ; LE-P10-NEXT:    std r27, 360(r1) # 8-byte Folded Spill
440 ; LE-P10-NEXT:    std r28, 368(r1) # 8-byte Folded Spill
441 ; LE-P10-NEXT:    std r29, 376(r1) # 8-byte Folded Spill
442 ; LE-P10-NEXT:    std r30, 384(r1) # 8-byte Folded Spill
443 ; LE-P10-NEXT:    std r31, 392(r1) # 8-byte Folded Spill
444 ; LE-P10-NEXT:    stfd f14, 400(r1) # 8-byte Folded Spill
445 ; LE-P10-NEXT:    stfd f15, 408(r1) # 8-byte Folded Spill
446 ; LE-P10-NEXT:    stfd f16, 416(r1) # 8-byte Folded Spill
447 ; LE-P10-NEXT:    stfd f17, 424(r1) # 8-byte Folded Spill
448 ; LE-P10-NEXT:    stfd f18, 432(r1) # 8-byte Folded Spill
449 ; LE-P10-NEXT:    stfd f19, 440(r1) # 8-byte Folded Spill
450 ; LE-P10-NEXT:    stfd f20, 448(r1) # 8-byte Folded Spill
451 ; LE-P10-NEXT:    stfd f21, 456(r1) # 8-byte Folded Spill
452 ; LE-P10-NEXT:    stfd f22, 464(r1) # 8-byte Folded Spill
453 ; LE-P10-NEXT:    stfd f23, 472(r1) # 8-byte Folded Spill
454 ; LE-P10-NEXT:    stfd f24, 480(r1) # 8-byte Folded Spill
455 ; LE-P10-NEXT:    stfd f25, 488(r1) # 8-byte Folded Spill
456 ; LE-P10-NEXT:    stfd f26, 496(r1) # 8-byte Folded Spill
457 ; LE-P10-NEXT:    stfd f27, 504(r1) # 8-byte Folded Spill
458 ; LE-P10-NEXT:    stfd f28, 512(r1) # 8-byte Folded Spill
459 ; LE-P10-NEXT:    stfd f29, 520(r1) # 8-byte Folded Spill
460 ; LE-P10-NEXT:    stfd f30, 528(r1) # 8-byte Folded Spill
461 ; LE-P10-NEXT:    stfd f31, 536(r1) # 8-byte Folded Spill
462 ; LE-P10-NEXT:    stxv v20, 64(r1) # 16-byte Folded Spill
463 ; LE-P10-NEXT:    stxv v21, 80(r1) # 16-byte Folded Spill
464 ; LE-P10-NEXT:    stxv v22, 96(r1) # 16-byte Folded Spill
465 ; LE-P10-NEXT:    stxv v23, 112(r1) # 16-byte Folded Spill
466 ; LE-P10-NEXT:    stxv v24, 128(r1) # 16-byte Folded Spill
467 ; LE-P10-NEXT:    stxv v25, 144(r1) # 16-byte Folded Spill
468 ; LE-P10-NEXT:    stxv v26, 160(r1) # 16-byte Folded Spill
469 ; LE-P10-NEXT:    stxv v27, 176(r1) # 16-byte Folded Spill
470 ; LE-P10-NEXT:    stxv v28, 192(r1) # 16-byte Folded Spill
471 ; LE-P10-NEXT:    stxv v29, 208(r1) # 16-byte Folded Spill
472 ; LE-P10-NEXT:    stxv v30, 224(r1) # 16-byte Folded Spill
473 ; LE-P10-NEXT:    stxv v31, 240(r1) # 16-byte Folded Spill
474 ; LE-P10-NEXT:    std r3, 40(r1) # 8-byte Folded Spill
475 ; LE-P10-NEXT:    stw r4, 52(r1)
476 ; LE-P10-NEXT:    #APP
477 ; LE-P10-NEXT:    nop
478 ; LE-P10-NEXT:    #NO_APP
479 ; LE-P10-NEXT:    addi r3, r1, 52
480 ; LE-P10-NEXT:    bl callee2@notoc
481 ; LE-P10-NEXT:    ld r4, 40(r1) # 8-byte Folded Reload
482 ; LE-P10-NEXT:    lxv v31, 240(r1) # 16-byte Folded Reload
483 ; LE-P10-NEXT:    lxv v30, 224(r1) # 16-byte Folded Reload
484 ; LE-P10-NEXT:    lxv v29, 208(r1) # 16-byte Folded Reload
485 ; LE-P10-NEXT:    lxv v28, 192(r1) # 16-byte Folded Reload
486 ; LE-P10-NEXT:    lxv v27, 176(r1) # 16-byte Folded Reload
487 ; LE-P10-NEXT:    lxv v26, 160(r1) # 16-byte Folded Reload
488 ; LE-P10-NEXT:    lxv v25, 144(r1) # 16-byte Folded Reload
489 ; LE-P10-NEXT:    lxv v24, 128(r1) # 16-byte Folded Reload
490 ; LE-P10-NEXT:    lxv v23, 112(r1) # 16-byte Folded Reload
491 ; LE-P10-NEXT:    lxv v22, 96(r1) # 16-byte Folded Reload
492 ; LE-P10-NEXT:    lxv v21, 80(r1) # 16-byte Folded Reload
493 ; LE-P10-NEXT:    lxv v20, 64(r1) # 16-byte Folded Reload
494 ; LE-P10-NEXT:    lfd f31, 536(r1) # 8-byte Folded Reload
495 ; LE-P10-NEXT:    lfd f30, 528(r1) # 8-byte Folded Reload
496 ; LE-P10-NEXT:    lfd f29, 520(r1) # 8-byte Folded Reload
497 ; LE-P10-NEXT:    lfd f28, 512(r1) # 8-byte Folded Reload
498 ; LE-P10-NEXT:    lfd f27, 504(r1) # 8-byte Folded Reload
499 ; LE-P10-NEXT:    lfd f26, 496(r1) # 8-byte Folded Reload
500 ; LE-P10-NEXT:    lfd f25, 488(r1) # 8-byte Folded Reload
501 ; LE-P10-NEXT:    lfd f24, 480(r1) # 8-byte Folded Reload
502 ; LE-P10-NEXT:    lfd f23, 472(r1) # 8-byte Folded Reload
503 ; LE-P10-NEXT:    lfd f22, 464(r1) # 8-byte Folded Reload
504 ; LE-P10-NEXT:    lfd f21, 456(r1) # 8-byte Folded Reload
505 ; LE-P10-NEXT:    lfd f20, 448(r1) # 8-byte Folded Reload
506 ; LE-P10-NEXT:    lfd f19, 440(r1) # 8-byte Folded Reload
507 ; LE-P10-NEXT:    lfd f18, 432(r1) # 8-byte Folded Reload
508 ; LE-P10-NEXT:    lfd f17, 424(r1) # 8-byte Folded Reload
509 ; LE-P10-NEXT:    lfd f16, 416(r1) # 8-byte Folded Reload
510 ; LE-P10-NEXT:    lfd f15, 408(r1) # 8-byte Folded Reload
511 ; LE-P10-NEXT:    lfd f14, 400(r1) # 8-byte Folded Reload
512 ; LE-P10-NEXT:    ld r31, 392(r1) # 8-byte Folded Reload
513 ; LE-P10-NEXT:    ld r30, 384(r1) # 8-byte Folded Reload
514 ; LE-P10-NEXT:    ld r29, 376(r1) # 8-byte Folded Reload
515 ; LE-P10-NEXT:    ld r28, 368(r1) # 8-byte Folded Reload
516 ; LE-P10-NEXT:    ld r27, 360(r1) # 8-byte Folded Reload
517 ; LE-P10-NEXT:    ld r26, 352(r1) # 8-byte Folded Reload
518 ; LE-P10-NEXT:    ld r25, 344(r1) # 8-byte Folded Reload
519 ; LE-P10-NEXT:    ld r24, 336(r1) # 8-byte Folded Reload
520 ; LE-P10-NEXT:    ld r23, 328(r1) # 8-byte Folded Reload
521 ; LE-P10-NEXT:    ld r22, 320(r1) # 8-byte Folded Reload
522 ; LE-P10-NEXT:    ld r21, 312(r1) # 8-byte Folded Reload
523 ; LE-P10-NEXT:    ld r20, 304(r1) # 8-byte Folded Reload
524 ; LE-P10-NEXT:    ld r19, 296(r1) # 8-byte Folded Reload
525 ; LE-P10-NEXT:    ld r18, 288(r1) # 8-byte Folded Reload
526 ; LE-P10-NEXT:    ld r17, 280(r1) # 8-byte Folded Reload
527 ; LE-P10-NEXT:    ld r16, 272(r1) # 8-byte Folded Reload
528 ; LE-P10-NEXT:    ld r15, 264(r1) # 8-byte Folded Reload
529 ; LE-P10-NEXT:    lwz r4, 16(r4)
530 ; LE-P10-NEXT:    add r3, r4, r3
531 ; LE-P10-NEXT:    clrldi r3, r3, 32
532 ; LE-P10-NEXT:    ld r14, 256(r1) # 8-byte Folded Reload
533 ; LE-P10-NEXT:    addi r1, r1, 544
534 ; LE-P10-NEXT:    ld r0, 16(r1)
535 ; LE-P10-NEXT:    lwz r12, 8(r1)
536 ; LE-P10-NEXT:    mtlr r0
537 ; LE-P10-NEXT:    hashchk r0, -488(r1)
538 ; LE-P10-NEXT:    mtocrf 32, r12
539 ; LE-P10-NEXT:    mtocrf 16, r12
540 ; LE-P10-NEXT:    mtocrf 8, r12
541 ; LE-P10-NEXT:    blr
543 ; LE-P9-LABEL: spill:
544 ; LE-P9:       # %bb.0: # %entry
545 ; LE-P9-NEXT:    mfcr r12
546 ; LE-P9-NEXT:    mflr r0
547 ; LE-P9-NEXT:    stw r12, 8(r1)
548 ; LE-P9-NEXT:    stdu r1, -544(r1)
549 ; LE-P9-NEXT:    std r0, 560(r1)
550 ; LE-P9-NEXT:    hashst r0, -488(r1)
551 ; LE-P9-NEXT:    std r14, 256(r1) # 8-byte Folded Spill
552 ; LE-P9-NEXT:    stxv v20, 64(r1) # 16-byte Folded Spill
553 ; LE-P9-NEXT:    stxv v21, 80(r1) # 16-byte Folded Spill
554 ; LE-P9-NEXT:    lwz r4, 12(r3)
555 ; LE-P9-NEXT:    std r15, 264(r1) # 8-byte Folded Spill
556 ; LE-P9-NEXT:    stxv v22, 96(r1) # 16-byte Folded Spill
557 ; LE-P9-NEXT:    std r16, 272(r1) # 8-byte Folded Spill
558 ; LE-P9-NEXT:    stxv v23, 112(r1) # 16-byte Folded Spill
559 ; LE-P9-NEXT:    std r17, 280(r1) # 8-byte Folded Spill
560 ; LE-P9-NEXT:    stxv v24, 128(r1) # 16-byte Folded Spill
561 ; LE-P9-NEXT:    std r18, 288(r1) # 8-byte Folded Spill
562 ; LE-P9-NEXT:    stxv v25, 144(r1) # 16-byte Folded Spill
563 ; LE-P9-NEXT:    std r19, 296(r1) # 8-byte Folded Spill
564 ; LE-P9-NEXT:    std r20, 304(r1) # 8-byte Folded Spill
565 ; LE-P9-NEXT:    stxv v26, 160(r1) # 16-byte Folded Spill
566 ; LE-P9-NEXT:    std r21, 312(r1) # 8-byte Folded Spill
567 ; LE-P9-NEXT:    stxv v27, 176(r1) # 16-byte Folded Spill
568 ; LE-P9-NEXT:    std r22, 320(r1) # 8-byte Folded Spill
569 ; LE-P9-NEXT:    stxv v28, 192(r1) # 16-byte Folded Spill
570 ; LE-P9-NEXT:    std r23, 328(r1) # 8-byte Folded Spill
571 ; LE-P9-NEXT:    std r24, 336(r1) # 8-byte Folded Spill
572 ; LE-P9-NEXT:    stxv v29, 208(r1) # 16-byte Folded Spill
573 ; LE-P9-NEXT:    std r25, 344(r1) # 8-byte Folded Spill
574 ; LE-P9-NEXT:    stxv v30, 224(r1) # 16-byte Folded Spill
575 ; LE-P9-NEXT:    std r26, 352(r1) # 8-byte Folded Spill
576 ; LE-P9-NEXT:    stxv v31, 240(r1) # 16-byte Folded Spill
577 ; LE-P9-NEXT:    std r27, 360(r1) # 8-byte Folded Spill
578 ; LE-P9-NEXT:    std r28, 368(r1) # 8-byte Folded Spill
579 ; LE-P9-NEXT:    std r29, 376(r1) # 8-byte Folded Spill
580 ; LE-P9-NEXT:    std r30, 384(r1) # 8-byte Folded Spill
581 ; LE-P9-NEXT:    std r31, 392(r1) # 8-byte Folded Spill
582 ; LE-P9-NEXT:    stfd f14, 400(r1) # 8-byte Folded Spill
583 ; LE-P9-NEXT:    stfd f15, 408(r1) # 8-byte Folded Spill
584 ; LE-P9-NEXT:    stfd f16, 416(r1) # 8-byte Folded Spill
585 ; LE-P9-NEXT:    stfd f17, 424(r1) # 8-byte Folded Spill
586 ; LE-P9-NEXT:    stfd f18, 432(r1) # 8-byte Folded Spill
587 ; LE-P9-NEXT:    stfd f19, 440(r1) # 8-byte Folded Spill
588 ; LE-P9-NEXT:    stfd f20, 448(r1) # 8-byte Folded Spill
589 ; LE-P9-NEXT:    stfd f21, 456(r1) # 8-byte Folded Spill
590 ; LE-P9-NEXT:    stfd f22, 464(r1) # 8-byte Folded Spill
591 ; LE-P9-NEXT:    stfd f23, 472(r1) # 8-byte Folded Spill
592 ; LE-P9-NEXT:    stfd f24, 480(r1) # 8-byte Folded Spill
593 ; LE-P9-NEXT:    stfd f25, 488(r1) # 8-byte Folded Spill
594 ; LE-P9-NEXT:    stfd f26, 496(r1) # 8-byte Folded Spill
595 ; LE-P9-NEXT:    stfd f27, 504(r1) # 8-byte Folded Spill
596 ; LE-P9-NEXT:    stfd f28, 512(r1) # 8-byte Folded Spill
597 ; LE-P9-NEXT:    stfd f29, 520(r1) # 8-byte Folded Spill
598 ; LE-P9-NEXT:    stfd f30, 528(r1) # 8-byte Folded Spill
599 ; LE-P9-NEXT:    stfd f31, 536(r1) # 8-byte Folded Spill
600 ; LE-P9-NEXT:    std r3, 40(r1) # 8-byte Folded Spill
601 ; LE-P9-NEXT:    stw r4, 52(r1)
602 ; LE-P9-NEXT:    #APP
603 ; LE-P9-NEXT:    nop
604 ; LE-P9-NEXT:    #NO_APP
605 ; LE-P9-NEXT:    addi r3, r1, 52
606 ; LE-P9-NEXT:    bl callee2
607 ; LE-P9-NEXT:    nop
608 ; LE-P9-NEXT:    ld r4, 40(r1) # 8-byte Folded Reload
609 ; LE-P9-NEXT:    lxv v31, 240(r1) # 16-byte Folded Reload
610 ; LE-P9-NEXT:    lxv v30, 224(r1) # 16-byte Folded Reload
611 ; LE-P9-NEXT:    lxv v29, 208(r1) # 16-byte Folded Reload
612 ; LE-P9-NEXT:    lxv v28, 192(r1) # 16-byte Folded Reload
613 ; LE-P9-NEXT:    lxv v27, 176(r1) # 16-byte Folded Reload
614 ; LE-P9-NEXT:    lxv v26, 160(r1) # 16-byte Folded Reload
615 ; LE-P9-NEXT:    lxv v25, 144(r1) # 16-byte Folded Reload
616 ; LE-P9-NEXT:    lxv v24, 128(r1) # 16-byte Folded Reload
617 ; LE-P9-NEXT:    lxv v23, 112(r1) # 16-byte Folded Reload
618 ; LE-P9-NEXT:    lxv v22, 96(r1) # 16-byte Folded Reload
619 ; LE-P9-NEXT:    lxv v21, 80(r1) # 16-byte Folded Reload
620 ; LE-P9-NEXT:    lxv v20, 64(r1) # 16-byte Folded Reload
621 ; LE-P9-NEXT:    lfd f31, 536(r1) # 8-byte Folded Reload
622 ; LE-P9-NEXT:    lfd f30, 528(r1) # 8-byte Folded Reload
623 ; LE-P9-NEXT:    lfd f29, 520(r1) # 8-byte Folded Reload
624 ; LE-P9-NEXT:    lfd f28, 512(r1) # 8-byte Folded Reload
625 ; LE-P9-NEXT:    lfd f27, 504(r1) # 8-byte Folded Reload
626 ; LE-P9-NEXT:    ld r31, 392(r1) # 8-byte Folded Reload
627 ; LE-P9-NEXT:    ld r30, 384(r1) # 8-byte Folded Reload
628 ; LE-P9-NEXT:    ld r29, 376(r1) # 8-byte Folded Reload
629 ; LE-P9-NEXT:    lfd f26, 496(r1) # 8-byte Folded Reload
630 ; LE-P9-NEXT:    ld r28, 368(r1) # 8-byte Folded Reload
631 ; LE-P9-NEXT:    ld r27, 360(r1) # 8-byte Folded Reload
632 ; LE-P9-NEXT:    ld r26, 352(r1) # 8-byte Folded Reload
633 ; LE-P9-NEXT:    lfd f25, 488(r1) # 8-byte Folded Reload
634 ; LE-P9-NEXT:    ld r25, 344(r1) # 8-byte Folded Reload
635 ; LE-P9-NEXT:    ld r24, 336(r1) # 8-byte Folded Reload
636 ; LE-P9-NEXT:    ld r23, 328(r1) # 8-byte Folded Reload
637 ; LE-P9-NEXT:    lfd f24, 480(r1) # 8-byte Folded Reload
638 ; LE-P9-NEXT:    ld r22, 320(r1) # 8-byte Folded Reload
639 ; LE-P9-NEXT:    ld r21, 312(r1) # 8-byte Folded Reload
640 ; LE-P9-NEXT:    lwz r4, 16(r4)
641 ; LE-P9-NEXT:    add r3, r4, r3
642 ; LE-P9-NEXT:    lfd f23, 472(r1) # 8-byte Folded Reload
643 ; LE-P9-NEXT:    lfd f22, 464(r1) # 8-byte Folded Reload
644 ; LE-P9-NEXT:    ld r20, 304(r1) # 8-byte Folded Reload
645 ; LE-P9-NEXT:    ld r19, 296(r1) # 8-byte Folded Reload
646 ; LE-P9-NEXT:    ld r18, 288(r1) # 8-byte Folded Reload
647 ; LE-P9-NEXT:    ld r17, 280(r1) # 8-byte Folded Reload
648 ; LE-P9-NEXT:    ld r16, 272(r1) # 8-byte Folded Reload
649 ; LE-P9-NEXT:    ld r15, 264(r1) # 8-byte Folded Reload
650 ; LE-P9-NEXT:    ld r14, 256(r1) # 8-byte Folded Reload
651 ; LE-P9-NEXT:    lfd f21, 456(r1) # 8-byte Folded Reload
652 ; LE-P9-NEXT:    lfd f20, 448(r1) # 8-byte Folded Reload
653 ; LE-P9-NEXT:    lfd f19, 440(r1) # 8-byte Folded Reload
654 ; LE-P9-NEXT:    lfd f18, 432(r1) # 8-byte Folded Reload
655 ; LE-P9-NEXT:    lfd f17, 424(r1) # 8-byte Folded Reload
656 ; LE-P9-NEXT:    lfd f16, 416(r1) # 8-byte Folded Reload
657 ; LE-P9-NEXT:    lfd f15, 408(r1) # 8-byte Folded Reload
658 ; LE-P9-NEXT:    lfd f14, 400(r1) # 8-byte Folded Reload
659 ; LE-P9-NEXT:    clrldi r3, r3, 32
660 ; LE-P9-NEXT:    addi r1, r1, 544
661 ; LE-P9-NEXT:    ld r0, 16(r1)
662 ; LE-P9-NEXT:    lwz r12, 8(r1)
663 ; LE-P9-NEXT:    mtlr r0
664 ; LE-P9-NEXT:    hashchk r0, -488(r1)
665 ; LE-P9-NEXT:    mtocrf 32, r12
666 ; LE-P9-NEXT:    mtocrf 16, r12
667 ; LE-P9-NEXT:    mtocrf 8, r12
668 ; LE-P9-NEXT:    blr
670 ; LE-P8-LABEL: spill:
671 ; LE-P8:       # %bb.0: # %entry
672 ; LE-P8-NEXT:    mfcr r12
673 ; LE-P8-NEXT:    stw r12, 8(r1)
674 ; LE-P8-NEXT:    mflr r0
675 ; LE-P8-NEXT:    stdu r1, -544(r1)
676 ; LE-P8-NEXT:    li r4, 64
677 ; LE-P8-NEXT:    std r0, 560(r1)
678 ; LE-P8-NEXT:    hashst r0, -488(r1)
679 ; LE-P8-NEXT:    std r14, 256(r1) # 8-byte Folded Spill
680 ; LE-P8-NEXT:    std r15, 264(r1) # 8-byte Folded Spill
681 ; LE-P8-NEXT:    std r16, 272(r1) # 8-byte Folded Spill
682 ; LE-P8-NEXT:    std r17, 280(r1) # 8-byte Folded Spill
683 ; LE-P8-NEXT:    std r18, 288(r1) # 8-byte Folded Spill
684 ; LE-P8-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
685 ; LE-P8-NEXT:    li r4, 80
686 ; LE-P8-NEXT:    std r19, 296(r1) # 8-byte Folded Spill
687 ; LE-P8-NEXT:    std r20, 304(r1) # 8-byte Folded Spill
688 ; LE-P8-NEXT:    std r21, 312(r1) # 8-byte Folded Spill
689 ; LE-P8-NEXT:    std r22, 320(r1) # 8-byte Folded Spill
690 ; LE-P8-NEXT:    std r23, 328(r1) # 8-byte Folded Spill
691 ; LE-P8-NEXT:    std r24, 336(r1) # 8-byte Folded Spill
692 ; LE-P8-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
693 ; LE-P8-NEXT:    li r4, 96
694 ; LE-P8-NEXT:    std r25, 344(r1) # 8-byte Folded Spill
695 ; LE-P8-NEXT:    std r26, 352(r1) # 8-byte Folded Spill
696 ; LE-P8-NEXT:    std r27, 360(r1) # 8-byte Folded Spill
697 ; LE-P8-NEXT:    std r28, 368(r1) # 8-byte Folded Spill
698 ; LE-P8-NEXT:    std r29, 376(r1) # 8-byte Folded Spill
699 ; LE-P8-NEXT:    std r30, 384(r1) # 8-byte Folded Spill
700 ; LE-P8-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
701 ; LE-P8-NEXT:    li r4, 112
702 ; LE-P8-NEXT:    std r31, 392(r1) # 8-byte Folded Spill
703 ; LE-P8-NEXT:    stfd f14, 400(r1) # 8-byte Folded Spill
704 ; LE-P8-NEXT:    stfd f15, 408(r1) # 8-byte Folded Spill
705 ; LE-P8-NEXT:    stfd f16, 416(r1) # 8-byte Folded Spill
706 ; LE-P8-NEXT:    stfd f17, 424(r1) # 8-byte Folded Spill
707 ; LE-P8-NEXT:    stfd f18, 432(r1) # 8-byte Folded Spill
708 ; LE-P8-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
709 ; LE-P8-NEXT:    li r4, 128
710 ; LE-P8-NEXT:    stfd f19, 440(r1) # 8-byte Folded Spill
711 ; LE-P8-NEXT:    stfd f20, 448(r1) # 8-byte Folded Spill
712 ; LE-P8-NEXT:    stfd f21, 456(r1) # 8-byte Folded Spill
713 ; LE-P8-NEXT:    stfd f22, 464(r1) # 8-byte Folded Spill
714 ; LE-P8-NEXT:    stfd f23, 472(r1) # 8-byte Folded Spill
715 ; LE-P8-NEXT:    stfd f24, 480(r1) # 8-byte Folded Spill
716 ; LE-P8-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
717 ; LE-P8-NEXT:    li r4, 144
718 ; LE-P8-NEXT:    stfd f25, 488(r1) # 8-byte Folded Spill
719 ; LE-P8-NEXT:    stfd f26, 496(r1) # 8-byte Folded Spill
720 ; LE-P8-NEXT:    stfd f27, 504(r1) # 8-byte Folded Spill
721 ; LE-P8-NEXT:    stfd f28, 512(r1) # 8-byte Folded Spill
722 ; LE-P8-NEXT:    stfd f29, 520(r1) # 8-byte Folded Spill
723 ; LE-P8-NEXT:    stfd f30, 528(r1) # 8-byte Folded Spill
724 ; LE-P8-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
725 ; LE-P8-NEXT:    li r4, 160
726 ; LE-P8-NEXT:    stfd f31, 536(r1) # 8-byte Folded Spill
727 ; LE-P8-NEXT:    std r3, 40(r1) # 8-byte Folded Spill
728 ; LE-P8-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
729 ; LE-P8-NEXT:    li r4, 176
730 ; LE-P8-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
731 ; LE-P8-NEXT:    li r4, 192
732 ; LE-P8-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
733 ; LE-P8-NEXT:    li r4, 208
734 ; LE-P8-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
735 ; LE-P8-NEXT:    li r4, 224
736 ; LE-P8-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
737 ; LE-P8-NEXT:    li r4, 240
738 ; LE-P8-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
739 ; LE-P8-NEXT:    lwz r4, 12(r3)
740 ; LE-P8-NEXT:    stw r4, 52(r1)
741 ; LE-P8-NEXT:    #APP
742 ; LE-P8-NEXT:    nop
743 ; LE-P8-NEXT:    #NO_APP
744 ; LE-P8-NEXT:    addi r3, r1, 52
745 ; LE-P8-NEXT:    bl callee2
746 ; LE-P8-NEXT:    nop
747 ; LE-P8-NEXT:    ld r4, 40(r1) # 8-byte Folded Reload
748 ; LE-P8-NEXT:    lfd f31, 536(r1) # 8-byte Folded Reload
749 ; LE-P8-NEXT:    lfd f30, 528(r1) # 8-byte Folded Reload
750 ; LE-P8-NEXT:    ld r31, 392(r1) # 8-byte Folded Reload
751 ; LE-P8-NEXT:    lfd f29, 520(r1) # 8-byte Folded Reload
752 ; LE-P8-NEXT:    lfd f28, 512(r1) # 8-byte Folded Reload
753 ; LE-P8-NEXT:    ld r30, 384(r1) # 8-byte Folded Reload
754 ; LE-P8-NEXT:    ld r29, 376(r1) # 8-byte Folded Reload
755 ; LE-P8-NEXT:    lfd f27, 504(r1) # 8-byte Folded Reload
756 ; LE-P8-NEXT:    lfd f26, 496(r1) # 8-byte Folded Reload
757 ; LE-P8-NEXT:    ld r28, 368(r1) # 8-byte Folded Reload
758 ; LE-P8-NEXT:    ld r27, 360(r1) # 8-byte Folded Reload
759 ; LE-P8-NEXT:    lwz r4, 16(r4)
760 ; LE-P8-NEXT:    lfd f25, 488(r1) # 8-byte Folded Reload
761 ; LE-P8-NEXT:    lfd f24, 480(r1) # 8-byte Folded Reload
762 ; LE-P8-NEXT:    ld r26, 352(r1) # 8-byte Folded Reload
763 ; LE-P8-NEXT:    lfd f23, 472(r1) # 8-byte Folded Reload
764 ; LE-P8-NEXT:    lfd f22, 464(r1) # 8-byte Folded Reload
765 ; LE-P8-NEXT:    ld r25, 344(r1) # 8-byte Folded Reload
766 ; LE-P8-NEXT:    ld r24, 336(r1) # 8-byte Folded Reload
767 ; LE-P8-NEXT:    lfd f21, 456(r1) # 8-byte Folded Reload
768 ; LE-P8-NEXT:    lfd f20, 448(r1) # 8-byte Folded Reload
769 ; LE-P8-NEXT:    ld r23, 328(r1) # 8-byte Folded Reload
770 ; LE-P8-NEXT:    ld r22, 320(r1) # 8-byte Folded Reload
771 ; LE-P8-NEXT:    add r3, r4, r3
772 ; LE-P8-NEXT:    li r4, 240
773 ; LE-P8-NEXT:    lfd f19, 440(r1) # 8-byte Folded Reload
774 ; LE-P8-NEXT:    lfd f18, 432(r1) # 8-byte Folded Reload
775 ; LE-P8-NEXT:    lfd f17, 424(r1) # 8-byte Folded Reload
776 ; LE-P8-NEXT:    lfd f16, 416(r1) # 8-byte Folded Reload
777 ; LE-P8-NEXT:    ld r21, 312(r1) # 8-byte Folded Reload
778 ; LE-P8-NEXT:    ld r20, 304(r1) # 8-byte Folded Reload
779 ; LE-P8-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
780 ; LE-P8-NEXT:    li r4, 224
781 ; LE-P8-NEXT:    lfd f15, 408(r1) # 8-byte Folded Reload
782 ; LE-P8-NEXT:    ld r19, 296(r1) # 8-byte Folded Reload
783 ; LE-P8-NEXT:    lfd f14, 400(r1) # 8-byte Folded Reload
784 ; LE-P8-NEXT:    ld r18, 288(r1) # 8-byte Folded Reload
785 ; LE-P8-NEXT:    ld r17, 280(r1) # 8-byte Folded Reload
786 ; LE-P8-NEXT:    ld r16, 272(r1) # 8-byte Folded Reload
787 ; LE-P8-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
788 ; LE-P8-NEXT:    li r4, 208
789 ; LE-P8-NEXT:    ld r15, 264(r1) # 8-byte Folded Reload
790 ; LE-P8-NEXT:    ld r14, 256(r1) # 8-byte Folded Reload
791 ; LE-P8-NEXT:    clrldi r3, r3, 32
792 ; LE-P8-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
793 ; LE-P8-NEXT:    li r4, 192
794 ; LE-P8-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
795 ; LE-P8-NEXT:    li r4, 176
796 ; LE-P8-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
797 ; LE-P8-NEXT:    li r4, 160
798 ; LE-P8-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
799 ; LE-P8-NEXT:    li r4, 144
800 ; LE-P8-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
801 ; LE-P8-NEXT:    li r4, 128
802 ; LE-P8-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
803 ; LE-P8-NEXT:    li r4, 112
804 ; LE-P8-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
805 ; LE-P8-NEXT:    li r4, 96
806 ; LE-P8-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
807 ; LE-P8-NEXT:    li r4, 80
808 ; LE-P8-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
809 ; LE-P8-NEXT:    li r4, 64
810 ; LE-P8-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
811 ; LE-P8-NEXT:    addi r1, r1, 544
812 ; LE-P8-NEXT:    ld r0, 16(r1)
813 ; LE-P8-NEXT:    lwz r12, 8(r1)
814 ; LE-P8-NEXT:    hashchk r0, -488(r1)
815 ; LE-P8-NEXT:    mtlr r0
816 ; LE-P8-NEXT:    mtocrf 32, r12
817 ; LE-P8-NEXT:    mtocrf 16, r12
818 ; LE-P8-NEXT:    mtocrf 8, r12
819 ; LE-P8-NEXT:    blr
821 ; LE-P10-O0-LABEL: spill:
822 ; LE-P10-O0:       # %bb.0: # %entry
823 ; LE-P10-O0-NEXT:    mflr r0
824 ; LE-P10-O0-NEXT:    mfcr r12
825 ; LE-P10-O0-NEXT:    std r0, 16(r1)
826 ; LE-P10-O0-NEXT:    hashst r0, -488(r1)
827 ; LE-P10-O0-NEXT:    stw r12, 8(r1)
828 ; LE-P10-O0-NEXT:    stdu r1, -544(r1)
829 ; LE-P10-O0-NEXT:    std r14, 256(r1) # 8-byte Folded Spill
830 ; LE-P10-O0-NEXT:    std r15, 264(r1) # 8-byte Folded Spill
831 ; LE-P10-O0-NEXT:    std r16, 272(r1) # 8-byte Folded Spill
832 ; LE-P10-O0-NEXT:    std r17, 280(r1) # 8-byte Folded Spill
833 ; LE-P10-O0-NEXT:    std r18, 288(r1) # 8-byte Folded Spill
834 ; LE-P10-O0-NEXT:    std r19, 296(r1) # 8-byte Folded Spill
835 ; LE-P10-O0-NEXT:    std r20, 304(r1) # 8-byte Folded Spill
836 ; LE-P10-O0-NEXT:    std r21, 312(r1) # 8-byte Folded Spill
837 ; LE-P10-O0-NEXT:    std r22, 320(r1) # 8-byte Folded Spill
838 ; LE-P10-O0-NEXT:    std r23, 328(r1) # 8-byte Folded Spill
839 ; LE-P10-O0-NEXT:    std r24, 336(r1) # 8-byte Folded Spill
840 ; LE-P10-O0-NEXT:    std r25, 344(r1) # 8-byte Folded Spill
841 ; LE-P10-O0-NEXT:    std r26, 352(r1) # 8-byte Folded Spill
842 ; LE-P10-O0-NEXT:    std r27, 360(r1) # 8-byte Folded Spill
843 ; LE-P10-O0-NEXT:    std r28, 368(r1) # 8-byte Folded Spill
844 ; LE-P10-O0-NEXT:    std r29, 376(r1) # 8-byte Folded Spill
845 ; LE-P10-O0-NEXT:    std r30, 384(r1) # 8-byte Folded Spill
846 ; LE-P10-O0-NEXT:    std r31, 392(r1) # 8-byte Folded Spill
847 ; LE-P10-O0-NEXT:    stfd f14, 400(r1) # 8-byte Folded Spill
848 ; LE-P10-O0-NEXT:    stfd f15, 408(r1) # 8-byte Folded Spill
849 ; LE-P10-O0-NEXT:    stfd f16, 416(r1) # 8-byte Folded Spill
850 ; LE-P10-O0-NEXT:    stfd f17, 424(r1) # 8-byte Folded Spill
851 ; LE-P10-O0-NEXT:    stfd f18, 432(r1) # 8-byte Folded Spill
852 ; LE-P10-O0-NEXT:    stfd f19, 440(r1) # 8-byte Folded Spill
853 ; LE-P10-O0-NEXT:    stfd f20, 448(r1) # 8-byte Folded Spill
854 ; LE-P10-O0-NEXT:    stfd f21, 456(r1) # 8-byte Folded Spill
855 ; LE-P10-O0-NEXT:    stfd f22, 464(r1) # 8-byte Folded Spill
856 ; LE-P10-O0-NEXT:    stfd f23, 472(r1) # 8-byte Folded Spill
857 ; LE-P10-O0-NEXT:    stfd f24, 480(r1) # 8-byte Folded Spill
858 ; LE-P10-O0-NEXT:    stfd f25, 488(r1) # 8-byte Folded Spill
859 ; LE-P10-O0-NEXT:    stfd f26, 496(r1) # 8-byte Folded Spill
860 ; LE-P10-O0-NEXT:    stfd f27, 504(r1) # 8-byte Folded Spill
861 ; LE-P10-O0-NEXT:    stfd f28, 512(r1) # 8-byte Folded Spill
862 ; LE-P10-O0-NEXT:    stfd f29, 520(r1) # 8-byte Folded Spill
863 ; LE-P10-O0-NEXT:    stfd f30, 528(r1) # 8-byte Folded Spill
864 ; LE-P10-O0-NEXT:    stfd f31, 536(r1) # 8-byte Folded Spill
865 ; LE-P10-O0-NEXT:    stxv v20, 64(r1) # 16-byte Folded Spill
866 ; LE-P10-O0-NEXT:    stxv v21, 80(r1) # 16-byte Folded Spill
867 ; LE-P10-O0-NEXT:    stxv v22, 96(r1) # 16-byte Folded Spill
868 ; LE-P10-O0-NEXT:    stxv v23, 112(r1) # 16-byte Folded Spill
869 ; LE-P10-O0-NEXT:    stxv v24, 128(r1) # 16-byte Folded Spill
870 ; LE-P10-O0-NEXT:    stxv v25, 144(r1) # 16-byte Folded Spill
871 ; LE-P10-O0-NEXT:    stxv v26, 160(r1) # 16-byte Folded Spill
872 ; LE-P10-O0-NEXT:    stxv v27, 176(r1) # 16-byte Folded Spill
873 ; LE-P10-O0-NEXT:    stxv v28, 192(r1) # 16-byte Folded Spill
874 ; LE-P10-O0-NEXT:    stxv v29, 208(r1) # 16-byte Folded Spill
875 ; LE-P10-O0-NEXT:    stxv v30, 224(r1) # 16-byte Folded Spill
876 ; LE-P10-O0-NEXT:    stxv v31, 240(r1) # 16-byte Folded Spill
877 ; LE-P10-O0-NEXT:    std r3, 40(r1) # 8-byte Folded Spill
878 ; LE-P10-O0-NEXT:    lwz r3, 12(r3)
879 ; LE-P10-O0-NEXT:    stw r3, 52(r1)
880 ; LE-P10-O0-NEXT:    #APP
881 ; LE-P10-O0-NEXT:    nop
882 ; LE-P10-O0-NEXT:    #NO_APP
883 ; LE-P10-O0-NEXT:    addi r3, r1, 52
884 ; LE-P10-O0-NEXT:    bl callee2@notoc
885 ; LE-P10-O0-NEXT:    mr r4, r3
886 ; LE-P10-O0-NEXT:    ld r3, 40(r1) # 8-byte Folded Reload
887 ; LE-P10-O0-NEXT:    # kill: def $r4 killed $r4 killed $x4
888 ; LE-P10-O0-NEXT:    lwz r3, 16(r3)
889 ; LE-P10-O0-NEXT:    add r3, r3, r4
890 ; LE-P10-O0-NEXT:    clrldi r3, r3, 32
891 ; LE-P10-O0-NEXT:    lxv v31, 240(r1) # 16-byte Folded Reload
892 ; LE-P10-O0-NEXT:    lxv v30, 224(r1) # 16-byte Folded Reload
893 ; LE-P10-O0-NEXT:    lxv v29, 208(r1) # 16-byte Folded Reload
894 ; LE-P10-O0-NEXT:    lxv v28, 192(r1) # 16-byte Folded Reload
895 ; LE-P10-O0-NEXT:    lxv v27, 176(r1) # 16-byte Folded Reload
896 ; LE-P10-O0-NEXT:    lxv v26, 160(r1) # 16-byte Folded Reload
897 ; LE-P10-O0-NEXT:    lxv v25, 144(r1) # 16-byte Folded Reload
898 ; LE-P10-O0-NEXT:    lxv v24, 128(r1) # 16-byte Folded Reload
899 ; LE-P10-O0-NEXT:    lxv v23, 112(r1) # 16-byte Folded Reload
900 ; LE-P10-O0-NEXT:    lxv v22, 96(r1) # 16-byte Folded Reload
901 ; LE-P10-O0-NEXT:    lxv v21, 80(r1) # 16-byte Folded Reload
902 ; LE-P10-O0-NEXT:    lxv v20, 64(r1) # 16-byte Folded Reload
903 ; LE-P10-O0-NEXT:    lfd f31, 536(r1) # 8-byte Folded Reload
904 ; LE-P10-O0-NEXT:    lfd f30, 528(r1) # 8-byte Folded Reload
905 ; LE-P10-O0-NEXT:    lfd f29, 520(r1) # 8-byte Folded Reload
906 ; LE-P10-O0-NEXT:    lfd f28, 512(r1) # 8-byte Folded Reload
907 ; LE-P10-O0-NEXT:    lfd f27, 504(r1) # 8-byte Folded Reload
908 ; LE-P10-O0-NEXT:    lfd f26, 496(r1) # 8-byte Folded Reload
909 ; LE-P10-O0-NEXT:    lfd f25, 488(r1) # 8-byte Folded Reload
910 ; LE-P10-O0-NEXT:    lfd f24, 480(r1) # 8-byte Folded Reload
911 ; LE-P10-O0-NEXT:    lfd f23, 472(r1) # 8-byte Folded Reload
912 ; LE-P10-O0-NEXT:    lfd f22, 464(r1) # 8-byte Folded Reload
913 ; LE-P10-O0-NEXT:    lfd f21, 456(r1) # 8-byte Folded Reload
914 ; LE-P10-O0-NEXT:    lfd f20, 448(r1) # 8-byte Folded Reload
915 ; LE-P10-O0-NEXT:    lfd f19, 440(r1) # 8-byte Folded Reload
916 ; LE-P10-O0-NEXT:    lfd f18, 432(r1) # 8-byte Folded Reload
917 ; LE-P10-O0-NEXT:    lfd f17, 424(r1) # 8-byte Folded Reload
918 ; LE-P10-O0-NEXT:    lfd f16, 416(r1) # 8-byte Folded Reload
919 ; LE-P10-O0-NEXT:    lfd f15, 408(r1) # 8-byte Folded Reload
920 ; LE-P10-O0-NEXT:    lfd f14, 400(r1) # 8-byte Folded Reload
921 ; LE-P10-O0-NEXT:    ld r31, 392(r1) # 8-byte Folded Reload
922 ; LE-P10-O0-NEXT:    ld r30, 384(r1) # 8-byte Folded Reload
923 ; LE-P10-O0-NEXT:    ld r29, 376(r1) # 8-byte Folded Reload
924 ; LE-P10-O0-NEXT:    ld r28, 368(r1) # 8-byte Folded Reload
925 ; LE-P10-O0-NEXT:    ld r27, 360(r1) # 8-byte Folded Reload
926 ; LE-P10-O0-NEXT:    ld r26, 352(r1) # 8-byte Folded Reload
927 ; LE-P10-O0-NEXT:    ld r25, 344(r1) # 8-byte Folded Reload
928 ; LE-P10-O0-NEXT:    ld r24, 336(r1) # 8-byte Folded Reload
929 ; LE-P10-O0-NEXT:    ld r23, 328(r1) # 8-byte Folded Reload
930 ; LE-P10-O0-NEXT:    ld r22, 320(r1) # 8-byte Folded Reload
931 ; LE-P10-O0-NEXT:    ld r21, 312(r1) # 8-byte Folded Reload
932 ; LE-P10-O0-NEXT:    ld r20, 304(r1) # 8-byte Folded Reload
933 ; LE-P10-O0-NEXT:    ld r19, 296(r1) # 8-byte Folded Reload
934 ; LE-P10-O0-NEXT:    ld r18, 288(r1) # 8-byte Folded Reload
935 ; LE-P10-O0-NEXT:    ld r17, 280(r1) # 8-byte Folded Reload
936 ; LE-P10-O0-NEXT:    ld r16, 272(r1) # 8-byte Folded Reload
937 ; LE-P10-O0-NEXT:    ld r15, 264(r1) # 8-byte Folded Reload
938 ; LE-P10-O0-NEXT:    ld r14, 256(r1) # 8-byte Folded Reload
939 ; LE-P10-O0-NEXT:    addi r1, r1, 544
940 ; LE-P10-O0-NEXT:    ld r0, 16(r1)
941 ; LE-P10-O0-NEXT:    lwz r12, 8(r1)
942 ; LE-P10-O0-NEXT:    mtocrf 32, r12
943 ; LE-P10-O0-NEXT:    mtocrf 16, r12
944 ; LE-P10-O0-NEXT:    mtocrf 8, r12
945 ; LE-P10-O0-NEXT:    hashchk r0, -488(r1)
946 ; LE-P10-O0-NEXT:    mtlr r0
947 ; LE-P10-O0-NEXT:    blr
949 ; LE-P9-O0-LABEL: spill:
950 ; LE-P9-O0:       # %bb.0: # %entry
951 ; LE-P9-O0-NEXT:    mflr r0
952 ; LE-P9-O0-NEXT:    mfcr r12
953 ; LE-P9-O0-NEXT:    stw r12, 8(r1)
954 ; LE-P9-O0-NEXT:    stdu r1, -608(r1)
955 ; LE-P9-O0-NEXT:    std r0, 624(r1)
956 ; LE-P9-O0-NEXT:    hashst r0, -488(r1)
957 ; LE-P9-O0-NEXT:    std r14, 320(r1) # 8-byte Folded Spill
958 ; LE-P9-O0-NEXT:    std r15, 328(r1) # 8-byte Folded Spill
959 ; LE-P9-O0-NEXT:    std r16, 336(r1) # 8-byte Folded Spill
960 ; LE-P9-O0-NEXT:    std r17, 344(r1) # 8-byte Folded Spill
961 ; LE-P9-O0-NEXT:    std r18, 352(r1) # 8-byte Folded Spill
962 ; LE-P9-O0-NEXT:    std r19, 360(r1) # 8-byte Folded Spill
963 ; LE-P9-O0-NEXT:    std r20, 368(r1) # 8-byte Folded Spill
964 ; LE-P9-O0-NEXT:    std r21, 376(r1) # 8-byte Folded Spill
965 ; LE-P9-O0-NEXT:    std r22, 384(r1) # 8-byte Folded Spill
966 ; LE-P9-O0-NEXT:    std r23, 392(r1) # 8-byte Folded Spill
967 ; LE-P9-O0-NEXT:    std r24, 400(r1) # 8-byte Folded Spill
968 ; LE-P9-O0-NEXT:    std r25, 408(r1) # 8-byte Folded Spill
969 ; LE-P9-O0-NEXT:    std r26, 416(r1) # 8-byte Folded Spill
970 ; LE-P9-O0-NEXT:    std r27, 424(r1) # 8-byte Folded Spill
971 ; LE-P9-O0-NEXT:    std r28, 432(r1) # 8-byte Folded Spill
972 ; LE-P9-O0-NEXT:    std r29, 440(r1) # 8-byte Folded Spill
973 ; LE-P9-O0-NEXT:    std r30, 448(r1) # 8-byte Folded Spill
974 ; LE-P9-O0-NEXT:    std r31, 456(r1) # 8-byte Folded Spill
975 ; LE-P9-O0-NEXT:    stfd f14, 464(r1) # 8-byte Folded Spill
976 ; LE-P9-O0-NEXT:    stfd f15, 472(r1) # 8-byte Folded Spill
977 ; LE-P9-O0-NEXT:    stfd f16, 480(r1) # 8-byte Folded Spill
978 ; LE-P9-O0-NEXT:    stfd f17, 488(r1) # 8-byte Folded Spill
979 ; LE-P9-O0-NEXT:    stfd f18, 496(r1) # 8-byte Folded Spill
980 ; LE-P9-O0-NEXT:    stfd f19, 504(r1) # 8-byte Folded Spill
981 ; LE-P9-O0-NEXT:    stfd f20, 512(r1) # 8-byte Folded Spill
982 ; LE-P9-O0-NEXT:    stfd f21, 520(r1) # 8-byte Folded Spill
983 ; LE-P9-O0-NEXT:    stfd f22, 528(r1) # 8-byte Folded Spill
984 ; LE-P9-O0-NEXT:    stfd f23, 536(r1) # 8-byte Folded Spill
985 ; LE-P9-O0-NEXT:    stfd f24, 544(r1) # 8-byte Folded Spill
986 ; LE-P9-O0-NEXT:    stfd f25, 552(r1) # 8-byte Folded Spill
987 ; LE-P9-O0-NEXT:    stfd f26, 560(r1) # 8-byte Folded Spill
988 ; LE-P9-O0-NEXT:    stfd f27, 568(r1) # 8-byte Folded Spill
989 ; LE-P9-O0-NEXT:    stfd f28, 576(r1) # 8-byte Folded Spill
990 ; LE-P9-O0-NEXT:    stfd f29, 584(r1) # 8-byte Folded Spill
991 ; LE-P9-O0-NEXT:    stfd f30, 592(r1) # 8-byte Folded Spill
992 ; LE-P9-O0-NEXT:    stfd f31, 600(r1) # 8-byte Folded Spill
993 ; LE-P9-O0-NEXT:    stxv v20, 128(r1) # 16-byte Folded Spill
994 ; LE-P9-O0-NEXT:    stxv v21, 144(r1) # 16-byte Folded Spill
995 ; LE-P9-O0-NEXT:    stxv v22, 160(r1) # 16-byte Folded Spill
996 ; LE-P9-O0-NEXT:    stxv v23, 176(r1) # 16-byte Folded Spill
997 ; LE-P9-O0-NEXT:    stxv v24, 192(r1) # 16-byte Folded Spill
998 ; LE-P9-O0-NEXT:    stxv v25, 208(r1) # 16-byte Folded Spill
999 ; LE-P9-O0-NEXT:    stxv v26, 224(r1) # 16-byte Folded Spill
1000 ; LE-P9-O0-NEXT:    stxv v27, 240(r1) # 16-byte Folded Spill
1001 ; LE-P9-O0-NEXT:    stxv v28, 256(r1) # 16-byte Folded Spill
1002 ; LE-P9-O0-NEXT:    stxv v29, 272(r1) # 16-byte Folded Spill
1003 ; LE-P9-O0-NEXT:    stxv v30, 288(r1) # 16-byte Folded Spill
1004 ; LE-P9-O0-NEXT:    stxv v31, 304(r1) # 16-byte Folded Spill
1005 ; LE-P9-O0-NEXT:    std r3, 104(r1) # 8-byte Folded Spill
1006 ; LE-P9-O0-NEXT:    lwz r3, 12(r3)
1007 ; LE-P9-O0-NEXT:    stw r3, 116(r1)
1008 ; LE-P9-O0-NEXT:    #APP
1009 ; LE-P9-O0-NEXT:    nop
1010 ; LE-P9-O0-NEXT:    #NO_APP
1011 ; LE-P9-O0-NEXT:    addi r3, r1, 116
1012 ; LE-P9-O0-NEXT:    bl callee2
1013 ; LE-P9-O0-NEXT:    nop
1014 ; LE-P9-O0-NEXT:    mr r4, r3
1015 ; LE-P9-O0-NEXT:    ld r3, 104(r1) # 8-byte Folded Reload
1016 ; LE-P9-O0-NEXT:    lwz r3, 16(r3)
1017 ; LE-P9-O0-NEXT:    add r3, r3, r4
1018 ; LE-P9-O0-NEXT:    clrldi r3, r3, 32
1019 ; LE-P9-O0-NEXT:    lxv v31, 304(r1) # 16-byte Folded Reload
1020 ; LE-P9-O0-NEXT:    lxv v30, 288(r1) # 16-byte Folded Reload
1021 ; LE-P9-O0-NEXT:    lxv v29, 272(r1) # 16-byte Folded Reload
1022 ; LE-P9-O0-NEXT:    lxv v28, 256(r1) # 16-byte Folded Reload
1023 ; LE-P9-O0-NEXT:    lxv v27, 240(r1) # 16-byte Folded Reload
1024 ; LE-P9-O0-NEXT:    lxv v26, 224(r1) # 16-byte Folded Reload
1025 ; LE-P9-O0-NEXT:    lxv v25, 208(r1) # 16-byte Folded Reload
1026 ; LE-P9-O0-NEXT:    lxv v24, 192(r1) # 16-byte Folded Reload
1027 ; LE-P9-O0-NEXT:    lxv v23, 176(r1) # 16-byte Folded Reload
1028 ; LE-P9-O0-NEXT:    lxv v22, 160(r1) # 16-byte Folded Reload
1029 ; LE-P9-O0-NEXT:    lxv v21, 144(r1) # 16-byte Folded Reload
1030 ; LE-P9-O0-NEXT:    lxv v20, 128(r1) # 16-byte Folded Reload
1031 ; LE-P9-O0-NEXT:    lfd f31, 600(r1) # 8-byte Folded Reload
1032 ; LE-P9-O0-NEXT:    lfd f30, 592(r1) # 8-byte Folded Reload
1033 ; LE-P9-O0-NEXT:    lfd f29, 584(r1) # 8-byte Folded Reload
1034 ; LE-P9-O0-NEXT:    lfd f28, 576(r1) # 8-byte Folded Reload
1035 ; LE-P9-O0-NEXT:    lfd f27, 568(r1) # 8-byte Folded Reload
1036 ; LE-P9-O0-NEXT:    lfd f26, 560(r1) # 8-byte Folded Reload
1037 ; LE-P9-O0-NEXT:    lfd f25, 552(r1) # 8-byte Folded Reload
1038 ; LE-P9-O0-NEXT:    lfd f24, 544(r1) # 8-byte Folded Reload
1039 ; LE-P9-O0-NEXT:    lfd f23, 536(r1) # 8-byte Folded Reload
1040 ; LE-P9-O0-NEXT:    lfd f22, 528(r1) # 8-byte Folded Reload
1041 ; LE-P9-O0-NEXT:    lfd f21, 520(r1) # 8-byte Folded Reload
1042 ; LE-P9-O0-NEXT:    lfd f20, 512(r1) # 8-byte Folded Reload
1043 ; LE-P9-O0-NEXT:    lfd f19, 504(r1) # 8-byte Folded Reload
1044 ; LE-P9-O0-NEXT:    lfd f18, 496(r1) # 8-byte Folded Reload
1045 ; LE-P9-O0-NEXT:    lfd f17, 488(r1) # 8-byte Folded Reload
1046 ; LE-P9-O0-NEXT:    lfd f16, 480(r1) # 8-byte Folded Reload
1047 ; LE-P9-O0-NEXT:    lfd f15, 472(r1) # 8-byte Folded Reload
1048 ; LE-P9-O0-NEXT:    lfd f14, 464(r1) # 8-byte Folded Reload
1049 ; LE-P9-O0-NEXT:    ld r31, 456(r1) # 8-byte Folded Reload
1050 ; LE-P9-O0-NEXT:    ld r30, 448(r1) # 8-byte Folded Reload
1051 ; LE-P9-O0-NEXT:    ld r29, 440(r1) # 8-byte Folded Reload
1052 ; LE-P9-O0-NEXT:    ld r28, 432(r1) # 8-byte Folded Reload
1053 ; LE-P9-O0-NEXT:    ld r27, 424(r1) # 8-byte Folded Reload
1054 ; LE-P9-O0-NEXT:    ld r26, 416(r1) # 8-byte Folded Reload
1055 ; LE-P9-O0-NEXT:    ld r25, 408(r1) # 8-byte Folded Reload
1056 ; LE-P9-O0-NEXT:    ld r24, 400(r1) # 8-byte Folded Reload
1057 ; LE-P9-O0-NEXT:    ld r23, 392(r1) # 8-byte Folded Reload
1058 ; LE-P9-O0-NEXT:    ld r22, 384(r1) # 8-byte Folded Reload
1059 ; LE-P9-O0-NEXT:    ld r21, 376(r1) # 8-byte Folded Reload
1060 ; LE-P9-O0-NEXT:    ld r20, 368(r1) # 8-byte Folded Reload
1061 ; LE-P9-O0-NEXT:    ld r19, 360(r1) # 8-byte Folded Reload
1062 ; LE-P9-O0-NEXT:    ld r18, 352(r1) # 8-byte Folded Reload
1063 ; LE-P9-O0-NEXT:    ld r17, 344(r1) # 8-byte Folded Reload
1064 ; LE-P9-O0-NEXT:    ld r16, 336(r1) # 8-byte Folded Reload
1065 ; LE-P9-O0-NEXT:    ld r15, 328(r1) # 8-byte Folded Reload
1066 ; LE-P9-O0-NEXT:    ld r14, 320(r1) # 8-byte Folded Reload
1067 ; LE-P9-O0-NEXT:    addi r1, r1, 608
1068 ; LE-P9-O0-NEXT:    ld r0, 16(r1)
1069 ; LE-P9-O0-NEXT:    lwz r12, 8(r1)
1070 ; LE-P9-O0-NEXT:    mtocrf 32, r12
1071 ; LE-P9-O0-NEXT:    mtocrf 16, r12
1072 ; LE-P9-O0-NEXT:    mtocrf 8, r12
1073 ; LE-P9-O0-NEXT:    hashchk r0, -488(r1)
1074 ; LE-P9-O0-NEXT:    mtlr r0
1075 ; LE-P9-O0-NEXT:    blr
1077 ; LE-P8-O0-LABEL: spill:
1078 ; LE-P8-O0:       # %bb.0: # %entry
1079 ; LE-P8-O0-NEXT:    mflr r0
1080 ; LE-P8-O0-NEXT:    mfcr r12
1081 ; LE-P8-O0-NEXT:    stw r12, 8(r1)
1082 ; LE-P8-O0-NEXT:    stdu r1, -608(r1)
1083 ; LE-P8-O0-NEXT:    std r0, 624(r1)
1084 ; LE-P8-O0-NEXT:    hashst r0, -488(r1)
1085 ; LE-P8-O0-NEXT:    std r14, 320(r1) # 8-byte Folded Spill
1086 ; LE-P8-O0-NEXT:    std r15, 328(r1) # 8-byte Folded Spill
1087 ; LE-P8-O0-NEXT:    std r16, 336(r1) # 8-byte Folded Spill
1088 ; LE-P8-O0-NEXT:    std r17, 344(r1) # 8-byte Folded Spill
1089 ; LE-P8-O0-NEXT:    std r18, 352(r1) # 8-byte Folded Spill
1090 ; LE-P8-O0-NEXT:    std r19, 360(r1) # 8-byte Folded Spill
1091 ; LE-P8-O0-NEXT:    std r20, 368(r1) # 8-byte Folded Spill
1092 ; LE-P8-O0-NEXT:    std r21, 376(r1) # 8-byte Folded Spill
1093 ; LE-P8-O0-NEXT:    std r22, 384(r1) # 8-byte Folded Spill
1094 ; LE-P8-O0-NEXT:    std r23, 392(r1) # 8-byte Folded Spill
1095 ; LE-P8-O0-NEXT:    std r24, 400(r1) # 8-byte Folded Spill
1096 ; LE-P8-O0-NEXT:    std r25, 408(r1) # 8-byte Folded Spill
1097 ; LE-P8-O0-NEXT:    std r26, 416(r1) # 8-byte Folded Spill
1098 ; LE-P8-O0-NEXT:    std r27, 424(r1) # 8-byte Folded Spill
1099 ; LE-P8-O0-NEXT:    std r28, 432(r1) # 8-byte Folded Spill
1100 ; LE-P8-O0-NEXT:    std r29, 440(r1) # 8-byte Folded Spill
1101 ; LE-P8-O0-NEXT:    std r30, 448(r1) # 8-byte Folded Spill
1102 ; LE-P8-O0-NEXT:    std r31, 456(r1) # 8-byte Folded Spill
1103 ; LE-P8-O0-NEXT:    stfd f14, 464(r1) # 8-byte Folded Spill
1104 ; LE-P8-O0-NEXT:    stfd f15, 472(r1) # 8-byte Folded Spill
1105 ; LE-P8-O0-NEXT:    stfd f16, 480(r1) # 8-byte Folded Spill
1106 ; LE-P8-O0-NEXT:    stfd f17, 488(r1) # 8-byte Folded Spill
1107 ; LE-P8-O0-NEXT:    stfd f18, 496(r1) # 8-byte Folded Spill
1108 ; LE-P8-O0-NEXT:    stfd f19, 504(r1) # 8-byte Folded Spill
1109 ; LE-P8-O0-NEXT:    stfd f20, 512(r1) # 8-byte Folded Spill
1110 ; LE-P8-O0-NEXT:    stfd f21, 520(r1) # 8-byte Folded Spill
1111 ; LE-P8-O0-NEXT:    stfd f22, 528(r1) # 8-byte Folded Spill
1112 ; LE-P8-O0-NEXT:    stfd f23, 536(r1) # 8-byte Folded Spill
1113 ; LE-P8-O0-NEXT:    stfd f24, 544(r1) # 8-byte Folded Spill
1114 ; LE-P8-O0-NEXT:    stfd f25, 552(r1) # 8-byte Folded Spill
1115 ; LE-P8-O0-NEXT:    stfd f26, 560(r1) # 8-byte Folded Spill
1116 ; LE-P8-O0-NEXT:    stfd f27, 568(r1) # 8-byte Folded Spill
1117 ; LE-P8-O0-NEXT:    stfd f28, 576(r1) # 8-byte Folded Spill
1118 ; LE-P8-O0-NEXT:    stfd f29, 584(r1) # 8-byte Folded Spill
1119 ; LE-P8-O0-NEXT:    stfd f30, 592(r1) # 8-byte Folded Spill
1120 ; LE-P8-O0-NEXT:    stfd f31, 600(r1) # 8-byte Folded Spill
1121 ; LE-P8-O0-NEXT:    li r4, 128
1122 ; LE-P8-O0-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
1123 ; LE-P8-O0-NEXT:    li r4, 144
1124 ; LE-P8-O0-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
1125 ; LE-P8-O0-NEXT:    li r4, 160
1126 ; LE-P8-O0-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
1127 ; LE-P8-O0-NEXT:    li r4, 176
1128 ; LE-P8-O0-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
1129 ; LE-P8-O0-NEXT:    li r4, 192
1130 ; LE-P8-O0-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
1131 ; LE-P8-O0-NEXT:    li r4, 208
1132 ; LE-P8-O0-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
1133 ; LE-P8-O0-NEXT:    li r4, 224
1134 ; LE-P8-O0-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
1135 ; LE-P8-O0-NEXT:    li r4, 240
1136 ; LE-P8-O0-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
1137 ; LE-P8-O0-NEXT:    li r4, 256
1138 ; LE-P8-O0-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
1139 ; LE-P8-O0-NEXT:    li r4, 272
1140 ; LE-P8-O0-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
1141 ; LE-P8-O0-NEXT:    li r4, 288
1142 ; LE-P8-O0-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
1143 ; LE-P8-O0-NEXT:    li r4, 304
1144 ; LE-P8-O0-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
1145 ; LE-P8-O0-NEXT:    std r3, 104(r1) # 8-byte Folded Spill
1146 ; LE-P8-O0-NEXT:    lwz r3, 12(r3)
1147 ; LE-P8-O0-NEXT:    stw r3, 116(r1)
1148 ; LE-P8-O0-NEXT:    #APP
1149 ; LE-P8-O0-NEXT:    nop
1150 ; LE-P8-O0-NEXT:    #NO_APP
1151 ; LE-P8-O0-NEXT:    addi r3, r1, 116
1152 ; LE-P8-O0-NEXT:    bl callee2
1153 ; LE-P8-O0-NEXT:    nop
1154 ; LE-P8-O0-NEXT:    mr r4, r3
1155 ; LE-P8-O0-NEXT:    ld r3, 104(r1) # 8-byte Folded Reload
1156 ; LE-P8-O0-NEXT:    lwz r3, 16(r3)
1157 ; LE-P8-O0-NEXT:    add r3, r3, r4
1158 ; LE-P8-O0-NEXT:    clrldi r3, r3, 32
1159 ; LE-P8-O0-NEXT:    li r4, 304
1160 ; LE-P8-O0-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
1161 ; LE-P8-O0-NEXT:    li r4, 288
1162 ; LE-P8-O0-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
1163 ; LE-P8-O0-NEXT:    li r4, 272
1164 ; LE-P8-O0-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
1165 ; LE-P8-O0-NEXT:    li r4, 256
1166 ; LE-P8-O0-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
1167 ; LE-P8-O0-NEXT:    li r4, 240
1168 ; LE-P8-O0-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
1169 ; LE-P8-O0-NEXT:    li r4, 224
1170 ; LE-P8-O0-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
1171 ; LE-P8-O0-NEXT:    li r4, 208
1172 ; LE-P8-O0-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
1173 ; LE-P8-O0-NEXT:    li r4, 192
1174 ; LE-P8-O0-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
1175 ; LE-P8-O0-NEXT:    li r4, 176
1176 ; LE-P8-O0-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
1177 ; LE-P8-O0-NEXT:    li r4, 160
1178 ; LE-P8-O0-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
1179 ; LE-P8-O0-NEXT:    li r4, 144
1180 ; LE-P8-O0-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
1181 ; LE-P8-O0-NEXT:    li r4, 128
1182 ; LE-P8-O0-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
1183 ; LE-P8-O0-NEXT:    lfd f31, 600(r1) # 8-byte Folded Reload
1184 ; LE-P8-O0-NEXT:    lfd f30, 592(r1) # 8-byte Folded Reload
1185 ; LE-P8-O0-NEXT:    lfd f29, 584(r1) # 8-byte Folded Reload
1186 ; LE-P8-O0-NEXT:    lfd f28, 576(r1) # 8-byte Folded Reload
1187 ; LE-P8-O0-NEXT:    lfd f27, 568(r1) # 8-byte Folded Reload
1188 ; LE-P8-O0-NEXT:    lfd f26, 560(r1) # 8-byte Folded Reload
1189 ; LE-P8-O0-NEXT:    lfd f25, 552(r1) # 8-byte Folded Reload
1190 ; LE-P8-O0-NEXT:    lfd f24, 544(r1) # 8-byte Folded Reload
1191 ; LE-P8-O0-NEXT:    lfd f23, 536(r1) # 8-byte Folded Reload
1192 ; LE-P8-O0-NEXT:    lfd f22, 528(r1) # 8-byte Folded Reload
1193 ; LE-P8-O0-NEXT:    lfd f21, 520(r1) # 8-byte Folded Reload
1194 ; LE-P8-O0-NEXT:    lfd f20, 512(r1) # 8-byte Folded Reload
1195 ; LE-P8-O0-NEXT:    lfd f19, 504(r1) # 8-byte Folded Reload
1196 ; LE-P8-O0-NEXT:    lfd f18, 496(r1) # 8-byte Folded Reload
1197 ; LE-P8-O0-NEXT:    lfd f17, 488(r1) # 8-byte Folded Reload
1198 ; LE-P8-O0-NEXT:    lfd f16, 480(r1) # 8-byte Folded Reload
1199 ; LE-P8-O0-NEXT:    lfd f15, 472(r1) # 8-byte Folded Reload
1200 ; LE-P8-O0-NEXT:    lfd f14, 464(r1) # 8-byte Folded Reload
1201 ; LE-P8-O0-NEXT:    ld r31, 456(r1) # 8-byte Folded Reload
1202 ; LE-P8-O0-NEXT:    ld r30, 448(r1) # 8-byte Folded Reload
1203 ; LE-P8-O0-NEXT:    ld r29, 440(r1) # 8-byte Folded Reload
1204 ; LE-P8-O0-NEXT:    ld r28, 432(r1) # 8-byte Folded Reload
1205 ; LE-P8-O0-NEXT:    ld r27, 424(r1) # 8-byte Folded Reload
1206 ; LE-P8-O0-NEXT:    ld r26, 416(r1) # 8-byte Folded Reload
1207 ; LE-P8-O0-NEXT:    ld r25, 408(r1) # 8-byte Folded Reload
1208 ; LE-P8-O0-NEXT:    ld r24, 400(r1) # 8-byte Folded Reload
1209 ; LE-P8-O0-NEXT:    ld r23, 392(r1) # 8-byte Folded Reload
1210 ; LE-P8-O0-NEXT:    ld r22, 384(r1) # 8-byte Folded Reload
1211 ; LE-P8-O0-NEXT:    ld r21, 376(r1) # 8-byte Folded Reload
1212 ; LE-P8-O0-NEXT:    ld r20, 368(r1) # 8-byte Folded Reload
1213 ; LE-P8-O0-NEXT:    ld r19, 360(r1) # 8-byte Folded Reload
1214 ; LE-P8-O0-NEXT:    ld r18, 352(r1) # 8-byte Folded Reload
1215 ; LE-P8-O0-NEXT:    ld r17, 344(r1) # 8-byte Folded Reload
1216 ; LE-P8-O0-NEXT:    ld r16, 336(r1) # 8-byte Folded Reload
1217 ; LE-P8-O0-NEXT:    ld r15, 328(r1) # 8-byte Folded Reload
1218 ; LE-P8-O0-NEXT:    ld r14, 320(r1) # 8-byte Folded Reload
1219 ; LE-P8-O0-NEXT:    addi r1, r1, 608
1220 ; LE-P8-O0-NEXT:    ld r0, 16(r1)
1221 ; LE-P8-O0-NEXT:    lwz r12, 8(r1)
1222 ; LE-P8-O0-NEXT:    mtocrf 32, r12
1223 ; LE-P8-O0-NEXT:    mtocrf 16, r12
1224 ; LE-P8-O0-NEXT:    mtocrf 8, r12
1225 ; LE-P8-O0-NEXT:    hashchk r0, -488(r1)
1226 ; LE-P8-O0-NEXT:    mtlr r0
1227 ; LE-P8-O0-NEXT:    blr
1229 ; BE-P10-LABEL: spill:
1230 ; BE-P10:       # %bb.0: # %entry
1231 ; BE-P10-NEXT:    mflr r0
1232 ; BE-P10-NEXT:    mfcr r12
1233 ; BE-P10-NEXT:    std r0, 16(r1)
1234 ; BE-P10-NEXT:    hashst r0, -488(r1)
1235 ; BE-P10-NEXT:    stw r12, 8(r1)
1236 ; BE-P10-NEXT:    stdu r1, -624(r1)
1237 ; BE-P10-NEXT:    lwz r4, 12(r3)
1238 ; BE-P10-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
1239 ; BE-P10-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
1240 ; BE-P10-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
1241 ; BE-P10-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
1242 ; BE-P10-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
1243 ; BE-P10-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
1244 ; BE-P10-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
1245 ; BE-P10-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
1246 ; BE-P10-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
1247 ; BE-P10-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
1248 ; BE-P10-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
1249 ; BE-P10-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
1250 ; BE-P10-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
1251 ; BE-P10-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
1252 ; BE-P10-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
1253 ; BE-P10-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
1254 ; BE-P10-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
1255 ; BE-P10-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
1256 ; BE-P10-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
1257 ; BE-P10-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
1258 ; BE-P10-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
1259 ; BE-P10-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
1260 ; BE-P10-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
1261 ; BE-P10-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
1262 ; BE-P10-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
1263 ; BE-P10-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
1264 ; BE-P10-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
1265 ; BE-P10-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
1266 ; BE-P10-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
1267 ; BE-P10-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
1268 ; BE-P10-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
1269 ; BE-P10-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
1270 ; BE-P10-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
1271 ; BE-P10-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
1272 ; BE-P10-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
1273 ; BE-P10-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
1274 ; BE-P10-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
1275 ; BE-P10-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
1276 ; BE-P10-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
1277 ; BE-P10-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
1278 ; BE-P10-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
1279 ; BE-P10-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
1280 ; BE-P10-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
1281 ; BE-P10-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
1282 ; BE-P10-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
1283 ; BE-P10-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
1284 ; BE-P10-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
1285 ; BE-P10-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
1286 ; BE-P10-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
1287 ; BE-P10-NEXT:    stw r4, 132(r1)
1288 ; BE-P10-NEXT:    #APP
1289 ; BE-P10-NEXT:    nop
1290 ; BE-P10-NEXT:    #NO_APP
1291 ; BE-P10-NEXT:    addi r3, r1, 132
1292 ; BE-P10-NEXT:    bl callee2
1293 ; BE-P10-NEXT:    nop
1294 ; BE-P10-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
1295 ; BE-P10-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
1296 ; BE-P10-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
1297 ; BE-P10-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
1298 ; BE-P10-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
1299 ; BE-P10-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
1300 ; BE-P10-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
1301 ; BE-P10-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
1302 ; BE-P10-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
1303 ; BE-P10-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
1304 ; BE-P10-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
1305 ; BE-P10-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
1306 ; BE-P10-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
1307 ; BE-P10-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
1308 ; BE-P10-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
1309 ; BE-P10-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
1310 ; BE-P10-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
1311 ; BE-P10-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
1312 ; BE-P10-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
1313 ; BE-P10-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
1314 ; BE-P10-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
1315 ; BE-P10-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
1316 ; BE-P10-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
1317 ; BE-P10-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
1318 ; BE-P10-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
1319 ; BE-P10-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
1320 ; BE-P10-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
1321 ; BE-P10-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
1322 ; BE-P10-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
1323 ; BE-P10-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
1324 ; BE-P10-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
1325 ; BE-P10-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
1326 ; BE-P10-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
1327 ; BE-P10-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
1328 ; BE-P10-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
1329 ; BE-P10-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
1330 ; BE-P10-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
1331 ; BE-P10-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
1332 ; BE-P10-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
1333 ; BE-P10-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
1334 ; BE-P10-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
1335 ; BE-P10-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
1336 ; BE-P10-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
1337 ; BE-P10-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
1338 ; BE-P10-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
1339 ; BE-P10-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
1340 ; BE-P10-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
1341 ; BE-P10-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
1342 ; BE-P10-NEXT:    lwz r4, 16(r4)
1343 ; BE-P10-NEXT:    add r3, r4, r3
1344 ; BE-P10-NEXT:    clrldi r3, r3, 32
1345 ; BE-P10-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
1346 ; BE-P10-NEXT:    addi r1, r1, 624
1347 ; BE-P10-NEXT:    ld r0, 16(r1)
1348 ; BE-P10-NEXT:    lwz r12, 8(r1)
1349 ; BE-P10-NEXT:    mtlr r0
1350 ; BE-P10-NEXT:    hashchk r0, -488(r1)
1351 ; BE-P10-NEXT:    mtocrf 32, r12
1352 ; BE-P10-NEXT:    mtocrf 16, r12
1353 ; BE-P10-NEXT:    mtocrf 8, r12
1354 ; BE-P10-NEXT:    blr
1356 ; BE-P9-LABEL: spill:
1357 ; BE-P9:       # %bb.0: # %entry
1358 ; BE-P9-NEXT:    mfcr r12
1359 ; BE-P9-NEXT:    mflr r0
1360 ; BE-P9-NEXT:    stw r12, 8(r1)
1361 ; BE-P9-NEXT:    stdu r1, -624(r1)
1362 ; BE-P9-NEXT:    std r0, 640(r1)
1363 ; BE-P9-NEXT:    hashst r0, -488(r1)
1364 ; BE-P9-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
1365 ; BE-P9-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
1366 ; BE-P9-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
1367 ; BE-P9-NEXT:    lwz r4, 12(r3)
1368 ; BE-P9-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
1369 ; BE-P9-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
1370 ; BE-P9-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
1371 ; BE-P9-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
1372 ; BE-P9-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
1373 ; BE-P9-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
1374 ; BE-P9-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
1375 ; BE-P9-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
1376 ; BE-P9-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
1377 ; BE-P9-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
1378 ; BE-P9-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
1379 ; BE-P9-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
1380 ; BE-P9-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
1381 ; BE-P9-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
1382 ; BE-P9-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
1383 ; BE-P9-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
1384 ; BE-P9-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
1385 ; BE-P9-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
1386 ; BE-P9-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
1387 ; BE-P9-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
1388 ; BE-P9-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
1389 ; BE-P9-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
1390 ; BE-P9-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
1391 ; BE-P9-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
1392 ; BE-P9-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
1393 ; BE-P9-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
1394 ; BE-P9-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
1395 ; BE-P9-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
1396 ; BE-P9-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
1397 ; BE-P9-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
1398 ; BE-P9-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
1399 ; BE-P9-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
1400 ; BE-P9-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
1401 ; BE-P9-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
1402 ; BE-P9-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
1403 ; BE-P9-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
1404 ; BE-P9-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
1405 ; BE-P9-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
1406 ; BE-P9-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
1407 ; BE-P9-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
1408 ; BE-P9-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
1409 ; BE-P9-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
1410 ; BE-P9-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
1411 ; BE-P9-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
1412 ; BE-P9-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
1413 ; BE-P9-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
1414 ; BE-P9-NEXT:    stw r4, 132(r1)
1415 ; BE-P9-NEXT:    #APP
1416 ; BE-P9-NEXT:    nop
1417 ; BE-P9-NEXT:    #NO_APP
1418 ; BE-P9-NEXT:    addi r3, r1, 132
1419 ; BE-P9-NEXT:    bl callee2
1420 ; BE-P9-NEXT:    nop
1421 ; BE-P9-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
1422 ; BE-P9-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
1423 ; BE-P9-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
1424 ; BE-P9-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
1425 ; BE-P9-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
1426 ; BE-P9-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
1427 ; BE-P9-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
1428 ; BE-P9-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
1429 ; BE-P9-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
1430 ; BE-P9-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
1431 ; BE-P9-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
1432 ; BE-P9-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
1433 ; BE-P9-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
1434 ; BE-P9-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
1435 ; BE-P9-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
1436 ; BE-P9-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
1437 ; BE-P9-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
1438 ; BE-P9-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
1439 ; BE-P9-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
1440 ; BE-P9-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
1441 ; BE-P9-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
1442 ; BE-P9-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
1443 ; BE-P9-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
1444 ; BE-P9-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
1445 ; BE-P9-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
1446 ; BE-P9-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
1447 ; BE-P9-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
1448 ; BE-P9-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
1449 ; BE-P9-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
1450 ; BE-P9-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
1451 ; BE-P9-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
1452 ; BE-P9-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
1453 ; BE-P9-NEXT:    lwz r4, 16(r4)
1454 ; BE-P9-NEXT:    add r3, r4, r3
1455 ; BE-P9-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
1456 ; BE-P9-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
1457 ; BE-P9-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
1458 ; BE-P9-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
1459 ; BE-P9-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
1460 ; BE-P9-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
1461 ; BE-P9-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
1462 ; BE-P9-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
1463 ; BE-P9-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
1464 ; BE-P9-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
1465 ; BE-P9-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
1466 ; BE-P9-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
1467 ; BE-P9-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
1468 ; BE-P9-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
1469 ; BE-P9-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
1470 ; BE-P9-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
1471 ; BE-P9-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
1472 ; BE-P9-NEXT:    clrldi r3, r3, 32
1473 ; BE-P9-NEXT:    addi r1, r1, 624
1474 ; BE-P9-NEXT:    ld r0, 16(r1)
1475 ; BE-P9-NEXT:    lwz r12, 8(r1)
1476 ; BE-P9-NEXT:    mtlr r0
1477 ; BE-P9-NEXT:    hashchk r0, -488(r1)
1478 ; BE-P9-NEXT:    mtocrf 32, r12
1479 ; BE-P9-NEXT:    mtocrf 16, r12
1480 ; BE-P9-NEXT:    mtocrf 8, r12
1481 ; BE-P9-NEXT:    blr
1483 ; BE-P8-LABEL: spill:
1484 ; BE-P8:       # %bb.0: # %entry
1485 ; BE-P8-NEXT:    mfcr r12
1486 ; BE-P8-NEXT:    stw r12, 8(r1)
1487 ; BE-P8-NEXT:    mflr r0
1488 ; BE-P8-NEXT:    stdu r1, -624(r1)
1489 ; BE-P8-NEXT:    li r4, 144
1490 ; BE-P8-NEXT:    std r0, 640(r1)
1491 ; BE-P8-NEXT:    hashst r0, -488(r1)
1492 ; BE-P8-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
1493 ; BE-P8-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
1494 ; BE-P8-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
1495 ; BE-P8-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
1496 ; BE-P8-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
1497 ; BE-P8-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
1498 ; BE-P8-NEXT:    li r4, 160
1499 ; BE-P8-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
1500 ; BE-P8-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
1501 ; BE-P8-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
1502 ; BE-P8-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
1503 ; BE-P8-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
1504 ; BE-P8-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
1505 ; BE-P8-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
1506 ; BE-P8-NEXT:    li r4, 176
1507 ; BE-P8-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
1508 ; BE-P8-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
1509 ; BE-P8-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
1510 ; BE-P8-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
1511 ; BE-P8-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
1512 ; BE-P8-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
1513 ; BE-P8-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
1514 ; BE-P8-NEXT:    li r4, 192
1515 ; BE-P8-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
1516 ; BE-P8-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
1517 ; BE-P8-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
1518 ; BE-P8-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
1519 ; BE-P8-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
1520 ; BE-P8-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
1521 ; BE-P8-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
1522 ; BE-P8-NEXT:    li r4, 208
1523 ; BE-P8-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
1524 ; BE-P8-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
1525 ; BE-P8-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
1526 ; BE-P8-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
1527 ; BE-P8-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
1528 ; BE-P8-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
1529 ; BE-P8-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
1530 ; BE-P8-NEXT:    li r4, 224
1531 ; BE-P8-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
1532 ; BE-P8-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
1533 ; BE-P8-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
1534 ; BE-P8-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
1535 ; BE-P8-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
1536 ; BE-P8-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
1537 ; BE-P8-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
1538 ; BE-P8-NEXT:    li r4, 240
1539 ; BE-P8-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
1540 ; BE-P8-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
1541 ; BE-P8-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
1542 ; BE-P8-NEXT:    li r4, 256
1543 ; BE-P8-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
1544 ; BE-P8-NEXT:    li r4, 272
1545 ; BE-P8-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
1546 ; BE-P8-NEXT:    li r4, 288
1547 ; BE-P8-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
1548 ; BE-P8-NEXT:    li r4, 304
1549 ; BE-P8-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
1550 ; BE-P8-NEXT:    li r4, 320
1551 ; BE-P8-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
1552 ; BE-P8-NEXT:    lwz r4, 12(r3)
1553 ; BE-P8-NEXT:    stw r4, 132(r1)
1554 ; BE-P8-NEXT:    #APP
1555 ; BE-P8-NEXT:    nop
1556 ; BE-P8-NEXT:    #NO_APP
1557 ; BE-P8-NEXT:    addi r3, r1, 132
1558 ; BE-P8-NEXT:    bl callee2
1559 ; BE-P8-NEXT:    nop
1560 ; BE-P8-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
1561 ; BE-P8-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
1562 ; BE-P8-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
1563 ; BE-P8-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
1564 ; BE-P8-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
1565 ; BE-P8-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
1566 ; BE-P8-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
1567 ; BE-P8-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
1568 ; BE-P8-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
1569 ; BE-P8-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
1570 ; BE-P8-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
1571 ; BE-P8-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
1572 ; BE-P8-NEXT:    lwz r4, 16(r4)
1573 ; BE-P8-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
1574 ; BE-P8-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
1575 ; BE-P8-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
1576 ; BE-P8-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
1577 ; BE-P8-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
1578 ; BE-P8-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
1579 ; BE-P8-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
1580 ; BE-P8-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
1581 ; BE-P8-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
1582 ; BE-P8-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
1583 ; BE-P8-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
1584 ; BE-P8-NEXT:    add r3, r4, r3
1585 ; BE-P8-NEXT:    li r4, 320
1586 ; BE-P8-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
1587 ; BE-P8-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
1588 ; BE-P8-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
1589 ; BE-P8-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
1590 ; BE-P8-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
1591 ; BE-P8-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
1592 ; BE-P8-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
1593 ; BE-P8-NEXT:    li r4, 304
1594 ; BE-P8-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
1595 ; BE-P8-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
1596 ; BE-P8-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
1597 ; BE-P8-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
1598 ; BE-P8-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
1599 ; BE-P8-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
1600 ; BE-P8-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
1601 ; BE-P8-NEXT:    li r4, 288
1602 ; BE-P8-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
1603 ; BE-P8-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
1604 ; BE-P8-NEXT:    clrldi r3, r3, 32
1605 ; BE-P8-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
1606 ; BE-P8-NEXT:    li r4, 272
1607 ; BE-P8-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
1608 ; BE-P8-NEXT:    li r4, 256
1609 ; BE-P8-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
1610 ; BE-P8-NEXT:    li r4, 240
1611 ; BE-P8-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
1612 ; BE-P8-NEXT:    li r4, 224
1613 ; BE-P8-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
1614 ; BE-P8-NEXT:    li r4, 208
1615 ; BE-P8-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
1616 ; BE-P8-NEXT:    li r4, 192
1617 ; BE-P8-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
1618 ; BE-P8-NEXT:    li r4, 176
1619 ; BE-P8-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
1620 ; BE-P8-NEXT:    li r4, 160
1621 ; BE-P8-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
1622 ; BE-P8-NEXT:    li r4, 144
1623 ; BE-P8-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
1624 ; BE-P8-NEXT:    addi r1, r1, 624
1625 ; BE-P8-NEXT:    ld r0, 16(r1)
1626 ; BE-P8-NEXT:    lwz r12, 8(r1)
1627 ; BE-P8-NEXT:    hashchk r0, -488(r1)
1628 ; BE-P8-NEXT:    mtlr r0
1629 ; BE-P8-NEXT:    mtocrf 32, r12
1630 ; BE-P8-NEXT:    mtocrf 16, r12
1631 ; BE-P8-NEXT:    mtocrf 8, r12
1632 ; BE-P8-NEXT:    blr
1634 ; BE-32BIT-P10-LABEL: spill:
1635 ; BE-32BIT-P10:       # %bb.0: # %entry
1636 ; BE-32BIT-P10-NEXT:    mflr r0
1637 ; BE-32BIT-P10-NEXT:    stw r0, 4(r1)
1638 ; BE-32BIT-P10-NEXT:    hashst r0, -424(r1)
1639 ; BE-32BIT-P10-NEXT:    stwu r1, -448(r1)
1640 ; BE-32BIT-P10-NEXT:    mfcr r12
1641 ; BE-32BIT-P10-NEXT:    stw r14, 232(r1) # 4-byte Folded Spill
1642 ; BE-32BIT-P10-NEXT:    stw r15, 236(r1) # 4-byte Folded Spill
1643 ; BE-32BIT-P10-NEXT:    stw r16, 240(r1) # 4-byte Folded Spill
1644 ; BE-32BIT-P10-NEXT:    stw r17, 244(r1) # 4-byte Folded Spill
1645 ; BE-32BIT-P10-NEXT:    stw r18, 248(r1) # 4-byte Folded Spill
1646 ; BE-32BIT-P10-NEXT:    stw r19, 252(r1) # 4-byte Folded Spill
1647 ; BE-32BIT-P10-NEXT:    stw r20, 256(r1) # 4-byte Folded Spill
1648 ; BE-32BIT-P10-NEXT:    stw r21, 260(r1) # 4-byte Folded Spill
1649 ; BE-32BIT-P10-NEXT:    stw r22, 264(r1) # 4-byte Folded Spill
1650 ; BE-32BIT-P10-NEXT:    stw r23, 268(r1) # 4-byte Folded Spill
1651 ; BE-32BIT-P10-NEXT:    stw r24, 272(r1) # 4-byte Folded Spill
1652 ; BE-32BIT-P10-NEXT:    stw r25, 276(r1) # 4-byte Folded Spill
1653 ; BE-32BIT-P10-NEXT:    stw r26, 280(r1) # 4-byte Folded Spill
1654 ; BE-32BIT-P10-NEXT:    stw r27, 284(r1) # 4-byte Folded Spill
1655 ; BE-32BIT-P10-NEXT:    stw r28, 288(r1) # 4-byte Folded Spill
1656 ; BE-32BIT-P10-NEXT:    stw r29, 292(r1) # 4-byte Folded Spill
1657 ; BE-32BIT-P10-NEXT:    stw r30, 296(r1) # 4-byte Folded Spill
1658 ; BE-32BIT-P10-NEXT:    stw r31, 300(r1) # 4-byte Folded Spill
1659 ; BE-32BIT-P10-NEXT:    stw r12, 228(r1)
1660 ; BE-32BIT-P10-NEXT:    lwz r4, 12(r3)
1661 ; BE-32BIT-P10-NEXT:    stfd f14, 304(r1) # 8-byte Folded Spill
1662 ; BE-32BIT-P10-NEXT:    stfd f15, 312(r1) # 8-byte Folded Spill
1663 ; BE-32BIT-P10-NEXT:    stfd f16, 320(r1) # 8-byte Folded Spill
1664 ; BE-32BIT-P10-NEXT:    stfd f17, 328(r1) # 8-byte Folded Spill
1665 ; BE-32BIT-P10-NEXT:    stfd f18, 336(r1) # 8-byte Folded Spill
1666 ; BE-32BIT-P10-NEXT:    stfd f19, 344(r1) # 8-byte Folded Spill
1667 ; BE-32BIT-P10-NEXT:    stfd f20, 352(r1) # 8-byte Folded Spill
1668 ; BE-32BIT-P10-NEXT:    stfd f21, 360(r1) # 8-byte Folded Spill
1669 ; BE-32BIT-P10-NEXT:    stfd f22, 368(r1) # 8-byte Folded Spill
1670 ; BE-32BIT-P10-NEXT:    stfd f23, 376(r1) # 8-byte Folded Spill
1671 ; BE-32BIT-P10-NEXT:    stfd f24, 384(r1) # 8-byte Folded Spill
1672 ; BE-32BIT-P10-NEXT:    stfd f25, 392(r1) # 8-byte Folded Spill
1673 ; BE-32BIT-P10-NEXT:    stfd f26, 400(r1) # 8-byte Folded Spill
1674 ; BE-32BIT-P10-NEXT:    stfd f27, 408(r1) # 8-byte Folded Spill
1675 ; BE-32BIT-P10-NEXT:    stfd f28, 416(r1) # 8-byte Folded Spill
1676 ; BE-32BIT-P10-NEXT:    stfd f29, 424(r1) # 8-byte Folded Spill
1677 ; BE-32BIT-P10-NEXT:    stfd f30, 432(r1) # 8-byte Folded Spill
1678 ; BE-32BIT-P10-NEXT:    stfd f31, 440(r1) # 8-byte Folded Spill
1679 ; BE-32BIT-P10-NEXT:    stxv v20, 32(r1) # 16-byte Folded Spill
1680 ; BE-32BIT-P10-NEXT:    stxv v21, 48(r1) # 16-byte Folded Spill
1681 ; BE-32BIT-P10-NEXT:    stxv v22, 64(r1) # 16-byte Folded Spill
1682 ; BE-32BIT-P10-NEXT:    stxv v23, 80(r1) # 16-byte Folded Spill
1683 ; BE-32BIT-P10-NEXT:    stxv v24, 96(r1) # 16-byte Folded Spill
1684 ; BE-32BIT-P10-NEXT:    stxv v25, 112(r1) # 16-byte Folded Spill
1685 ; BE-32BIT-P10-NEXT:    stxv v26, 128(r1) # 16-byte Folded Spill
1686 ; BE-32BIT-P10-NEXT:    stxv v27, 144(r1) # 16-byte Folded Spill
1687 ; BE-32BIT-P10-NEXT:    stxv v28, 160(r1) # 16-byte Folded Spill
1688 ; BE-32BIT-P10-NEXT:    stxv v29, 176(r1) # 16-byte Folded Spill
1689 ; BE-32BIT-P10-NEXT:    stxv v30, 192(r1) # 16-byte Folded Spill
1690 ; BE-32BIT-P10-NEXT:    stxv v31, 208(r1) # 16-byte Folded Spill
1691 ; BE-32BIT-P10-NEXT:    stw r3, 16(r1) # 4-byte Folded Spill
1692 ; BE-32BIT-P10-NEXT:    stw r4, 20(r1)
1693 ; BE-32BIT-P10-NEXT:    #APP
1694 ; BE-32BIT-P10-NEXT:    nop
1695 ; BE-32BIT-P10-NEXT:    #NO_APP
1696 ; BE-32BIT-P10-NEXT:    addi r3, r1, 20
1697 ; BE-32BIT-P10-NEXT:    bl callee2
1698 ; BE-32BIT-P10-NEXT:    lwz r4, 16(r1) # 4-byte Folded Reload
1699 ; BE-32BIT-P10-NEXT:    lxv v31, 208(r1) # 16-byte Folded Reload
1700 ; BE-32BIT-P10-NEXT:    lxv v30, 192(r1) # 16-byte Folded Reload
1701 ; BE-32BIT-P10-NEXT:    lxv v29, 176(r1) # 16-byte Folded Reload
1702 ; BE-32BIT-P10-NEXT:    lxv v28, 160(r1) # 16-byte Folded Reload
1703 ; BE-32BIT-P10-NEXT:    lxv v27, 144(r1) # 16-byte Folded Reload
1704 ; BE-32BIT-P10-NEXT:    lxv v26, 128(r1) # 16-byte Folded Reload
1705 ; BE-32BIT-P10-NEXT:    lxv v25, 112(r1) # 16-byte Folded Reload
1706 ; BE-32BIT-P10-NEXT:    lxv v24, 96(r1) # 16-byte Folded Reload
1707 ; BE-32BIT-P10-NEXT:    lxv v23, 80(r1) # 16-byte Folded Reload
1708 ; BE-32BIT-P10-NEXT:    lxv v22, 64(r1) # 16-byte Folded Reload
1709 ; BE-32BIT-P10-NEXT:    lxv v21, 48(r1) # 16-byte Folded Reload
1710 ; BE-32BIT-P10-NEXT:    lxv v20, 32(r1) # 16-byte Folded Reload
1711 ; BE-32BIT-P10-NEXT:    lfd f31, 440(r1) # 8-byte Folded Reload
1712 ; BE-32BIT-P10-NEXT:    lfd f30, 432(r1) # 8-byte Folded Reload
1713 ; BE-32BIT-P10-NEXT:    lfd f29, 424(r1) # 8-byte Folded Reload
1714 ; BE-32BIT-P10-NEXT:    lfd f28, 416(r1) # 8-byte Folded Reload
1715 ; BE-32BIT-P10-NEXT:    lfd f27, 408(r1) # 8-byte Folded Reload
1716 ; BE-32BIT-P10-NEXT:    lfd f26, 400(r1) # 8-byte Folded Reload
1717 ; BE-32BIT-P10-NEXT:    lfd f25, 392(r1) # 8-byte Folded Reload
1718 ; BE-32BIT-P10-NEXT:    lfd f24, 384(r1) # 8-byte Folded Reload
1719 ; BE-32BIT-P10-NEXT:    lfd f23, 376(r1) # 8-byte Folded Reload
1720 ; BE-32BIT-P10-NEXT:    lfd f22, 368(r1) # 8-byte Folded Reload
1721 ; BE-32BIT-P10-NEXT:    lfd f21, 360(r1) # 8-byte Folded Reload
1722 ; BE-32BIT-P10-NEXT:    lfd f20, 352(r1) # 8-byte Folded Reload
1723 ; BE-32BIT-P10-NEXT:    lfd f19, 344(r1) # 8-byte Folded Reload
1724 ; BE-32BIT-P10-NEXT:    lfd f18, 336(r1) # 8-byte Folded Reload
1725 ; BE-32BIT-P10-NEXT:    lfd f17, 328(r1) # 8-byte Folded Reload
1726 ; BE-32BIT-P10-NEXT:    lfd f16, 320(r1) # 8-byte Folded Reload
1727 ; BE-32BIT-P10-NEXT:    lfd f15, 312(r1) # 8-byte Folded Reload
1728 ; BE-32BIT-P10-NEXT:    lwz r4, 16(r4)
1729 ; BE-32BIT-P10-NEXT:    add r3, r4, r3
1730 ; BE-32BIT-P10-NEXT:    lwz r12, 228(r1)
1731 ; BE-32BIT-P10-NEXT:    mtocrf 32, r12
1732 ; BE-32BIT-P10-NEXT:    mtocrf 16, r12
1733 ; BE-32BIT-P10-NEXT:    mtocrf 8, r12
1734 ; BE-32BIT-P10-NEXT:    lfd f14, 304(r1) # 8-byte Folded Reload
1735 ; BE-32BIT-P10-NEXT:    lwz r31, 300(r1) # 4-byte Folded Reload
1736 ; BE-32BIT-P10-NEXT:    lwz r30, 296(r1) # 4-byte Folded Reload
1737 ; BE-32BIT-P10-NEXT:    lwz r29, 292(r1) # 4-byte Folded Reload
1738 ; BE-32BIT-P10-NEXT:    lwz r28, 288(r1) # 4-byte Folded Reload
1739 ; BE-32BIT-P10-NEXT:    lwz r27, 284(r1) # 4-byte Folded Reload
1740 ; BE-32BIT-P10-NEXT:    lwz r26, 280(r1) # 4-byte Folded Reload
1741 ; BE-32BIT-P10-NEXT:    lwz r25, 276(r1) # 4-byte Folded Reload
1742 ; BE-32BIT-P10-NEXT:    lwz r24, 272(r1) # 4-byte Folded Reload
1743 ; BE-32BIT-P10-NEXT:    lwz r23, 268(r1) # 4-byte Folded Reload
1744 ; BE-32BIT-P10-NEXT:    lwz r22, 264(r1) # 4-byte Folded Reload
1745 ; BE-32BIT-P10-NEXT:    lwz r21, 260(r1) # 4-byte Folded Reload
1746 ; BE-32BIT-P10-NEXT:    lwz r20, 256(r1) # 4-byte Folded Reload
1747 ; BE-32BIT-P10-NEXT:    lwz r19, 252(r1) # 4-byte Folded Reload
1748 ; BE-32BIT-P10-NEXT:    lwz r18, 248(r1) # 4-byte Folded Reload
1749 ; BE-32BIT-P10-NEXT:    lwz r17, 244(r1) # 4-byte Folded Reload
1750 ; BE-32BIT-P10-NEXT:    lwz r16, 240(r1) # 4-byte Folded Reload
1751 ; BE-32BIT-P10-NEXT:    lwz r15, 236(r1) # 4-byte Folded Reload
1752 ; BE-32BIT-P10-NEXT:    lwz r14, 232(r1) # 4-byte Folded Reload
1753 ; BE-32BIT-P10-NEXT:    lwz r0, 452(r1)
1754 ; BE-32BIT-P10-NEXT:    addi r1, r1, 448
1755 ; BE-32BIT-P10-NEXT:    hashchk r0, -424(r1)
1756 ; BE-32BIT-P10-NEXT:    mtlr r0
1757 ; BE-32BIT-P10-NEXT:    blr
1759 ; BE-32BIT-P9-LABEL: spill:
1760 ; BE-32BIT-P9:       # %bb.0: # %entry
1761 ; BE-32BIT-P9-NEXT:    mflr r0
1762 ; BE-32BIT-P9-NEXT:    stwu r1, -448(r1)
1763 ; BE-32BIT-P9-NEXT:    mfcr r12
1764 ; BE-32BIT-P9-NEXT:    stw r0, 452(r1)
1765 ; BE-32BIT-P9-NEXT:    hashst r0, -424(r1)
1766 ; BE-32BIT-P9-NEXT:    stw r14, 232(r1) # 4-byte Folded Spill
1767 ; BE-32BIT-P9-NEXT:    stw r15, 236(r1) # 4-byte Folded Spill
1768 ; BE-32BIT-P9-NEXT:    stw r16, 240(r1) # 4-byte Folded Spill
1769 ; BE-32BIT-P9-NEXT:    stw r17, 244(r1) # 4-byte Folded Spill
1770 ; BE-32BIT-P9-NEXT:    stw r18, 248(r1) # 4-byte Folded Spill
1771 ; BE-32BIT-P9-NEXT:    stw r19, 252(r1) # 4-byte Folded Spill
1772 ; BE-32BIT-P9-NEXT:    stw r20, 256(r1) # 4-byte Folded Spill
1773 ; BE-32BIT-P9-NEXT:    stw r21, 260(r1) # 4-byte Folded Spill
1774 ; BE-32BIT-P9-NEXT:    stw r22, 264(r1) # 4-byte Folded Spill
1775 ; BE-32BIT-P9-NEXT:    stw r23, 268(r1) # 4-byte Folded Spill
1776 ; BE-32BIT-P9-NEXT:    stw r24, 272(r1) # 4-byte Folded Spill
1777 ; BE-32BIT-P9-NEXT:    stw r25, 276(r1) # 4-byte Folded Spill
1778 ; BE-32BIT-P9-NEXT:    stw r26, 280(r1) # 4-byte Folded Spill
1779 ; BE-32BIT-P9-NEXT:    stw r27, 284(r1) # 4-byte Folded Spill
1780 ; BE-32BIT-P9-NEXT:    stw r28, 288(r1) # 4-byte Folded Spill
1781 ; BE-32BIT-P9-NEXT:    stw r29, 292(r1) # 4-byte Folded Spill
1782 ; BE-32BIT-P9-NEXT:    stw r30, 296(r1) # 4-byte Folded Spill
1783 ; BE-32BIT-P9-NEXT:    stw r31, 300(r1) # 4-byte Folded Spill
1784 ; BE-32BIT-P9-NEXT:    stw r12, 228(r1)
1785 ; BE-32BIT-P9-NEXT:    stxv v20, 32(r1) # 16-byte Folded Spill
1786 ; BE-32BIT-P9-NEXT:    stxv v21, 48(r1) # 16-byte Folded Spill
1787 ; BE-32BIT-P9-NEXT:    stxv v22, 64(r1) # 16-byte Folded Spill
1788 ; BE-32BIT-P9-NEXT:    stxv v23, 80(r1) # 16-byte Folded Spill
1789 ; BE-32BIT-P9-NEXT:    stxv v24, 96(r1) # 16-byte Folded Spill
1790 ; BE-32BIT-P9-NEXT:    stxv v25, 112(r1) # 16-byte Folded Spill
1791 ; BE-32BIT-P9-NEXT:    stxv v26, 128(r1) # 16-byte Folded Spill
1792 ; BE-32BIT-P9-NEXT:    stxv v27, 144(r1) # 16-byte Folded Spill
1793 ; BE-32BIT-P9-NEXT:    stxv v28, 160(r1) # 16-byte Folded Spill
1794 ; BE-32BIT-P9-NEXT:    stxv v29, 176(r1) # 16-byte Folded Spill
1795 ; BE-32BIT-P9-NEXT:    stxv v30, 192(r1) # 16-byte Folded Spill
1796 ; BE-32BIT-P9-NEXT:    stxv v31, 208(r1) # 16-byte Folded Spill
1797 ; BE-32BIT-P9-NEXT:    lwz r4, 12(r3)
1798 ; BE-32BIT-P9-NEXT:    stfd f14, 304(r1) # 8-byte Folded Spill
1799 ; BE-32BIT-P9-NEXT:    stfd f15, 312(r1) # 8-byte Folded Spill
1800 ; BE-32BIT-P9-NEXT:    stfd f16, 320(r1) # 8-byte Folded Spill
1801 ; BE-32BIT-P9-NEXT:    stfd f17, 328(r1) # 8-byte Folded Spill
1802 ; BE-32BIT-P9-NEXT:    stfd f18, 336(r1) # 8-byte Folded Spill
1803 ; BE-32BIT-P9-NEXT:    stfd f19, 344(r1) # 8-byte Folded Spill
1804 ; BE-32BIT-P9-NEXT:    stfd f20, 352(r1) # 8-byte Folded Spill
1805 ; BE-32BIT-P9-NEXT:    stfd f21, 360(r1) # 8-byte Folded Spill
1806 ; BE-32BIT-P9-NEXT:    stfd f22, 368(r1) # 8-byte Folded Spill
1807 ; BE-32BIT-P9-NEXT:    stfd f23, 376(r1) # 8-byte Folded Spill
1808 ; BE-32BIT-P9-NEXT:    stfd f24, 384(r1) # 8-byte Folded Spill
1809 ; BE-32BIT-P9-NEXT:    stfd f25, 392(r1) # 8-byte Folded Spill
1810 ; BE-32BIT-P9-NEXT:    stfd f26, 400(r1) # 8-byte Folded Spill
1811 ; BE-32BIT-P9-NEXT:    stfd f27, 408(r1) # 8-byte Folded Spill
1812 ; BE-32BIT-P9-NEXT:    stfd f28, 416(r1) # 8-byte Folded Spill
1813 ; BE-32BIT-P9-NEXT:    stfd f29, 424(r1) # 8-byte Folded Spill
1814 ; BE-32BIT-P9-NEXT:    stfd f30, 432(r1) # 8-byte Folded Spill
1815 ; BE-32BIT-P9-NEXT:    stfd f31, 440(r1) # 8-byte Folded Spill
1816 ; BE-32BIT-P9-NEXT:    stw r3, 16(r1) # 4-byte Folded Spill
1817 ; BE-32BIT-P9-NEXT:    stw r4, 20(r1)
1818 ; BE-32BIT-P9-NEXT:    #APP
1819 ; BE-32BIT-P9-NEXT:    nop
1820 ; BE-32BIT-P9-NEXT:    #NO_APP
1821 ; BE-32BIT-P9-NEXT:    addi r3, r1, 20
1822 ; BE-32BIT-P9-NEXT:    bl callee2
1823 ; BE-32BIT-P9-NEXT:    lwz r4, 16(r1) # 4-byte Folded Reload
1824 ; BE-32BIT-P9-NEXT:    lxv v31, 208(r1) # 16-byte Folded Reload
1825 ; BE-32BIT-P9-NEXT:    lxv v30, 192(r1) # 16-byte Folded Reload
1826 ; BE-32BIT-P9-NEXT:    lxv v29, 176(r1) # 16-byte Folded Reload
1827 ; BE-32BIT-P9-NEXT:    lxv v28, 160(r1) # 16-byte Folded Reload
1828 ; BE-32BIT-P9-NEXT:    lxv v27, 144(r1) # 16-byte Folded Reload
1829 ; BE-32BIT-P9-NEXT:    lxv v26, 128(r1) # 16-byte Folded Reload
1830 ; BE-32BIT-P9-NEXT:    lxv v25, 112(r1) # 16-byte Folded Reload
1831 ; BE-32BIT-P9-NEXT:    lxv v24, 96(r1) # 16-byte Folded Reload
1832 ; BE-32BIT-P9-NEXT:    lxv v23, 80(r1) # 16-byte Folded Reload
1833 ; BE-32BIT-P9-NEXT:    lxv v22, 64(r1) # 16-byte Folded Reload
1834 ; BE-32BIT-P9-NEXT:    lxv v21, 48(r1) # 16-byte Folded Reload
1835 ; BE-32BIT-P9-NEXT:    lxv v20, 32(r1) # 16-byte Folded Reload
1836 ; BE-32BIT-P9-NEXT:    lfd f31, 440(r1) # 8-byte Folded Reload
1837 ; BE-32BIT-P9-NEXT:    lfd f30, 432(r1) # 8-byte Folded Reload
1838 ; BE-32BIT-P9-NEXT:    lfd f29, 424(r1) # 8-byte Folded Reload
1839 ; BE-32BIT-P9-NEXT:    lfd f28, 416(r1) # 8-byte Folded Reload
1840 ; BE-32BIT-P9-NEXT:    lfd f27, 408(r1) # 8-byte Folded Reload
1841 ; BE-32BIT-P9-NEXT:    lwz r4, 16(r4)
1842 ; BE-32BIT-P9-NEXT:    lfd f26, 400(r1) # 8-byte Folded Reload
1843 ; BE-32BIT-P9-NEXT:    add r3, r4, r3
1844 ; BE-32BIT-P9-NEXT:    lfd f25, 392(r1) # 8-byte Folded Reload
1845 ; BE-32BIT-P9-NEXT:    lfd f24, 384(r1) # 8-byte Folded Reload
1846 ; BE-32BIT-P9-NEXT:    lfd f23, 376(r1) # 8-byte Folded Reload
1847 ; BE-32BIT-P9-NEXT:    lfd f22, 368(r1) # 8-byte Folded Reload
1848 ; BE-32BIT-P9-NEXT:    lfd f21, 360(r1) # 8-byte Folded Reload
1849 ; BE-32BIT-P9-NEXT:    lfd f20, 352(r1) # 8-byte Folded Reload
1850 ; BE-32BIT-P9-NEXT:    lfd f19, 344(r1) # 8-byte Folded Reload
1851 ; BE-32BIT-P9-NEXT:    lfd f18, 336(r1) # 8-byte Folded Reload
1852 ; BE-32BIT-P9-NEXT:    lfd f17, 328(r1) # 8-byte Folded Reload
1853 ; BE-32BIT-P9-NEXT:    lfd f16, 320(r1) # 8-byte Folded Reload
1854 ; BE-32BIT-P9-NEXT:    lfd f15, 312(r1) # 8-byte Folded Reload
1855 ; BE-32BIT-P9-NEXT:    lwz r12, 228(r1)
1856 ; BE-32BIT-P9-NEXT:    lwz r31, 300(r1) # 4-byte Folded Reload
1857 ; BE-32BIT-P9-NEXT:    lwz r30, 296(r1) # 4-byte Folded Reload
1858 ; BE-32BIT-P9-NEXT:    lwz r29, 292(r1) # 4-byte Folded Reload
1859 ; BE-32BIT-P9-NEXT:    lwz r28, 288(r1) # 4-byte Folded Reload
1860 ; BE-32BIT-P9-NEXT:    lwz r27, 284(r1) # 4-byte Folded Reload
1861 ; BE-32BIT-P9-NEXT:    lwz r26, 280(r1) # 4-byte Folded Reload
1862 ; BE-32BIT-P9-NEXT:    lwz r25, 276(r1) # 4-byte Folded Reload
1863 ; BE-32BIT-P9-NEXT:    lwz r24, 272(r1) # 4-byte Folded Reload
1864 ; BE-32BIT-P9-NEXT:    lwz r23, 268(r1) # 4-byte Folded Reload
1865 ; BE-32BIT-P9-NEXT:    lwz r22, 264(r1) # 4-byte Folded Reload
1866 ; BE-32BIT-P9-NEXT:    lwz r21, 260(r1) # 4-byte Folded Reload
1867 ; BE-32BIT-P9-NEXT:    lwz r20, 256(r1) # 4-byte Folded Reload
1868 ; BE-32BIT-P9-NEXT:    lwz r19, 252(r1) # 4-byte Folded Reload
1869 ; BE-32BIT-P9-NEXT:    lwz r18, 248(r1) # 4-byte Folded Reload
1870 ; BE-32BIT-P9-NEXT:    lwz r17, 244(r1) # 4-byte Folded Reload
1871 ; BE-32BIT-P9-NEXT:    lwz r16, 240(r1) # 4-byte Folded Reload
1872 ; BE-32BIT-P9-NEXT:    lwz r15, 236(r1) # 4-byte Folded Reload
1873 ; BE-32BIT-P9-NEXT:    lwz r14, 232(r1) # 4-byte Folded Reload
1874 ; BE-32BIT-P9-NEXT:    lfd f14, 304(r1) # 8-byte Folded Reload
1875 ; BE-32BIT-P9-NEXT:    lwz r0, 452(r1)
1876 ; BE-32BIT-P9-NEXT:    mtocrf 32, r12
1877 ; BE-32BIT-P9-NEXT:    mtocrf 16, r12
1878 ; BE-32BIT-P9-NEXT:    mtocrf 8, r12
1879 ; BE-32BIT-P9-NEXT:    addi r1, r1, 448
1880 ; BE-32BIT-P9-NEXT:    mtlr r0
1881 ; BE-32BIT-P9-NEXT:    hashchk r0, -424(r1)
1882 ; BE-32BIT-P9-NEXT:    blr
1884 ; BE-32BIT-P8-LABEL: spill:
1885 ; BE-32BIT-P8:       # %bb.0: # %entry
1886 ; BE-32BIT-P8-NEXT:    mflr r0
1887 ; BE-32BIT-P8-NEXT:    stwu r1, -448(r1)
1888 ; BE-32BIT-P8-NEXT:    li r4, 32
1889 ; BE-32BIT-P8-NEXT:    mfcr r12
1890 ; BE-32BIT-P8-NEXT:    stw r0, 452(r1)
1891 ; BE-32BIT-P8-NEXT:    hashst r0, -424(r1)
1892 ; BE-32BIT-P8-NEXT:    stw r14, 232(r1) # 4-byte Folded Spill
1893 ; BE-32BIT-P8-NEXT:    stw r15, 236(r1) # 4-byte Folded Spill
1894 ; BE-32BIT-P8-NEXT:    stw r16, 240(r1) # 4-byte Folded Spill
1895 ; BE-32BIT-P8-NEXT:    stw r17, 244(r1) # 4-byte Folded Spill
1896 ; BE-32BIT-P8-NEXT:    stw r18, 248(r1) # 4-byte Folded Spill
1897 ; BE-32BIT-P8-NEXT:    stw r19, 252(r1) # 4-byte Folded Spill
1898 ; BE-32BIT-P8-NEXT:    stw r20, 256(r1) # 4-byte Folded Spill
1899 ; BE-32BIT-P8-NEXT:    stw r21, 260(r1) # 4-byte Folded Spill
1900 ; BE-32BIT-P8-NEXT:    stw r22, 264(r1) # 4-byte Folded Spill
1901 ; BE-32BIT-P8-NEXT:    stw r23, 268(r1) # 4-byte Folded Spill
1902 ; BE-32BIT-P8-NEXT:    stw r24, 272(r1) # 4-byte Folded Spill
1903 ; BE-32BIT-P8-NEXT:    stw r25, 276(r1) # 4-byte Folded Spill
1904 ; BE-32BIT-P8-NEXT:    stw r26, 280(r1) # 4-byte Folded Spill
1905 ; BE-32BIT-P8-NEXT:    stw r27, 284(r1) # 4-byte Folded Spill
1906 ; BE-32BIT-P8-NEXT:    stw r28, 288(r1) # 4-byte Folded Spill
1907 ; BE-32BIT-P8-NEXT:    stw r29, 292(r1) # 4-byte Folded Spill
1908 ; BE-32BIT-P8-NEXT:    stw r30, 296(r1) # 4-byte Folded Spill
1909 ; BE-32BIT-P8-NEXT:    stw r31, 300(r1) # 4-byte Folded Spill
1910 ; BE-32BIT-P8-NEXT:    stw r12, 228(r1)
1911 ; BE-32BIT-P8-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
1912 ; BE-32BIT-P8-NEXT:    li r4, 48
1913 ; BE-32BIT-P8-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
1914 ; BE-32BIT-P8-NEXT:    li r4, 64
1915 ; BE-32BIT-P8-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
1916 ; BE-32BIT-P8-NEXT:    li r4, 80
1917 ; BE-32BIT-P8-NEXT:    stfd f14, 304(r1) # 8-byte Folded Spill
1918 ; BE-32BIT-P8-NEXT:    stfd f15, 312(r1) # 8-byte Folded Spill
1919 ; BE-32BIT-P8-NEXT:    stfd f16, 320(r1) # 8-byte Folded Spill
1920 ; BE-32BIT-P8-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
1921 ; BE-32BIT-P8-NEXT:    li r4, 96
1922 ; BE-32BIT-P8-NEXT:    stfd f17, 328(r1) # 8-byte Folded Spill
1923 ; BE-32BIT-P8-NEXT:    stfd f18, 336(r1) # 8-byte Folded Spill
1924 ; BE-32BIT-P8-NEXT:    stfd f19, 344(r1) # 8-byte Folded Spill
1925 ; BE-32BIT-P8-NEXT:    stfd f20, 352(r1) # 8-byte Folded Spill
1926 ; BE-32BIT-P8-NEXT:    stfd f21, 360(r1) # 8-byte Folded Spill
1927 ; BE-32BIT-P8-NEXT:    stfd f22, 368(r1) # 8-byte Folded Spill
1928 ; BE-32BIT-P8-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
1929 ; BE-32BIT-P8-NEXT:    li r4, 112
1930 ; BE-32BIT-P8-NEXT:    stfd f23, 376(r1) # 8-byte Folded Spill
1931 ; BE-32BIT-P8-NEXT:    stfd f24, 384(r1) # 8-byte Folded Spill
1932 ; BE-32BIT-P8-NEXT:    stfd f25, 392(r1) # 8-byte Folded Spill
1933 ; BE-32BIT-P8-NEXT:    stfd f26, 400(r1) # 8-byte Folded Spill
1934 ; BE-32BIT-P8-NEXT:    stfd f27, 408(r1) # 8-byte Folded Spill
1935 ; BE-32BIT-P8-NEXT:    stfd f28, 416(r1) # 8-byte Folded Spill
1936 ; BE-32BIT-P8-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
1937 ; BE-32BIT-P8-NEXT:    li r4, 128
1938 ; BE-32BIT-P8-NEXT:    stfd f29, 424(r1) # 8-byte Folded Spill
1939 ; BE-32BIT-P8-NEXT:    stfd f30, 432(r1) # 8-byte Folded Spill
1940 ; BE-32BIT-P8-NEXT:    stfd f31, 440(r1) # 8-byte Folded Spill
1941 ; BE-32BIT-P8-NEXT:    stw r3, 16(r1) # 4-byte Folded Spill
1942 ; BE-32BIT-P8-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
1943 ; BE-32BIT-P8-NEXT:    li r4, 144
1944 ; BE-32BIT-P8-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
1945 ; BE-32BIT-P8-NEXT:    li r4, 160
1946 ; BE-32BIT-P8-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
1947 ; BE-32BIT-P8-NEXT:    li r4, 176
1948 ; BE-32BIT-P8-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
1949 ; BE-32BIT-P8-NEXT:    li r4, 192
1950 ; BE-32BIT-P8-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
1951 ; BE-32BIT-P8-NEXT:    li r4, 208
1952 ; BE-32BIT-P8-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
1953 ; BE-32BIT-P8-NEXT:    lwz r4, 12(r3)
1954 ; BE-32BIT-P8-NEXT:    stw r4, 20(r1)
1955 ; BE-32BIT-P8-NEXT:    #APP
1956 ; BE-32BIT-P8-NEXT:    nop
1957 ; BE-32BIT-P8-NEXT:    #NO_APP
1958 ; BE-32BIT-P8-NEXT:    addi r3, r1, 20
1959 ; BE-32BIT-P8-NEXT:    bl callee2
1960 ; BE-32BIT-P8-NEXT:    lwz r4, 16(r1) # 4-byte Folded Reload
1961 ; BE-32BIT-P8-NEXT:    lfd f31, 440(r1) # 8-byte Folded Reload
1962 ; BE-32BIT-P8-NEXT:    lfd f30, 432(r1) # 8-byte Folded Reload
1963 ; BE-32BIT-P8-NEXT:    lwz r4, 16(r4)
1964 ; BE-32BIT-P8-NEXT:    lfd f29, 424(r1) # 8-byte Folded Reload
1965 ; BE-32BIT-P8-NEXT:    lfd f28, 416(r1) # 8-byte Folded Reload
1966 ; BE-32BIT-P8-NEXT:    lfd f27, 408(r1) # 8-byte Folded Reload
1967 ; BE-32BIT-P8-NEXT:    lfd f26, 400(r1) # 8-byte Folded Reload
1968 ; BE-32BIT-P8-NEXT:    lfd f25, 392(r1) # 8-byte Folded Reload
1969 ; BE-32BIT-P8-NEXT:    lfd f24, 384(r1) # 8-byte Folded Reload
1970 ; BE-32BIT-P8-NEXT:    add r3, r4, r3
1971 ; BE-32BIT-P8-NEXT:    li r4, 208
1972 ; BE-32BIT-P8-NEXT:    lfd f23, 376(r1) # 8-byte Folded Reload
1973 ; BE-32BIT-P8-NEXT:    lfd f22, 368(r1) # 8-byte Folded Reload
1974 ; BE-32BIT-P8-NEXT:    lfd f21, 360(r1) # 8-byte Folded Reload
1975 ; BE-32BIT-P8-NEXT:    lfd f20, 352(r1) # 8-byte Folded Reload
1976 ; BE-32BIT-P8-NEXT:    lfd f19, 344(r1) # 8-byte Folded Reload
1977 ; BE-32BIT-P8-NEXT:    lfd f18, 336(r1) # 8-byte Folded Reload
1978 ; BE-32BIT-P8-NEXT:    lfd f17, 328(r1) # 8-byte Folded Reload
1979 ; BE-32BIT-P8-NEXT:    lfd f16, 320(r1) # 8-byte Folded Reload
1980 ; BE-32BIT-P8-NEXT:    lfd f15, 312(r1) # 8-byte Folded Reload
1981 ; BE-32BIT-P8-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
1982 ; BE-32BIT-P8-NEXT:    li r4, 192
1983 ; BE-32BIT-P8-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
1984 ; BE-32BIT-P8-NEXT:    li r4, 176
1985 ; BE-32BIT-P8-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
1986 ; BE-32BIT-P8-NEXT:    li r4, 160
1987 ; BE-32BIT-P8-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
1988 ; BE-32BIT-P8-NEXT:    li r4, 144
1989 ; BE-32BIT-P8-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
1990 ; BE-32BIT-P8-NEXT:    li r4, 128
1991 ; BE-32BIT-P8-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
1992 ; BE-32BIT-P8-NEXT:    li r4, 112
1993 ; BE-32BIT-P8-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
1994 ; BE-32BIT-P8-NEXT:    li r4, 96
1995 ; BE-32BIT-P8-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
1996 ; BE-32BIT-P8-NEXT:    li r4, 80
1997 ; BE-32BIT-P8-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
1998 ; BE-32BIT-P8-NEXT:    li r4, 64
1999 ; BE-32BIT-P8-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
2000 ; BE-32BIT-P8-NEXT:    li r4, 48
2001 ; BE-32BIT-P8-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
2002 ; BE-32BIT-P8-NEXT:    li r4, 32
2003 ; BE-32BIT-P8-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
2004 ; BE-32BIT-P8-NEXT:    lwz r12, 228(r1)
2005 ; BE-32BIT-P8-NEXT:    lfd f14, 304(r1) # 8-byte Folded Reload
2006 ; BE-32BIT-P8-NEXT:    lwz r31, 300(r1) # 4-byte Folded Reload
2007 ; BE-32BIT-P8-NEXT:    lwz r30, 296(r1) # 4-byte Folded Reload
2008 ; BE-32BIT-P8-NEXT:    lwz r29, 292(r1) # 4-byte Folded Reload
2009 ; BE-32BIT-P8-NEXT:    lwz r28, 288(r1) # 4-byte Folded Reload
2010 ; BE-32BIT-P8-NEXT:    lwz r27, 284(r1) # 4-byte Folded Reload
2011 ; BE-32BIT-P8-NEXT:    lwz r26, 280(r1) # 4-byte Folded Reload
2012 ; BE-32BIT-P8-NEXT:    lwz r25, 276(r1) # 4-byte Folded Reload
2013 ; BE-32BIT-P8-NEXT:    lwz r24, 272(r1) # 4-byte Folded Reload
2014 ; BE-32BIT-P8-NEXT:    lwz r23, 268(r1) # 4-byte Folded Reload
2015 ; BE-32BIT-P8-NEXT:    lwz r22, 264(r1) # 4-byte Folded Reload
2016 ; BE-32BIT-P8-NEXT:    lwz r21, 260(r1) # 4-byte Folded Reload
2017 ; BE-32BIT-P8-NEXT:    lwz r20, 256(r1) # 4-byte Folded Reload
2018 ; BE-32BIT-P8-NEXT:    lwz r19, 252(r1) # 4-byte Folded Reload
2019 ; BE-32BIT-P8-NEXT:    lwz r18, 248(r1) # 4-byte Folded Reload
2020 ; BE-32BIT-P8-NEXT:    lwz r17, 244(r1) # 4-byte Folded Reload
2021 ; BE-32BIT-P8-NEXT:    lwz r16, 240(r1) # 4-byte Folded Reload
2022 ; BE-32BIT-P8-NEXT:    lwz r15, 236(r1) # 4-byte Folded Reload
2023 ; BE-32BIT-P8-NEXT:    lwz r14, 232(r1) # 4-byte Folded Reload
2024 ; BE-32BIT-P8-NEXT:    lwz r0, 452(r1)
2025 ; BE-32BIT-P8-NEXT:    mtocrf 32, r12
2026 ; BE-32BIT-P8-NEXT:    mtocrf 16, r12
2027 ; BE-32BIT-P8-NEXT:    mtocrf 8, r12
2028 ; BE-32BIT-P8-NEXT:    addi r1, r1, 448
2029 ; BE-32BIT-P8-NEXT:    mtlr r0
2030 ; BE-32BIT-P8-NEXT:    hashchk r0, -424(r1)
2031 ; BE-32BIT-P8-NEXT:    blr
2033 ; LE-P10-PRIV-LABEL: spill:
2034 ; LE-P10-PRIV:       # %bb.0: # %entry
2035 ; LE-P10-PRIV-NEXT:    mflr r0
2036 ; LE-P10-PRIV-NEXT:    mfcr r12
2037 ; LE-P10-PRIV-NEXT:    std r0, 16(r1)
2038 ; LE-P10-PRIV-NEXT:    hashstp r0, -488(r1)
2039 ; LE-P10-PRIV-NEXT:    stw r12, 8(r1)
2040 ; LE-P10-PRIV-NEXT:    stdu r1, -544(r1)
2041 ; LE-P10-PRIV-NEXT:    lwz r4, 12(r3)
2042 ; LE-P10-PRIV-NEXT:    std r14, 256(r1) # 8-byte Folded Spill
2043 ; LE-P10-PRIV-NEXT:    std r15, 264(r1) # 8-byte Folded Spill
2044 ; LE-P10-PRIV-NEXT:    std r16, 272(r1) # 8-byte Folded Spill
2045 ; LE-P10-PRIV-NEXT:    std r17, 280(r1) # 8-byte Folded Spill
2046 ; LE-P10-PRIV-NEXT:    std r18, 288(r1) # 8-byte Folded Spill
2047 ; LE-P10-PRIV-NEXT:    std r19, 296(r1) # 8-byte Folded Spill
2048 ; LE-P10-PRIV-NEXT:    std r20, 304(r1) # 8-byte Folded Spill
2049 ; LE-P10-PRIV-NEXT:    std r21, 312(r1) # 8-byte Folded Spill
2050 ; LE-P10-PRIV-NEXT:    std r22, 320(r1) # 8-byte Folded Spill
2051 ; LE-P10-PRIV-NEXT:    std r23, 328(r1) # 8-byte Folded Spill
2052 ; LE-P10-PRIV-NEXT:    std r24, 336(r1) # 8-byte Folded Spill
2053 ; LE-P10-PRIV-NEXT:    std r25, 344(r1) # 8-byte Folded Spill
2054 ; LE-P10-PRIV-NEXT:    std r26, 352(r1) # 8-byte Folded Spill
2055 ; LE-P10-PRIV-NEXT:    std r27, 360(r1) # 8-byte Folded Spill
2056 ; LE-P10-PRIV-NEXT:    std r28, 368(r1) # 8-byte Folded Spill
2057 ; LE-P10-PRIV-NEXT:    std r29, 376(r1) # 8-byte Folded Spill
2058 ; LE-P10-PRIV-NEXT:    std r30, 384(r1) # 8-byte Folded Spill
2059 ; LE-P10-PRIV-NEXT:    std r31, 392(r1) # 8-byte Folded Spill
2060 ; LE-P10-PRIV-NEXT:    stfd f14, 400(r1) # 8-byte Folded Spill
2061 ; LE-P10-PRIV-NEXT:    stfd f15, 408(r1) # 8-byte Folded Spill
2062 ; LE-P10-PRIV-NEXT:    stfd f16, 416(r1) # 8-byte Folded Spill
2063 ; LE-P10-PRIV-NEXT:    stfd f17, 424(r1) # 8-byte Folded Spill
2064 ; LE-P10-PRIV-NEXT:    stfd f18, 432(r1) # 8-byte Folded Spill
2065 ; LE-P10-PRIV-NEXT:    stfd f19, 440(r1) # 8-byte Folded Spill
2066 ; LE-P10-PRIV-NEXT:    stfd f20, 448(r1) # 8-byte Folded Spill
2067 ; LE-P10-PRIV-NEXT:    stfd f21, 456(r1) # 8-byte Folded Spill
2068 ; LE-P10-PRIV-NEXT:    stfd f22, 464(r1) # 8-byte Folded Spill
2069 ; LE-P10-PRIV-NEXT:    stfd f23, 472(r1) # 8-byte Folded Spill
2070 ; LE-P10-PRIV-NEXT:    stfd f24, 480(r1) # 8-byte Folded Spill
2071 ; LE-P10-PRIV-NEXT:    stfd f25, 488(r1) # 8-byte Folded Spill
2072 ; LE-P10-PRIV-NEXT:    stfd f26, 496(r1) # 8-byte Folded Spill
2073 ; LE-P10-PRIV-NEXT:    stfd f27, 504(r1) # 8-byte Folded Spill
2074 ; LE-P10-PRIV-NEXT:    stfd f28, 512(r1) # 8-byte Folded Spill
2075 ; LE-P10-PRIV-NEXT:    stfd f29, 520(r1) # 8-byte Folded Spill
2076 ; LE-P10-PRIV-NEXT:    stfd f30, 528(r1) # 8-byte Folded Spill
2077 ; LE-P10-PRIV-NEXT:    stfd f31, 536(r1) # 8-byte Folded Spill
2078 ; LE-P10-PRIV-NEXT:    stxv v20, 64(r1) # 16-byte Folded Spill
2079 ; LE-P10-PRIV-NEXT:    stxv v21, 80(r1) # 16-byte Folded Spill
2080 ; LE-P10-PRIV-NEXT:    stxv v22, 96(r1) # 16-byte Folded Spill
2081 ; LE-P10-PRIV-NEXT:    stxv v23, 112(r1) # 16-byte Folded Spill
2082 ; LE-P10-PRIV-NEXT:    stxv v24, 128(r1) # 16-byte Folded Spill
2083 ; LE-P10-PRIV-NEXT:    stxv v25, 144(r1) # 16-byte Folded Spill
2084 ; LE-P10-PRIV-NEXT:    stxv v26, 160(r1) # 16-byte Folded Spill
2085 ; LE-P10-PRIV-NEXT:    stxv v27, 176(r1) # 16-byte Folded Spill
2086 ; LE-P10-PRIV-NEXT:    stxv v28, 192(r1) # 16-byte Folded Spill
2087 ; LE-P10-PRIV-NEXT:    stxv v29, 208(r1) # 16-byte Folded Spill
2088 ; LE-P10-PRIV-NEXT:    stxv v30, 224(r1) # 16-byte Folded Spill
2089 ; LE-P10-PRIV-NEXT:    stxv v31, 240(r1) # 16-byte Folded Spill
2090 ; LE-P10-PRIV-NEXT:    std r3, 40(r1) # 8-byte Folded Spill
2091 ; LE-P10-PRIV-NEXT:    stw r4, 52(r1)
2092 ; LE-P10-PRIV-NEXT:    #APP
2093 ; LE-P10-PRIV-NEXT:    nop
2094 ; LE-P10-PRIV-NEXT:    #NO_APP
2095 ; LE-P10-PRIV-NEXT:    addi r3, r1, 52
2096 ; LE-P10-PRIV-NEXT:    bl callee2@notoc
2097 ; LE-P10-PRIV-NEXT:    ld r4, 40(r1) # 8-byte Folded Reload
2098 ; LE-P10-PRIV-NEXT:    lxv v31, 240(r1) # 16-byte Folded Reload
2099 ; LE-P10-PRIV-NEXT:    lxv v30, 224(r1) # 16-byte Folded Reload
2100 ; LE-P10-PRIV-NEXT:    lxv v29, 208(r1) # 16-byte Folded Reload
2101 ; LE-P10-PRIV-NEXT:    lxv v28, 192(r1) # 16-byte Folded Reload
2102 ; LE-P10-PRIV-NEXT:    lxv v27, 176(r1) # 16-byte Folded Reload
2103 ; LE-P10-PRIV-NEXT:    lxv v26, 160(r1) # 16-byte Folded Reload
2104 ; LE-P10-PRIV-NEXT:    lxv v25, 144(r1) # 16-byte Folded Reload
2105 ; LE-P10-PRIV-NEXT:    lxv v24, 128(r1) # 16-byte Folded Reload
2106 ; LE-P10-PRIV-NEXT:    lxv v23, 112(r1) # 16-byte Folded Reload
2107 ; LE-P10-PRIV-NEXT:    lxv v22, 96(r1) # 16-byte Folded Reload
2108 ; LE-P10-PRIV-NEXT:    lxv v21, 80(r1) # 16-byte Folded Reload
2109 ; LE-P10-PRIV-NEXT:    lxv v20, 64(r1) # 16-byte Folded Reload
2110 ; LE-P10-PRIV-NEXT:    lfd f31, 536(r1) # 8-byte Folded Reload
2111 ; LE-P10-PRIV-NEXT:    lfd f30, 528(r1) # 8-byte Folded Reload
2112 ; LE-P10-PRIV-NEXT:    lfd f29, 520(r1) # 8-byte Folded Reload
2113 ; LE-P10-PRIV-NEXT:    lfd f28, 512(r1) # 8-byte Folded Reload
2114 ; LE-P10-PRIV-NEXT:    lfd f27, 504(r1) # 8-byte Folded Reload
2115 ; LE-P10-PRIV-NEXT:    lfd f26, 496(r1) # 8-byte Folded Reload
2116 ; LE-P10-PRIV-NEXT:    lfd f25, 488(r1) # 8-byte Folded Reload
2117 ; LE-P10-PRIV-NEXT:    lfd f24, 480(r1) # 8-byte Folded Reload
2118 ; LE-P10-PRIV-NEXT:    lfd f23, 472(r1) # 8-byte Folded Reload
2119 ; LE-P10-PRIV-NEXT:    lfd f22, 464(r1) # 8-byte Folded Reload
2120 ; LE-P10-PRIV-NEXT:    lfd f21, 456(r1) # 8-byte Folded Reload
2121 ; LE-P10-PRIV-NEXT:    lfd f20, 448(r1) # 8-byte Folded Reload
2122 ; LE-P10-PRIV-NEXT:    lfd f19, 440(r1) # 8-byte Folded Reload
2123 ; LE-P10-PRIV-NEXT:    lfd f18, 432(r1) # 8-byte Folded Reload
2124 ; LE-P10-PRIV-NEXT:    lfd f17, 424(r1) # 8-byte Folded Reload
2125 ; LE-P10-PRIV-NEXT:    lfd f16, 416(r1) # 8-byte Folded Reload
2126 ; LE-P10-PRIV-NEXT:    lfd f15, 408(r1) # 8-byte Folded Reload
2127 ; LE-P10-PRIV-NEXT:    lfd f14, 400(r1) # 8-byte Folded Reload
2128 ; LE-P10-PRIV-NEXT:    ld r31, 392(r1) # 8-byte Folded Reload
2129 ; LE-P10-PRIV-NEXT:    ld r30, 384(r1) # 8-byte Folded Reload
2130 ; LE-P10-PRIV-NEXT:    ld r29, 376(r1) # 8-byte Folded Reload
2131 ; LE-P10-PRIV-NEXT:    ld r28, 368(r1) # 8-byte Folded Reload
2132 ; LE-P10-PRIV-NEXT:    ld r27, 360(r1) # 8-byte Folded Reload
2133 ; LE-P10-PRIV-NEXT:    ld r26, 352(r1) # 8-byte Folded Reload
2134 ; LE-P10-PRIV-NEXT:    ld r25, 344(r1) # 8-byte Folded Reload
2135 ; LE-P10-PRIV-NEXT:    ld r24, 336(r1) # 8-byte Folded Reload
2136 ; LE-P10-PRIV-NEXT:    ld r23, 328(r1) # 8-byte Folded Reload
2137 ; LE-P10-PRIV-NEXT:    ld r22, 320(r1) # 8-byte Folded Reload
2138 ; LE-P10-PRIV-NEXT:    ld r21, 312(r1) # 8-byte Folded Reload
2139 ; LE-P10-PRIV-NEXT:    ld r20, 304(r1) # 8-byte Folded Reload
2140 ; LE-P10-PRIV-NEXT:    ld r19, 296(r1) # 8-byte Folded Reload
2141 ; LE-P10-PRIV-NEXT:    ld r18, 288(r1) # 8-byte Folded Reload
2142 ; LE-P10-PRIV-NEXT:    ld r17, 280(r1) # 8-byte Folded Reload
2143 ; LE-P10-PRIV-NEXT:    ld r16, 272(r1) # 8-byte Folded Reload
2144 ; LE-P10-PRIV-NEXT:    ld r15, 264(r1) # 8-byte Folded Reload
2145 ; LE-P10-PRIV-NEXT:    lwz r4, 16(r4)
2146 ; LE-P10-PRIV-NEXT:    add r3, r4, r3
2147 ; LE-P10-PRIV-NEXT:    clrldi r3, r3, 32
2148 ; LE-P10-PRIV-NEXT:    ld r14, 256(r1) # 8-byte Folded Reload
2149 ; LE-P10-PRIV-NEXT:    addi r1, r1, 544
2150 ; LE-P10-PRIV-NEXT:    ld r0, 16(r1)
2151 ; LE-P10-PRIV-NEXT:    lwz r12, 8(r1)
2152 ; LE-P10-PRIV-NEXT:    mtlr r0
2153 ; LE-P10-PRIV-NEXT:    hashchkp r0, -488(r1)
2154 ; LE-P10-PRIV-NEXT:    mtocrf 32, r12
2155 ; LE-P10-PRIV-NEXT:    mtocrf 16, r12
2156 ; LE-P10-PRIV-NEXT:    mtocrf 8, r12
2157 ; LE-P10-PRIV-NEXT:    blr
2159 ; LE-P9-PRIV-LABEL: spill:
2160 ; LE-P9-PRIV:       # %bb.0: # %entry
2161 ; LE-P9-PRIV-NEXT:    mfcr r12
2162 ; LE-P9-PRIV-NEXT:    mflr r0
2163 ; LE-P9-PRIV-NEXT:    stw r12, 8(r1)
2164 ; LE-P9-PRIV-NEXT:    stdu r1, -544(r1)
2165 ; LE-P9-PRIV-NEXT:    std r0, 560(r1)
2166 ; LE-P9-PRIV-NEXT:    hashstp r0, -488(r1)
2167 ; LE-P9-PRIV-NEXT:    std r14, 256(r1) # 8-byte Folded Spill
2168 ; LE-P9-PRIV-NEXT:    stxv v20, 64(r1) # 16-byte Folded Spill
2169 ; LE-P9-PRIV-NEXT:    stxv v21, 80(r1) # 16-byte Folded Spill
2170 ; LE-P9-PRIV-NEXT:    lwz r4, 12(r3)
2171 ; LE-P9-PRIV-NEXT:    std r15, 264(r1) # 8-byte Folded Spill
2172 ; LE-P9-PRIV-NEXT:    stxv v22, 96(r1) # 16-byte Folded Spill
2173 ; LE-P9-PRIV-NEXT:    std r16, 272(r1) # 8-byte Folded Spill
2174 ; LE-P9-PRIV-NEXT:    stxv v23, 112(r1) # 16-byte Folded Spill
2175 ; LE-P9-PRIV-NEXT:    std r17, 280(r1) # 8-byte Folded Spill
2176 ; LE-P9-PRIV-NEXT:    stxv v24, 128(r1) # 16-byte Folded Spill
2177 ; LE-P9-PRIV-NEXT:    std r18, 288(r1) # 8-byte Folded Spill
2178 ; LE-P9-PRIV-NEXT:    stxv v25, 144(r1) # 16-byte Folded Spill
2179 ; LE-P9-PRIV-NEXT:    std r19, 296(r1) # 8-byte Folded Spill
2180 ; LE-P9-PRIV-NEXT:    std r20, 304(r1) # 8-byte Folded Spill
2181 ; LE-P9-PRIV-NEXT:    stxv v26, 160(r1) # 16-byte Folded Spill
2182 ; LE-P9-PRIV-NEXT:    std r21, 312(r1) # 8-byte Folded Spill
2183 ; LE-P9-PRIV-NEXT:    stxv v27, 176(r1) # 16-byte Folded Spill
2184 ; LE-P9-PRIV-NEXT:    std r22, 320(r1) # 8-byte Folded Spill
2185 ; LE-P9-PRIV-NEXT:    stxv v28, 192(r1) # 16-byte Folded Spill
2186 ; LE-P9-PRIV-NEXT:    std r23, 328(r1) # 8-byte Folded Spill
2187 ; LE-P9-PRIV-NEXT:    std r24, 336(r1) # 8-byte Folded Spill
2188 ; LE-P9-PRIV-NEXT:    stxv v29, 208(r1) # 16-byte Folded Spill
2189 ; LE-P9-PRIV-NEXT:    std r25, 344(r1) # 8-byte Folded Spill
2190 ; LE-P9-PRIV-NEXT:    stxv v30, 224(r1) # 16-byte Folded Spill
2191 ; LE-P9-PRIV-NEXT:    std r26, 352(r1) # 8-byte Folded Spill
2192 ; LE-P9-PRIV-NEXT:    stxv v31, 240(r1) # 16-byte Folded Spill
2193 ; LE-P9-PRIV-NEXT:    std r27, 360(r1) # 8-byte Folded Spill
2194 ; LE-P9-PRIV-NEXT:    std r28, 368(r1) # 8-byte Folded Spill
2195 ; LE-P9-PRIV-NEXT:    std r29, 376(r1) # 8-byte Folded Spill
2196 ; LE-P9-PRIV-NEXT:    std r30, 384(r1) # 8-byte Folded Spill
2197 ; LE-P9-PRIV-NEXT:    std r31, 392(r1) # 8-byte Folded Spill
2198 ; LE-P9-PRIV-NEXT:    stfd f14, 400(r1) # 8-byte Folded Spill
2199 ; LE-P9-PRIV-NEXT:    stfd f15, 408(r1) # 8-byte Folded Spill
2200 ; LE-P9-PRIV-NEXT:    stfd f16, 416(r1) # 8-byte Folded Spill
2201 ; LE-P9-PRIV-NEXT:    stfd f17, 424(r1) # 8-byte Folded Spill
2202 ; LE-P9-PRIV-NEXT:    stfd f18, 432(r1) # 8-byte Folded Spill
2203 ; LE-P9-PRIV-NEXT:    stfd f19, 440(r1) # 8-byte Folded Spill
2204 ; LE-P9-PRIV-NEXT:    stfd f20, 448(r1) # 8-byte Folded Spill
2205 ; LE-P9-PRIV-NEXT:    stfd f21, 456(r1) # 8-byte Folded Spill
2206 ; LE-P9-PRIV-NEXT:    stfd f22, 464(r1) # 8-byte Folded Spill
2207 ; LE-P9-PRIV-NEXT:    stfd f23, 472(r1) # 8-byte Folded Spill
2208 ; LE-P9-PRIV-NEXT:    stfd f24, 480(r1) # 8-byte Folded Spill
2209 ; LE-P9-PRIV-NEXT:    stfd f25, 488(r1) # 8-byte Folded Spill
2210 ; LE-P9-PRIV-NEXT:    stfd f26, 496(r1) # 8-byte Folded Spill
2211 ; LE-P9-PRIV-NEXT:    stfd f27, 504(r1) # 8-byte Folded Spill
2212 ; LE-P9-PRIV-NEXT:    stfd f28, 512(r1) # 8-byte Folded Spill
2213 ; LE-P9-PRIV-NEXT:    stfd f29, 520(r1) # 8-byte Folded Spill
2214 ; LE-P9-PRIV-NEXT:    stfd f30, 528(r1) # 8-byte Folded Spill
2215 ; LE-P9-PRIV-NEXT:    stfd f31, 536(r1) # 8-byte Folded Spill
2216 ; LE-P9-PRIV-NEXT:    std r3, 40(r1) # 8-byte Folded Spill
2217 ; LE-P9-PRIV-NEXT:    stw r4, 52(r1)
2218 ; LE-P9-PRIV-NEXT:    #APP
2219 ; LE-P9-PRIV-NEXT:    nop
2220 ; LE-P9-PRIV-NEXT:    #NO_APP
2221 ; LE-P9-PRIV-NEXT:    addi r3, r1, 52
2222 ; LE-P9-PRIV-NEXT:    bl callee2
2223 ; LE-P9-PRIV-NEXT:    nop
2224 ; LE-P9-PRIV-NEXT:    ld r4, 40(r1) # 8-byte Folded Reload
2225 ; LE-P9-PRIV-NEXT:    lxv v31, 240(r1) # 16-byte Folded Reload
2226 ; LE-P9-PRIV-NEXT:    lxv v30, 224(r1) # 16-byte Folded Reload
2227 ; LE-P9-PRIV-NEXT:    lxv v29, 208(r1) # 16-byte Folded Reload
2228 ; LE-P9-PRIV-NEXT:    lxv v28, 192(r1) # 16-byte Folded Reload
2229 ; LE-P9-PRIV-NEXT:    lxv v27, 176(r1) # 16-byte Folded Reload
2230 ; LE-P9-PRIV-NEXT:    lxv v26, 160(r1) # 16-byte Folded Reload
2231 ; LE-P9-PRIV-NEXT:    lxv v25, 144(r1) # 16-byte Folded Reload
2232 ; LE-P9-PRIV-NEXT:    lxv v24, 128(r1) # 16-byte Folded Reload
2233 ; LE-P9-PRIV-NEXT:    lxv v23, 112(r1) # 16-byte Folded Reload
2234 ; LE-P9-PRIV-NEXT:    lxv v22, 96(r1) # 16-byte Folded Reload
2235 ; LE-P9-PRIV-NEXT:    lxv v21, 80(r1) # 16-byte Folded Reload
2236 ; LE-P9-PRIV-NEXT:    lxv v20, 64(r1) # 16-byte Folded Reload
2237 ; LE-P9-PRIV-NEXT:    lfd f31, 536(r1) # 8-byte Folded Reload
2238 ; LE-P9-PRIV-NEXT:    lfd f30, 528(r1) # 8-byte Folded Reload
2239 ; LE-P9-PRIV-NEXT:    lfd f29, 520(r1) # 8-byte Folded Reload
2240 ; LE-P9-PRIV-NEXT:    lfd f28, 512(r1) # 8-byte Folded Reload
2241 ; LE-P9-PRIV-NEXT:    lfd f27, 504(r1) # 8-byte Folded Reload
2242 ; LE-P9-PRIV-NEXT:    ld r31, 392(r1) # 8-byte Folded Reload
2243 ; LE-P9-PRIV-NEXT:    ld r30, 384(r1) # 8-byte Folded Reload
2244 ; LE-P9-PRIV-NEXT:    ld r29, 376(r1) # 8-byte Folded Reload
2245 ; LE-P9-PRIV-NEXT:    lfd f26, 496(r1) # 8-byte Folded Reload
2246 ; LE-P9-PRIV-NEXT:    ld r28, 368(r1) # 8-byte Folded Reload
2247 ; LE-P9-PRIV-NEXT:    ld r27, 360(r1) # 8-byte Folded Reload
2248 ; LE-P9-PRIV-NEXT:    ld r26, 352(r1) # 8-byte Folded Reload
2249 ; LE-P9-PRIV-NEXT:    lfd f25, 488(r1) # 8-byte Folded Reload
2250 ; LE-P9-PRIV-NEXT:    ld r25, 344(r1) # 8-byte Folded Reload
2251 ; LE-P9-PRIV-NEXT:    ld r24, 336(r1) # 8-byte Folded Reload
2252 ; LE-P9-PRIV-NEXT:    ld r23, 328(r1) # 8-byte Folded Reload
2253 ; LE-P9-PRIV-NEXT:    lfd f24, 480(r1) # 8-byte Folded Reload
2254 ; LE-P9-PRIV-NEXT:    ld r22, 320(r1) # 8-byte Folded Reload
2255 ; LE-P9-PRIV-NEXT:    ld r21, 312(r1) # 8-byte Folded Reload
2256 ; LE-P9-PRIV-NEXT:    lwz r4, 16(r4)
2257 ; LE-P9-PRIV-NEXT:    add r3, r4, r3
2258 ; LE-P9-PRIV-NEXT:    lfd f23, 472(r1) # 8-byte Folded Reload
2259 ; LE-P9-PRIV-NEXT:    lfd f22, 464(r1) # 8-byte Folded Reload
2260 ; LE-P9-PRIV-NEXT:    ld r20, 304(r1) # 8-byte Folded Reload
2261 ; LE-P9-PRIV-NEXT:    ld r19, 296(r1) # 8-byte Folded Reload
2262 ; LE-P9-PRIV-NEXT:    ld r18, 288(r1) # 8-byte Folded Reload
2263 ; LE-P9-PRIV-NEXT:    ld r17, 280(r1) # 8-byte Folded Reload
2264 ; LE-P9-PRIV-NEXT:    ld r16, 272(r1) # 8-byte Folded Reload
2265 ; LE-P9-PRIV-NEXT:    ld r15, 264(r1) # 8-byte Folded Reload
2266 ; LE-P9-PRIV-NEXT:    ld r14, 256(r1) # 8-byte Folded Reload
2267 ; LE-P9-PRIV-NEXT:    lfd f21, 456(r1) # 8-byte Folded Reload
2268 ; LE-P9-PRIV-NEXT:    lfd f20, 448(r1) # 8-byte Folded Reload
2269 ; LE-P9-PRIV-NEXT:    lfd f19, 440(r1) # 8-byte Folded Reload
2270 ; LE-P9-PRIV-NEXT:    lfd f18, 432(r1) # 8-byte Folded Reload
2271 ; LE-P9-PRIV-NEXT:    lfd f17, 424(r1) # 8-byte Folded Reload
2272 ; LE-P9-PRIV-NEXT:    lfd f16, 416(r1) # 8-byte Folded Reload
2273 ; LE-P9-PRIV-NEXT:    lfd f15, 408(r1) # 8-byte Folded Reload
2274 ; LE-P9-PRIV-NEXT:    lfd f14, 400(r1) # 8-byte Folded Reload
2275 ; LE-P9-PRIV-NEXT:    clrldi r3, r3, 32
2276 ; LE-P9-PRIV-NEXT:    addi r1, r1, 544
2277 ; LE-P9-PRIV-NEXT:    ld r0, 16(r1)
2278 ; LE-P9-PRIV-NEXT:    lwz r12, 8(r1)
2279 ; LE-P9-PRIV-NEXT:    mtlr r0
2280 ; LE-P9-PRIV-NEXT:    hashchkp r0, -488(r1)
2281 ; LE-P9-PRIV-NEXT:    mtocrf 32, r12
2282 ; LE-P9-PRIV-NEXT:    mtocrf 16, r12
2283 ; LE-P9-PRIV-NEXT:    mtocrf 8, r12
2284 ; LE-P9-PRIV-NEXT:    blr
2286 ; LE-P8-PRIV-LABEL: spill:
2287 ; LE-P8-PRIV:       # %bb.0: # %entry
2288 ; LE-P8-PRIV-NEXT:    mfcr r12
2289 ; LE-P8-PRIV-NEXT:    stw r12, 8(r1)
2290 ; LE-P8-PRIV-NEXT:    mflr r0
2291 ; LE-P8-PRIV-NEXT:    stdu r1, -544(r1)
2292 ; LE-P8-PRIV-NEXT:    li r4, 64
2293 ; LE-P8-PRIV-NEXT:    std r0, 560(r1)
2294 ; LE-P8-PRIV-NEXT:    hashstp r0, -488(r1)
2295 ; LE-P8-PRIV-NEXT:    std r14, 256(r1) # 8-byte Folded Spill
2296 ; LE-P8-PRIV-NEXT:    std r15, 264(r1) # 8-byte Folded Spill
2297 ; LE-P8-PRIV-NEXT:    std r16, 272(r1) # 8-byte Folded Spill
2298 ; LE-P8-PRIV-NEXT:    std r17, 280(r1) # 8-byte Folded Spill
2299 ; LE-P8-PRIV-NEXT:    std r18, 288(r1) # 8-byte Folded Spill
2300 ; LE-P8-PRIV-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
2301 ; LE-P8-PRIV-NEXT:    li r4, 80
2302 ; LE-P8-PRIV-NEXT:    std r19, 296(r1) # 8-byte Folded Spill
2303 ; LE-P8-PRIV-NEXT:    std r20, 304(r1) # 8-byte Folded Spill
2304 ; LE-P8-PRIV-NEXT:    std r21, 312(r1) # 8-byte Folded Spill
2305 ; LE-P8-PRIV-NEXT:    std r22, 320(r1) # 8-byte Folded Spill
2306 ; LE-P8-PRIV-NEXT:    std r23, 328(r1) # 8-byte Folded Spill
2307 ; LE-P8-PRIV-NEXT:    std r24, 336(r1) # 8-byte Folded Spill
2308 ; LE-P8-PRIV-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
2309 ; LE-P8-PRIV-NEXT:    li r4, 96
2310 ; LE-P8-PRIV-NEXT:    std r25, 344(r1) # 8-byte Folded Spill
2311 ; LE-P8-PRIV-NEXT:    std r26, 352(r1) # 8-byte Folded Spill
2312 ; LE-P8-PRIV-NEXT:    std r27, 360(r1) # 8-byte Folded Spill
2313 ; LE-P8-PRIV-NEXT:    std r28, 368(r1) # 8-byte Folded Spill
2314 ; LE-P8-PRIV-NEXT:    std r29, 376(r1) # 8-byte Folded Spill
2315 ; LE-P8-PRIV-NEXT:    std r30, 384(r1) # 8-byte Folded Spill
2316 ; LE-P8-PRIV-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
2317 ; LE-P8-PRIV-NEXT:    li r4, 112
2318 ; LE-P8-PRIV-NEXT:    std r31, 392(r1) # 8-byte Folded Spill
2319 ; LE-P8-PRIV-NEXT:    stfd f14, 400(r1) # 8-byte Folded Spill
2320 ; LE-P8-PRIV-NEXT:    stfd f15, 408(r1) # 8-byte Folded Spill
2321 ; LE-P8-PRIV-NEXT:    stfd f16, 416(r1) # 8-byte Folded Spill
2322 ; LE-P8-PRIV-NEXT:    stfd f17, 424(r1) # 8-byte Folded Spill
2323 ; LE-P8-PRIV-NEXT:    stfd f18, 432(r1) # 8-byte Folded Spill
2324 ; LE-P8-PRIV-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
2325 ; LE-P8-PRIV-NEXT:    li r4, 128
2326 ; LE-P8-PRIV-NEXT:    stfd f19, 440(r1) # 8-byte Folded Spill
2327 ; LE-P8-PRIV-NEXT:    stfd f20, 448(r1) # 8-byte Folded Spill
2328 ; LE-P8-PRIV-NEXT:    stfd f21, 456(r1) # 8-byte Folded Spill
2329 ; LE-P8-PRIV-NEXT:    stfd f22, 464(r1) # 8-byte Folded Spill
2330 ; LE-P8-PRIV-NEXT:    stfd f23, 472(r1) # 8-byte Folded Spill
2331 ; LE-P8-PRIV-NEXT:    stfd f24, 480(r1) # 8-byte Folded Spill
2332 ; LE-P8-PRIV-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
2333 ; LE-P8-PRIV-NEXT:    li r4, 144
2334 ; LE-P8-PRIV-NEXT:    stfd f25, 488(r1) # 8-byte Folded Spill
2335 ; LE-P8-PRIV-NEXT:    stfd f26, 496(r1) # 8-byte Folded Spill
2336 ; LE-P8-PRIV-NEXT:    stfd f27, 504(r1) # 8-byte Folded Spill
2337 ; LE-P8-PRIV-NEXT:    stfd f28, 512(r1) # 8-byte Folded Spill
2338 ; LE-P8-PRIV-NEXT:    stfd f29, 520(r1) # 8-byte Folded Spill
2339 ; LE-P8-PRIV-NEXT:    stfd f30, 528(r1) # 8-byte Folded Spill
2340 ; LE-P8-PRIV-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
2341 ; LE-P8-PRIV-NEXT:    li r4, 160
2342 ; LE-P8-PRIV-NEXT:    stfd f31, 536(r1) # 8-byte Folded Spill
2343 ; LE-P8-PRIV-NEXT:    std r3, 40(r1) # 8-byte Folded Spill
2344 ; LE-P8-PRIV-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
2345 ; LE-P8-PRIV-NEXT:    li r4, 176
2346 ; LE-P8-PRIV-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
2347 ; LE-P8-PRIV-NEXT:    li r4, 192
2348 ; LE-P8-PRIV-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
2349 ; LE-P8-PRIV-NEXT:    li r4, 208
2350 ; LE-P8-PRIV-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
2351 ; LE-P8-PRIV-NEXT:    li r4, 224
2352 ; LE-P8-PRIV-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
2353 ; LE-P8-PRIV-NEXT:    li r4, 240
2354 ; LE-P8-PRIV-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
2355 ; LE-P8-PRIV-NEXT:    lwz r4, 12(r3)
2356 ; LE-P8-PRIV-NEXT:    stw r4, 52(r1)
2357 ; LE-P8-PRIV-NEXT:    #APP
2358 ; LE-P8-PRIV-NEXT:    nop
2359 ; LE-P8-PRIV-NEXT:    #NO_APP
2360 ; LE-P8-PRIV-NEXT:    addi r3, r1, 52
2361 ; LE-P8-PRIV-NEXT:    bl callee2
2362 ; LE-P8-PRIV-NEXT:    nop
2363 ; LE-P8-PRIV-NEXT:    ld r4, 40(r1) # 8-byte Folded Reload
2364 ; LE-P8-PRIV-NEXT:    lfd f31, 536(r1) # 8-byte Folded Reload
2365 ; LE-P8-PRIV-NEXT:    lfd f30, 528(r1) # 8-byte Folded Reload
2366 ; LE-P8-PRIV-NEXT:    ld r31, 392(r1) # 8-byte Folded Reload
2367 ; LE-P8-PRIV-NEXT:    lfd f29, 520(r1) # 8-byte Folded Reload
2368 ; LE-P8-PRIV-NEXT:    lfd f28, 512(r1) # 8-byte Folded Reload
2369 ; LE-P8-PRIV-NEXT:    ld r30, 384(r1) # 8-byte Folded Reload
2370 ; LE-P8-PRIV-NEXT:    ld r29, 376(r1) # 8-byte Folded Reload
2371 ; LE-P8-PRIV-NEXT:    lfd f27, 504(r1) # 8-byte Folded Reload
2372 ; LE-P8-PRIV-NEXT:    lfd f26, 496(r1) # 8-byte Folded Reload
2373 ; LE-P8-PRIV-NEXT:    ld r28, 368(r1) # 8-byte Folded Reload
2374 ; LE-P8-PRIV-NEXT:    ld r27, 360(r1) # 8-byte Folded Reload
2375 ; LE-P8-PRIV-NEXT:    lwz r4, 16(r4)
2376 ; LE-P8-PRIV-NEXT:    lfd f25, 488(r1) # 8-byte Folded Reload
2377 ; LE-P8-PRIV-NEXT:    lfd f24, 480(r1) # 8-byte Folded Reload
2378 ; LE-P8-PRIV-NEXT:    ld r26, 352(r1) # 8-byte Folded Reload
2379 ; LE-P8-PRIV-NEXT:    lfd f23, 472(r1) # 8-byte Folded Reload
2380 ; LE-P8-PRIV-NEXT:    lfd f22, 464(r1) # 8-byte Folded Reload
2381 ; LE-P8-PRIV-NEXT:    ld r25, 344(r1) # 8-byte Folded Reload
2382 ; LE-P8-PRIV-NEXT:    ld r24, 336(r1) # 8-byte Folded Reload
2383 ; LE-P8-PRIV-NEXT:    lfd f21, 456(r1) # 8-byte Folded Reload
2384 ; LE-P8-PRIV-NEXT:    lfd f20, 448(r1) # 8-byte Folded Reload
2385 ; LE-P8-PRIV-NEXT:    ld r23, 328(r1) # 8-byte Folded Reload
2386 ; LE-P8-PRIV-NEXT:    ld r22, 320(r1) # 8-byte Folded Reload
2387 ; LE-P8-PRIV-NEXT:    add r3, r4, r3
2388 ; LE-P8-PRIV-NEXT:    li r4, 240
2389 ; LE-P8-PRIV-NEXT:    lfd f19, 440(r1) # 8-byte Folded Reload
2390 ; LE-P8-PRIV-NEXT:    lfd f18, 432(r1) # 8-byte Folded Reload
2391 ; LE-P8-PRIV-NEXT:    lfd f17, 424(r1) # 8-byte Folded Reload
2392 ; LE-P8-PRIV-NEXT:    lfd f16, 416(r1) # 8-byte Folded Reload
2393 ; LE-P8-PRIV-NEXT:    ld r21, 312(r1) # 8-byte Folded Reload
2394 ; LE-P8-PRIV-NEXT:    ld r20, 304(r1) # 8-byte Folded Reload
2395 ; LE-P8-PRIV-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
2396 ; LE-P8-PRIV-NEXT:    li r4, 224
2397 ; LE-P8-PRIV-NEXT:    lfd f15, 408(r1) # 8-byte Folded Reload
2398 ; LE-P8-PRIV-NEXT:    ld r19, 296(r1) # 8-byte Folded Reload
2399 ; LE-P8-PRIV-NEXT:    lfd f14, 400(r1) # 8-byte Folded Reload
2400 ; LE-P8-PRIV-NEXT:    ld r18, 288(r1) # 8-byte Folded Reload
2401 ; LE-P8-PRIV-NEXT:    ld r17, 280(r1) # 8-byte Folded Reload
2402 ; LE-P8-PRIV-NEXT:    ld r16, 272(r1) # 8-byte Folded Reload
2403 ; LE-P8-PRIV-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
2404 ; LE-P8-PRIV-NEXT:    li r4, 208
2405 ; LE-P8-PRIV-NEXT:    ld r15, 264(r1) # 8-byte Folded Reload
2406 ; LE-P8-PRIV-NEXT:    ld r14, 256(r1) # 8-byte Folded Reload
2407 ; LE-P8-PRIV-NEXT:    clrldi r3, r3, 32
2408 ; LE-P8-PRIV-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
2409 ; LE-P8-PRIV-NEXT:    li r4, 192
2410 ; LE-P8-PRIV-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
2411 ; LE-P8-PRIV-NEXT:    li r4, 176
2412 ; LE-P8-PRIV-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
2413 ; LE-P8-PRIV-NEXT:    li r4, 160
2414 ; LE-P8-PRIV-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
2415 ; LE-P8-PRIV-NEXT:    li r4, 144
2416 ; LE-P8-PRIV-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
2417 ; LE-P8-PRIV-NEXT:    li r4, 128
2418 ; LE-P8-PRIV-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
2419 ; LE-P8-PRIV-NEXT:    li r4, 112
2420 ; LE-P8-PRIV-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
2421 ; LE-P8-PRIV-NEXT:    li r4, 96
2422 ; LE-P8-PRIV-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
2423 ; LE-P8-PRIV-NEXT:    li r4, 80
2424 ; LE-P8-PRIV-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
2425 ; LE-P8-PRIV-NEXT:    li r4, 64
2426 ; LE-P8-PRIV-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
2427 ; LE-P8-PRIV-NEXT:    addi r1, r1, 544
2428 ; LE-P8-PRIV-NEXT:    ld r0, 16(r1)
2429 ; LE-P8-PRIV-NEXT:    lwz r12, 8(r1)
2430 ; LE-P8-PRIV-NEXT:    hashchkp r0, -488(r1)
2431 ; LE-P8-PRIV-NEXT:    mtlr r0
2432 ; LE-P8-PRIV-NEXT:    mtocrf 32, r12
2433 ; LE-P8-PRIV-NEXT:    mtocrf 16, r12
2434 ; LE-P8-PRIV-NEXT:    mtocrf 8, r12
2435 ; LE-P8-PRIV-NEXT:    blr
2437 ; BE-P10-PRIV-LABEL: spill:
2438 ; BE-P10-PRIV:       # %bb.0: # %entry
2439 ; BE-P10-PRIV-NEXT:    mflr r0
2440 ; BE-P10-PRIV-NEXT:    mfcr r12
2441 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
2442 ; BE-P10-PRIV-NEXT:    hashstp r0, -488(r1)
2443 ; BE-P10-PRIV-NEXT:    stw r12, 8(r1)
2444 ; BE-P10-PRIV-NEXT:    stdu r1, -624(r1)
2445 ; BE-P10-PRIV-NEXT:    lwz r4, 12(r3)
2446 ; BE-P10-PRIV-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
2447 ; BE-P10-PRIV-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
2448 ; BE-P10-PRIV-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
2449 ; BE-P10-PRIV-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
2450 ; BE-P10-PRIV-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
2451 ; BE-P10-PRIV-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
2452 ; BE-P10-PRIV-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
2453 ; BE-P10-PRIV-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
2454 ; BE-P10-PRIV-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
2455 ; BE-P10-PRIV-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
2456 ; BE-P10-PRIV-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
2457 ; BE-P10-PRIV-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
2458 ; BE-P10-PRIV-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
2459 ; BE-P10-PRIV-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
2460 ; BE-P10-PRIV-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
2461 ; BE-P10-PRIV-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
2462 ; BE-P10-PRIV-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
2463 ; BE-P10-PRIV-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
2464 ; BE-P10-PRIV-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
2465 ; BE-P10-PRIV-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
2466 ; BE-P10-PRIV-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
2467 ; BE-P10-PRIV-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
2468 ; BE-P10-PRIV-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
2469 ; BE-P10-PRIV-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
2470 ; BE-P10-PRIV-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
2471 ; BE-P10-PRIV-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
2472 ; BE-P10-PRIV-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
2473 ; BE-P10-PRIV-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
2474 ; BE-P10-PRIV-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
2475 ; BE-P10-PRIV-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
2476 ; BE-P10-PRIV-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
2477 ; BE-P10-PRIV-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
2478 ; BE-P10-PRIV-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
2479 ; BE-P10-PRIV-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
2480 ; BE-P10-PRIV-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
2481 ; BE-P10-PRIV-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
2482 ; BE-P10-PRIV-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
2483 ; BE-P10-PRIV-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
2484 ; BE-P10-PRIV-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
2485 ; BE-P10-PRIV-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
2486 ; BE-P10-PRIV-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
2487 ; BE-P10-PRIV-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
2488 ; BE-P10-PRIV-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
2489 ; BE-P10-PRIV-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
2490 ; BE-P10-PRIV-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
2491 ; BE-P10-PRIV-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
2492 ; BE-P10-PRIV-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
2493 ; BE-P10-PRIV-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
2494 ; BE-P10-PRIV-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
2495 ; BE-P10-PRIV-NEXT:    stw r4, 132(r1)
2496 ; BE-P10-PRIV-NEXT:    #APP
2497 ; BE-P10-PRIV-NEXT:    nop
2498 ; BE-P10-PRIV-NEXT:    #NO_APP
2499 ; BE-P10-PRIV-NEXT:    addi r3, r1, 132
2500 ; BE-P10-PRIV-NEXT:    bl callee2
2501 ; BE-P10-PRIV-NEXT:    nop
2502 ; BE-P10-PRIV-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
2503 ; BE-P10-PRIV-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
2504 ; BE-P10-PRIV-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
2505 ; BE-P10-PRIV-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
2506 ; BE-P10-PRIV-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
2507 ; BE-P10-PRIV-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
2508 ; BE-P10-PRIV-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
2509 ; BE-P10-PRIV-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
2510 ; BE-P10-PRIV-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
2511 ; BE-P10-PRIV-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
2512 ; BE-P10-PRIV-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
2513 ; BE-P10-PRIV-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
2514 ; BE-P10-PRIV-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
2515 ; BE-P10-PRIV-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
2516 ; BE-P10-PRIV-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
2517 ; BE-P10-PRIV-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
2518 ; BE-P10-PRIV-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
2519 ; BE-P10-PRIV-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
2520 ; BE-P10-PRIV-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
2521 ; BE-P10-PRIV-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
2522 ; BE-P10-PRIV-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
2523 ; BE-P10-PRIV-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
2524 ; BE-P10-PRIV-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
2525 ; BE-P10-PRIV-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
2526 ; BE-P10-PRIV-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
2527 ; BE-P10-PRIV-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
2528 ; BE-P10-PRIV-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
2529 ; BE-P10-PRIV-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
2530 ; BE-P10-PRIV-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
2531 ; BE-P10-PRIV-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
2532 ; BE-P10-PRIV-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
2533 ; BE-P10-PRIV-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
2534 ; BE-P10-PRIV-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
2535 ; BE-P10-PRIV-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
2536 ; BE-P10-PRIV-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
2537 ; BE-P10-PRIV-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
2538 ; BE-P10-PRIV-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
2539 ; BE-P10-PRIV-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
2540 ; BE-P10-PRIV-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
2541 ; BE-P10-PRIV-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
2542 ; BE-P10-PRIV-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
2543 ; BE-P10-PRIV-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
2544 ; BE-P10-PRIV-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
2545 ; BE-P10-PRIV-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
2546 ; BE-P10-PRIV-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
2547 ; BE-P10-PRIV-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
2548 ; BE-P10-PRIV-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
2549 ; BE-P10-PRIV-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
2550 ; BE-P10-PRIV-NEXT:    lwz r4, 16(r4)
2551 ; BE-P10-PRIV-NEXT:    add r3, r4, r3
2552 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
2553 ; BE-P10-PRIV-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
2554 ; BE-P10-PRIV-NEXT:    addi r1, r1, 624
2555 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
2556 ; BE-P10-PRIV-NEXT:    lwz r12, 8(r1)
2557 ; BE-P10-PRIV-NEXT:    mtlr r0
2558 ; BE-P10-PRIV-NEXT:    hashchkp r0, -488(r1)
2559 ; BE-P10-PRIV-NEXT:    mtocrf 32, r12
2560 ; BE-P10-PRIV-NEXT:    mtocrf 16, r12
2561 ; BE-P10-PRIV-NEXT:    mtocrf 8, r12
2562 ; BE-P10-PRIV-NEXT:    blr
2564 ; BE-P9-PRIV-LABEL: spill:
2565 ; BE-P9-PRIV:       # %bb.0: # %entry
2566 ; BE-P9-PRIV-NEXT:    mfcr r12
2567 ; BE-P9-PRIV-NEXT:    mflr r0
2568 ; BE-P9-PRIV-NEXT:    stw r12, 8(r1)
2569 ; BE-P9-PRIV-NEXT:    stdu r1, -624(r1)
2570 ; BE-P9-PRIV-NEXT:    std r0, 640(r1)
2571 ; BE-P9-PRIV-NEXT:    hashstp r0, -488(r1)
2572 ; BE-P9-PRIV-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
2573 ; BE-P9-PRIV-NEXT:    stxv v20, 144(r1) # 16-byte Folded Spill
2574 ; BE-P9-PRIV-NEXT:    stxv v21, 160(r1) # 16-byte Folded Spill
2575 ; BE-P9-PRIV-NEXT:    lwz r4, 12(r3)
2576 ; BE-P9-PRIV-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
2577 ; BE-P9-PRIV-NEXT:    stxv v22, 176(r1) # 16-byte Folded Spill
2578 ; BE-P9-PRIV-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
2579 ; BE-P9-PRIV-NEXT:    stxv v23, 192(r1) # 16-byte Folded Spill
2580 ; BE-P9-PRIV-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
2581 ; BE-P9-PRIV-NEXT:    stxv v24, 208(r1) # 16-byte Folded Spill
2582 ; BE-P9-PRIV-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
2583 ; BE-P9-PRIV-NEXT:    stxv v25, 224(r1) # 16-byte Folded Spill
2584 ; BE-P9-PRIV-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
2585 ; BE-P9-PRIV-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
2586 ; BE-P9-PRIV-NEXT:    stxv v26, 240(r1) # 16-byte Folded Spill
2587 ; BE-P9-PRIV-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
2588 ; BE-P9-PRIV-NEXT:    stxv v27, 256(r1) # 16-byte Folded Spill
2589 ; BE-P9-PRIV-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
2590 ; BE-P9-PRIV-NEXT:    stxv v28, 272(r1) # 16-byte Folded Spill
2591 ; BE-P9-PRIV-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
2592 ; BE-P9-PRIV-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
2593 ; BE-P9-PRIV-NEXT:    stxv v29, 288(r1) # 16-byte Folded Spill
2594 ; BE-P9-PRIV-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
2595 ; BE-P9-PRIV-NEXT:    stxv v30, 304(r1) # 16-byte Folded Spill
2596 ; BE-P9-PRIV-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
2597 ; BE-P9-PRIV-NEXT:    stxv v31, 320(r1) # 16-byte Folded Spill
2598 ; BE-P9-PRIV-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
2599 ; BE-P9-PRIV-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
2600 ; BE-P9-PRIV-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
2601 ; BE-P9-PRIV-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
2602 ; BE-P9-PRIV-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
2603 ; BE-P9-PRIV-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
2604 ; BE-P9-PRIV-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
2605 ; BE-P9-PRIV-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
2606 ; BE-P9-PRIV-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
2607 ; BE-P9-PRIV-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
2608 ; BE-P9-PRIV-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
2609 ; BE-P9-PRIV-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
2610 ; BE-P9-PRIV-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
2611 ; BE-P9-PRIV-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
2612 ; BE-P9-PRIV-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
2613 ; BE-P9-PRIV-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
2614 ; BE-P9-PRIV-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
2615 ; BE-P9-PRIV-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
2616 ; BE-P9-PRIV-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
2617 ; BE-P9-PRIV-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
2618 ; BE-P9-PRIV-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
2619 ; BE-P9-PRIV-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
2620 ; BE-P9-PRIV-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
2621 ; BE-P9-PRIV-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
2622 ; BE-P9-PRIV-NEXT:    stw r4, 132(r1)
2623 ; BE-P9-PRIV-NEXT:    #APP
2624 ; BE-P9-PRIV-NEXT:    nop
2625 ; BE-P9-PRIV-NEXT:    #NO_APP
2626 ; BE-P9-PRIV-NEXT:    addi r3, r1, 132
2627 ; BE-P9-PRIV-NEXT:    bl callee2
2628 ; BE-P9-PRIV-NEXT:    nop
2629 ; BE-P9-PRIV-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
2630 ; BE-P9-PRIV-NEXT:    lxv v31, 320(r1) # 16-byte Folded Reload
2631 ; BE-P9-PRIV-NEXT:    lxv v30, 304(r1) # 16-byte Folded Reload
2632 ; BE-P9-PRIV-NEXT:    lxv v29, 288(r1) # 16-byte Folded Reload
2633 ; BE-P9-PRIV-NEXT:    lxv v28, 272(r1) # 16-byte Folded Reload
2634 ; BE-P9-PRIV-NEXT:    lxv v27, 256(r1) # 16-byte Folded Reload
2635 ; BE-P9-PRIV-NEXT:    lxv v26, 240(r1) # 16-byte Folded Reload
2636 ; BE-P9-PRIV-NEXT:    lxv v25, 224(r1) # 16-byte Folded Reload
2637 ; BE-P9-PRIV-NEXT:    lxv v24, 208(r1) # 16-byte Folded Reload
2638 ; BE-P9-PRIV-NEXT:    lxv v23, 192(r1) # 16-byte Folded Reload
2639 ; BE-P9-PRIV-NEXT:    lxv v22, 176(r1) # 16-byte Folded Reload
2640 ; BE-P9-PRIV-NEXT:    lxv v21, 160(r1) # 16-byte Folded Reload
2641 ; BE-P9-PRIV-NEXT:    lxv v20, 144(r1) # 16-byte Folded Reload
2642 ; BE-P9-PRIV-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
2643 ; BE-P9-PRIV-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
2644 ; BE-P9-PRIV-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
2645 ; BE-P9-PRIV-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
2646 ; BE-P9-PRIV-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
2647 ; BE-P9-PRIV-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
2648 ; BE-P9-PRIV-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
2649 ; BE-P9-PRIV-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
2650 ; BE-P9-PRIV-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
2651 ; BE-P9-PRIV-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
2652 ; BE-P9-PRIV-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
2653 ; BE-P9-PRIV-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
2654 ; BE-P9-PRIV-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
2655 ; BE-P9-PRIV-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
2656 ; BE-P9-PRIV-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
2657 ; BE-P9-PRIV-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
2658 ; BE-P9-PRIV-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
2659 ; BE-P9-PRIV-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
2660 ; BE-P9-PRIV-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
2661 ; BE-P9-PRIV-NEXT:    lwz r4, 16(r4)
2662 ; BE-P9-PRIV-NEXT:    add r3, r4, r3
2663 ; BE-P9-PRIV-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
2664 ; BE-P9-PRIV-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
2665 ; BE-P9-PRIV-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
2666 ; BE-P9-PRIV-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
2667 ; BE-P9-PRIV-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
2668 ; BE-P9-PRIV-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
2669 ; BE-P9-PRIV-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
2670 ; BE-P9-PRIV-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
2671 ; BE-P9-PRIV-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
2672 ; BE-P9-PRIV-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
2673 ; BE-P9-PRIV-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
2674 ; BE-P9-PRIV-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
2675 ; BE-P9-PRIV-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
2676 ; BE-P9-PRIV-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
2677 ; BE-P9-PRIV-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
2678 ; BE-P9-PRIV-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
2679 ; BE-P9-PRIV-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
2680 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
2681 ; BE-P9-PRIV-NEXT:    addi r1, r1, 624
2682 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
2683 ; BE-P9-PRIV-NEXT:    lwz r12, 8(r1)
2684 ; BE-P9-PRIV-NEXT:    mtlr r0
2685 ; BE-P9-PRIV-NEXT:    hashchkp r0, -488(r1)
2686 ; BE-P9-PRIV-NEXT:    mtocrf 32, r12
2687 ; BE-P9-PRIV-NEXT:    mtocrf 16, r12
2688 ; BE-P9-PRIV-NEXT:    mtocrf 8, r12
2689 ; BE-P9-PRIV-NEXT:    blr
2691 ; BE-P8-PRIV-LABEL: spill:
2692 ; BE-P8-PRIV:       # %bb.0: # %entry
2693 ; BE-P8-PRIV-NEXT:    mfcr r12
2694 ; BE-P8-PRIV-NEXT:    stw r12, 8(r1)
2695 ; BE-P8-PRIV-NEXT:    mflr r0
2696 ; BE-P8-PRIV-NEXT:    stdu r1, -624(r1)
2697 ; BE-P8-PRIV-NEXT:    li r4, 144
2698 ; BE-P8-PRIV-NEXT:    std r0, 640(r1)
2699 ; BE-P8-PRIV-NEXT:    hashstp r0, -488(r1)
2700 ; BE-P8-PRIV-NEXT:    std r14, 336(r1) # 8-byte Folded Spill
2701 ; BE-P8-PRIV-NEXT:    std r15, 344(r1) # 8-byte Folded Spill
2702 ; BE-P8-PRIV-NEXT:    std r16, 352(r1) # 8-byte Folded Spill
2703 ; BE-P8-PRIV-NEXT:    std r17, 360(r1) # 8-byte Folded Spill
2704 ; BE-P8-PRIV-NEXT:    std r18, 368(r1) # 8-byte Folded Spill
2705 ; BE-P8-PRIV-NEXT:    stxvd2x v20, r1, r4 # 16-byte Folded Spill
2706 ; BE-P8-PRIV-NEXT:    li r4, 160
2707 ; BE-P8-PRIV-NEXT:    std r19, 376(r1) # 8-byte Folded Spill
2708 ; BE-P8-PRIV-NEXT:    std r20, 384(r1) # 8-byte Folded Spill
2709 ; BE-P8-PRIV-NEXT:    std r21, 392(r1) # 8-byte Folded Spill
2710 ; BE-P8-PRIV-NEXT:    std r22, 400(r1) # 8-byte Folded Spill
2711 ; BE-P8-PRIV-NEXT:    std r23, 408(r1) # 8-byte Folded Spill
2712 ; BE-P8-PRIV-NEXT:    std r24, 416(r1) # 8-byte Folded Spill
2713 ; BE-P8-PRIV-NEXT:    stxvd2x v21, r1, r4 # 16-byte Folded Spill
2714 ; BE-P8-PRIV-NEXT:    li r4, 176
2715 ; BE-P8-PRIV-NEXT:    std r25, 424(r1) # 8-byte Folded Spill
2716 ; BE-P8-PRIV-NEXT:    std r26, 432(r1) # 8-byte Folded Spill
2717 ; BE-P8-PRIV-NEXT:    std r27, 440(r1) # 8-byte Folded Spill
2718 ; BE-P8-PRIV-NEXT:    std r28, 448(r1) # 8-byte Folded Spill
2719 ; BE-P8-PRIV-NEXT:    std r29, 456(r1) # 8-byte Folded Spill
2720 ; BE-P8-PRIV-NEXT:    std r30, 464(r1) # 8-byte Folded Spill
2721 ; BE-P8-PRIV-NEXT:    stxvd2x v22, r1, r4 # 16-byte Folded Spill
2722 ; BE-P8-PRIV-NEXT:    li r4, 192
2723 ; BE-P8-PRIV-NEXT:    std r31, 472(r1) # 8-byte Folded Spill
2724 ; BE-P8-PRIV-NEXT:    stfd f14, 480(r1) # 8-byte Folded Spill
2725 ; BE-P8-PRIV-NEXT:    stfd f15, 488(r1) # 8-byte Folded Spill
2726 ; BE-P8-PRIV-NEXT:    stfd f16, 496(r1) # 8-byte Folded Spill
2727 ; BE-P8-PRIV-NEXT:    stfd f17, 504(r1) # 8-byte Folded Spill
2728 ; BE-P8-PRIV-NEXT:    stfd f18, 512(r1) # 8-byte Folded Spill
2729 ; BE-P8-PRIV-NEXT:    stxvd2x v23, r1, r4 # 16-byte Folded Spill
2730 ; BE-P8-PRIV-NEXT:    li r4, 208
2731 ; BE-P8-PRIV-NEXT:    stfd f19, 520(r1) # 8-byte Folded Spill
2732 ; BE-P8-PRIV-NEXT:    stfd f20, 528(r1) # 8-byte Folded Spill
2733 ; BE-P8-PRIV-NEXT:    stfd f21, 536(r1) # 8-byte Folded Spill
2734 ; BE-P8-PRIV-NEXT:    stfd f22, 544(r1) # 8-byte Folded Spill
2735 ; BE-P8-PRIV-NEXT:    stfd f23, 552(r1) # 8-byte Folded Spill
2736 ; BE-P8-PRIV-NEXT:    stfd f24, 560(r1) # 8-byte Folded Spill
2737 ; BE-P8-PRIV-NEXT:    stxvd2x v24, r1, r4 # 16-byte Folded Spill
2738 ; BE-P8-PRIV-NEXT:    li r4, 224
2739 ; BE-P8-PRIV-NEXT:    stfd f25, 568(r1) # 8-byte Folded Spill
2740 ; BE-P8-PRIV-NEXT:    stfd f26, 576(r1) # 8-byte Folded Spill
2741 ; BE-P8-PRIV-NEXT:    stfd f27, 584(r1) # 8-byte Folded Spill
2742 ; BE-P8-PRIV-NEXT:    stfd f28, 592(r1) # 8-byte Folded Spill
2743 ; BE-P8-PRIV-NEXT:    stfd f29, 600(r1) # 8-byte Folded Spill
2744 ; BE-P8-PRIV-NEXT:    stfd f30, 608(r1) # 8-byte Folded Spill
2745 ; BE-P8-PRIV-NEXT:    stxvd2x v25, r1, r4 # 16-byte Folded Spill
2746 ; BE-P8-PRIV-NEXT:    li r4, 240
2747 ; BE-P8-PRIV-NEXT:    stfd f31, 616(r1) # 8-byte Folded Spill
2748 ; BE-P8-PRIV-NEXT:    std r3, 120(r1) # 8-byte Folded Spill
2749 ; BE-P8-PRIV-NEXT:    stxvd2x v26, r1, r4 # 16-byte Folded Spill
2750 ; BE-P8-PRIV-NEXT:    li r4, 256
2751 ; BE-P8-PRIV-NEXT:    stxvd2x v27, r1, r4 # 16-byte Folded Spill
2752 ; BE-P8-PRIV-NEXT:    li r4, 272
2753 ; BE-P8-PRIV-NEXT:    stxvd2x v28, r1, r4 # 16-byte Folded Spill
2754 ; BE-P8-PRIV-NEXT:    li r4, 288
2755 ; BE-P8-PRIV-NEXT:    stxvd2x v29, r1, r4 # 16-byte Folded Spill
2756 ; BE-P8-PRIV-NEXT:    li r4, 304
2757 ; BE-P8-PRIV-NEXT:    stxvd2x v30, r1, r4 # 16-byte Folded Spill
2758 ; BE-P8-PRIV-NEXT:    li r4, 320
2759 ; BE-P8-PRIV-NEXT:    stxvd2x v31, r1, r4 # 16-byte Folded Spill
2760 ; BE-P8-PRIV-NEXT:    lwz r4, 12(r3)
2761 ; BE-P8-PRIV-NEXT:    stw r4, 132(r1)
2762 ; BE-P8-PRIV-NEXT:    #APP
2763 ; BE-P8-PRIV-NEXT:    nop
2764 ; BE-P8-PRIV-NEXT:    #NO_APP
2765 ; BE-P8-PRIV-NEXT:    addi r3, r1, 132
2766 ; BE-P8-PRIV-NEXT:    bl callee2
2767 ; BE-P8-PRIV-NEXT:    nop
2768 ; BE-P8-PRIV-NEXT:    ld r4, 120(r1) # 8-byte Folded Reload
2769 ; BE-P8-PRIV-NEXT:    lfd f31, 616(r1) # 8-byte Folded Reload
2770 ; BE-P8-PRIV-NEXT:    lfd f30, 608(r1) # 8-byte Folded Reload
2771 ; BE-P8-PRIV-NEXT:    ld r31, 472(r1) # 8-byte Folded Reload
2772 ; BE-P8-PRIV-NEXT:    lfd f29, 600(r1) # 8-byte Folded Reload
2773 ; BE-P8-PRIV-NEXT:    lfd f28, 592(r1) # 8-byte Folded Reload
2774 ; BE-P8-PRIV-NEXT:    ld r30, 464(r1) # 8-byte Folded Reload
2775 ; BE-P8-PRIV-NEXT:    ld r29, 456(r1) # 8-byte Folded Reload
2776 ; BE-P8-PRIV-NEXT:    lfd f27, 584(r1) # 8-byte Folded Reload
2777 ; BE-P8-PRIV-NEXT:    lfd f26, 576(r1) # 8-byte Folded Reload
2778 ; BE-P8-PRIV-NEXT:    ld r28, 448(r1) # 8-byte Folded Reload
2779 ; BE-P8-PRIV-NEXT:    ld r27, 440(r1) # 8-byte Folded Reload
2780 ; BE-P8-PRIV-NEXT:    lwz r4, 16(r4)
2781 ; BE-P8-PRIV-NEXT:    lfd f25, 568(r1) # 8-byte Folded Reload
2782 ; BE-P8-PRIV-NEXT:    lfd f24, 560(r1) # 8-byte Folded Reload
2783 ; BE-P8-PRIV-NEXT:    ld r26, 432(r1) # 8-byte Folded Reload
2784 ; BE-P8-PRIV-NEXT:    lfd f23, 552(r1) # 8-byte Folded Reload
2785 ; BE-P8-PRIV-NEXT:    lfd f22, 544(r1) # 8-byte Folded Reload
2786 ; BE-P8-PRIV-NEXT:    ld r25, 424(r1) # 8-byte Folded Reload
2787 ; BE-P8-PRIV-NEXT:    ld r24, 416(r1) # 8-byte Folded Reload
2788 ; BE-P8-PRIV-NEXT:    lfd f21, 536(r1) # 8-byte Folded Reload
2789 ; BE-P8-PRIV-NEXT:    lfd f20, 528(r1) # 8-byte Folded Reload
2790 ; BE-P8-PRIV-NEXT:    ld r23, 408(r1) # 8-byte Folded Reload
2791 ; BE-P8-PRIV-NEXT:    ld r22, 400(r1) # 8-byte Folded Reload
2792 ; BE-P8-PRIV-NEXT:    add r3, r4, r3
2793 ; BE-P8-PRIV-NEXT:    li r4, 320
2794 ; BE-P8-PRIV-NEXT:    lfd f19, 520(r1) # 8-byte Folded Reload
2795 ; BE-P8-PRIV-NEXT:    lfd f18, 512(r1) # 8-byte Folded Reload
2796 ; BE-P8-PRIV-NEXT:    lfd f17, 504(r1) # 8-byte Folded Reload
2797 ; BE-P8-PRIV-NEXT:    lfd f16, 496(r1) # 8-byte Folded Reload
2798 ; BE-P8-PRIV-NEXT:    ld r21, 392(r1) # 8-byte Folded Reload
2799 ; BE-P8-PRIV-NEXT:    ld r20, 384(r1) # 8-byte Folded Reload
2800 ; BE-P8-PRIV-NEXT:    lxvd2x v31, r1, r4 # 16-byte Folded Reload
2801 ; BE-P8-PRIV-NEXT:    li r4, 304
2802 ; BE-P8-PRIV-NEXT:    lfd f15, 488(r1) # 8-byte Folded Reload
2803 ; BE-P8-PRIV-NEXT:    ld r19, 376(r1) # 8-byte Folded Reload
2804 ; BE-P8-PRIV-NEXT:    lfd f14, 480(r1) # 8-byte Folded Reload
2805 ; BE-P8-PRIV-NEXT:    ld r18, 368(r1) # 8-byte Folded Reload
2806 ; BE-P8-PRIV-NEXT:    ld r17, 360(r1) # 8-byte Folded Reload
2807 ; BE-P8-PRIV-NEXT:    ld r16, 352(r1) # 8-byte Folded Reload
2808 ; BE-P8-PRIV-NEXT:    lxvd2x v30, r1, r4 # 16-byte Folded Reload
2809 ; BE-P8-PRIV-NEXT:    li r4, 288
2810 ; BE-P8-PRIV-NEXT:    ld r15, 344(r1) # 8-byte Folded Reload
2811 ; BE-P8-PRIV-NEXT:    ld r14, 336(r1) # 8-byte Folded Reload
2812 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
2813 ; BE-P8-PRIV-NEXT:    lxvd2x v29, r1, r4 # 16-byte Folded Reload
2814 ; BE-P8-PRIV-NEXT:    li r4, 272
2815 ; BE-P8-PRIV-NEXT:    lxvd2x v28, r1, r4 # 16-byte Folded Reload
2816 ; BE-P8-PRIV-NEXT:    li r4, 256
2817 ; BE-P8-PRIV-NEXT:    lxvd2x v27, r1, r4 # 16-byte Folded Reload
2818 ; BE-P8-PRIV-NEXT:    li r4, 240
2819 ; BE-P8-PRIV-NEXT:    lxvd2x v26, r1, r4 # 16-byte Folded Reload
2820 ; BE-P8-PRIV-NEXT:    li r4, 224
2821 ; BE-P8-PRIV-NEXT:    lxvd2x v25, r1, r4 # 16-byte Folded Reload
2822 ; BE-P8-PRIV-NEXT:    li r4, 208
2823 ; BE-P8-PRIV-NEXT:    lxvd2x v24, r1, r4 # 16-byte Folded Reload
2824 ; BE-P8-PRIV-NEXT:    li r4, 192
2825 ; BE-P8-PRIV-NEXT:    lxvd2x v23, r1, r4 # 16-byte Folded Reload
2826 ; BE-P8-PRIV-NEXT:    li r4, 176
2827 ; BE-P8-PRIV-NEXT:    lxvd2x v22, r1, r4 # 16-byte Folded Reload
2828 ; BE-P8-PRIV-NEXT:    li r4, 160
2829 ; BE-P8-PRIV-NEXT:    lxvd2x v21, r1, r4 # 16-byte Folded Reload
2830 ; BE-P8-PRIV-NEXT:    li r4, 144
2831 ; BE-P8-PRIV-NEXT:    lxvd2x v20, r1, r4 # 16-byte Folded Reload
2832 ; BE-P8-PRIV-NEXT:    addi r1, r1, 624
2833 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
2834 ; BE-P8-PRIV-NEXT:    lwz r12, 8(r1)
2835 ; BE-P8-PRIV-NEXT:    hashchkp r0, -488(r1)
2836 ; BE-P8-PRIV-NEXT:    mtlr r0
2837 ; BE-P8-PRIV-NEXT:    mtocrf 32, r12
2838 ; BE-P8-PRIV-NEXT:    mtocrf 16, r12
2839 ; BE-P8-PRIV-NEXT:    mtocrf 8, r12
2840 ; BE-P8-PRIV-NEXT:    blr
2841 entry:
2842   %local = alloca i32, align 4
2843   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
2844   %arrayidx = getelementptr inbounds i32, ptr %in, i64 3
2845   %0 = load i32, ptr %arrayidx, align 4
2846   store i32 %0, ptr %local, align 4
2847   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}"()
2848   %call = call zeroext i32 @callee2(ptr nonnull %local)
2849   %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4
2850   %1 = load i32, ptr %arrayidx1, align 4
2851   %add = add i32 %1, %call
2852   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
2853   ret i32 %add
2856 define dso_local zeroext i32 @shrinkwrap(ptr readonly %in) #0 {
2857 ; LE-P10-LABEL: shrinkwrap:
2858 ; LE-P10:       # %bb.0: # %entry
2859 ; LE-P10-NEXT:    cmpldi r3, 0
2860 ; LE-P10-NEXT:    beq cr0, .LBB2_2
2861 ; LE-P10-NEXT:  # %bb.1: # %if.end
2862 ; LE-P10-NEXT:    mflr r0
2863 ; LE-P10-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
2864 ; LE-P10-NEXT:    std r0, 16(r1)
2865 ; LE-P10-NEXT:    hashst r0, -24(r1)
2866 ; LE-P10-NEXT:    stdu r1, -64(r1)
2867 ; LE-P10-NEXT:    mr r30, r3
2868 ; LE-P10-NEXT:    lwz r3, 12(r3)
2869 ; LE-P10-NEXT:    stw r3, 36(r1)
2870 ; LE-P10-NEXT:    addi r3, r1, 36
2871 ; LE-P10-NEXT:    bl callee2@notoc
2872 ; LE-P10-NEXT:    lwz r4, 16(r30)
2873 ; LE-P10-NEXT:    add r3, r4, r3
2874 ; LE-P10-NEXT:    addi r1, r1, 64
2875 ; LE-P10-NEXT:    ld r0, 16(r1)
2876 ; LE-P10-NEXT:    clrldi r3, r3, 32
2877 ; LE-P10-NEXT:    hashchk r0, -24(r1)
2878 ; LE-P10-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
2879 ; LE-P10-NEXT:    mtlr r0
2880 ; LE-P10-NEXT:    blr
2881 ; LE-P10-NEXT:  .LBB2_2:
2882 ; LE-P10-NEXT:    li r3, 0
2883 ; LE-P10-NEXT:    blr
2885 ; LE-P9-LABEL: shrinkwrap:
2886 ; LE-P9:       # %bb.0: # %entry
2887 ; LE-P9-NEXT:    cmpldi r3, 0
2888 ; LE-P9-NEXT:    beq cr0, .LBB2_2
2889 ; LE-P9-NEXT:  # %bb.1: # %if.end
2890 ; LE-P9-NEXT:    mflr r0
2891 ; LE-P9-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
2892 ; LE-P9-NEXT:    stdu r1, -64(r1)
2893 ; LE-P9-NEXT:    std r0, 80(r1)
2894 ; LE-P9-NEXT:    hashst r0, -24(r1)
2895 ; LE-P9-NEXT:    mr r30, r3
2896 ; LE-P9-NEXT:    lwz r3, 12(r3)
2897 ; LE-P9-NEXT:    stw r3, 36(r1)
2898 ; LE-P9-NEXT:    addi r3, r1, 36
2899 ; LE-P9-NEXT:    bl callee2
2900 ; LE-P9-NEXT:    nop
2901 ; LE-P9-NEXT:    lwz r4, 16(r30)
2902 ; LE-P9-NEXT:    add r3, r4, r3
2903 ; LE-P9-NEXT:    addi r1, r1, 64
2904 ; LE-P9-NEXT:    ld r0, 16(r1)
2905 ; LE-P9-NEXT:    clrldi r3, r3, 32
2906 ; LE-P9-NEXT:    mtlr r0
2907 ; LE-P9-NEXT:    hashchk r0, -24(r1)
2908 ; LE-P9-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
2909 ; LE-P9-NEXT:    blr
2910 ; LE-P9-NEXT:  .LBB2_2:
2911 ; LE-P9-NEXT:    li r3, 0
2912 ; LE-P9-NEXT:    blr
2914 ; LE-P8-LABEL: shrinkwrap:
2915 ; LE-P8:       # %bb.0: # %entry
2916 ; LE-P8-NEXT:    cmpldi r3, 0
2917 ; LE-P8-NEXT:    beq cr0, .LBB2_2
2918 ; LE-P8-NEXT:  # %bb.1: # %if.end
2919 ; LE-P8-NEXT:    mflr r0
2920 ; LE-P8-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
2921 ; LE-P8-NEXT:    stdu r1, -64(r1)
2922 ; LE-P8-NEXT:    std r0, 80(r1)
2923 ; LE-P8-NEXT:    hashst r0, -24(r1)
2924 ; LE-P8-NEXT:    mr r30, r3
2925 ; LE-P8-NEXT:    lwz r3, 12(r3)
2926 ; LE-P8-NEXT:    stw r3, 36(r1)
2927 ; LE-P8-NEXT:    addi r3, r1, 36
2928 ; LE-P8-NEXT:    bl callee2
2929 ; LE-P8-NEXT:    nop
2930 ; LE-P8-NEXT:    lwz r4, 16(r30)
2931 ; LE-P8-NEXT:    add r3, r4, r3
2932 ; LE-P8-NEXT:    addi r1, r1, 64
2933 ; LE-P8-NEXT:    ld r0, 16(r1)
2934 ; LE-P8-NEXT:    clrldi r3, r3, 32
2935 ; LE-P8-NEXT:    hashchk r0, -24(r1)
2936 ; LE-P8-NEXT:    mtlr r0
2937 ; LE-P8-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
2938 ; LE-P8-NEXT:    blr
2939 ; LE-P8-NEXT:  .LBB2_2:
2940 ; LE-P8-NEXT:    li r3, 0
2941 ; LE-P8-NEXT:    blr
2943 ; LE-P10-O0-LABEL: shrinkwrap:
2944 ; LE-P10-O0:       # %bb.0: # %entry
2945 ; LE-P10-O0-NEXT:    mflr r0
2946 ; LE-P10-O0-NEXT:    std r0, 16(r1)
2947 ; LE-P10-O0-NEXT:    hashst r0, -8(r1)
2948 ; LE-P10-O0-NEXT:    stdu r1, -64(r1)
2949 ; LE-P10-O0-NEXT:    mr. r4, r3
2950 ; LE-P10-O0-NEXT:    std r4, 40(r1) # 8-byte Folded Spill
2951 ; LE-P10-O0-NEXT:    li r3, 0
2952 ; LE-P10-O0-NEXT:    stw r3, 48(r1) # 4-byte Folded Spill
2953 ; LE-P10-O0-NEXT:    beq cr0, .LBB2_2
2954 ; LE-P10-O0-NEXT:  # %bb.1: # %if.end
2955 ; LE-P10-O0-NEXT:    ld r3, 40(r1) # 8-byte Folded Reload
2956 ; LE-P10-O0-NEXT:    lwz r3, 12(r3)
2957 ; LE-P10-O0-NEXT:    stw r3, 52(r1)
2958 ; LE-P10-O0-NEXT:    addi r3, r1, 52
2959 ; LE-P10-O0-NEXT:    bl callee2@notoc
2960 ; LE-P10-O0-NEXT:    mr r4, r3
2961 ; LE-P10-O0-NEXT:    ld r3, 40(r1) # 8-byte Folded Reload
2962 ; LE-P10-O0-NEXT:    # kill: def $r4 killed $r4 killed $x4
2963 ; LE-P10-O0-NEXT:    lwz r3, 16(r3)
2964 ; LE-P10-O0-NEXT:    add r3, r3, r4
2965 ; LE-P10-O0-NEXT:    stw r3, 48(r1) # 4-byte Folded Spill
2966 ; LE-P10-O0-NEXT:  .LBB2_2: # %return
2967 ; LE-P10-O0-NEXT:    lwz r3, 48(r1) # 4-byte Folded Reload
2968 ; LE-P10-O0-NEXT:    clrldi r3, r3, 32
2969 ; LE-P10-O0-NEXT:    addi r1, r1, 64
2970 ; LE-P10-O0-NEXT:    ld r0, 16(r1)
2971 ; LE-P10-O0-NEXT:    hashchk r0, -8(r1)
2972 ; LE-P10-O0-NEXT:    mtlr r0
2973 ; LE-P10-O0-NEXT:    blr
2975 ; LE-P9-O0-LABEL: shrinkwrap:
2976 ; LE-P9-O0:       # %bb.0: # %entry
2977 ; LE-P9-O0-NEXT:    mflr r0
2978 ; LE-P9-O0-NEXT:    stdu r1, -128(r1)
2979 ; LE-P9-O0-NEXT:    std r0, 144(r1)
2980 ; LE-P9-O0-NEXT:    hashst r0, -8(r1)
2981 ; LE-P9-O0-NEXT:    mr. r4, r3
2982 ; LE-P9-O0-NEXT:    std r4, 104(r1) # 8-byte Folded Spill
2983 ; LE-P9-O0-NEXT:    li r3, 0
2984 ; LE-P9-O0-NEXT:    stw r3, 112(r1) # 4-byte Folded Spill
2985 ; LE-P9-O0-NEXT:    beq cr0, .LBB2_2
2986 ; LE-P9-O0-NEXT:  # %bb.1: # %if.end
2987 ; LE-P9-O0-NEXT:    ld r3, 104(r1) # 8-byte Folded Reload
2988 ; LE-P9-O0-NEXT:    lwz r3, 12(r3)
2989 ; LE-P9-O0-NEXT:    stw r3, 116(r1)
2990 ; LE-P9-O0-NEXT:    addi r3, r1, 116
2991 ; LE-P9-O0-NEXT:    bl callee2
2992 ; LE-P9-O0-NEXT:    nop
2993 ; LE-P9-O0-NEXT:    mr r4, r3
2994 ; LE-P9-O0-NEXT:    ld r3, 104(r1) # 8-byte Folded Reload
2995 ; LE-P9-O0-NEXT:    lwz r3, 16(r3)
2996 ; LE-P9-O0-NEXT:    add r3, r3, r4
2997 ; LE-P9-O0-NEXT:    stw r3, 112(r1) # 4-byte Folded Spill
2998 ; LE-P9-O0-NEXT:  .LBB2_2: # %return
2999 ; LE-P9-O0-NEXT:    lwz r3, 112(r1) # 4-byte Folded Reload
3000 ; LE-P9-O0-NEXT:    clrldi r3, r3, 32
3001 ; LE-P9-O0-NEXT:    addi r1, r1, 128
3002 ; LE-P9-O0-NEXT:    ld r0, 16(r1)
3003 ; LE-P9-O0-NEXT:    hashchk r0, -8(r1)
3004 ; LE-P9-O0-NEXT:    mtlr r0
3005 ; LE-P9-O0-NEXT:    blr
3007 ; LE-P8-O0-LABEL: shrinkwrap:
3008 ; LE-P8-O0:       # %bb.0: # %entry
3009 ; LE-P8-O0-NEXT:    mflr r0
3010 ; LE-P8-O0-NEXT:    stdu r1, -128(r1)
3011 ; LE-P8-O0-NEXT:    std r0, 144(r1)
3012 ; LE-P8-O0-NEXT:    hashst r0, -8(r1)
3013 ; LE-P8-O0-NEXT:    mr. r4, r3
3014 ; LE-P8-O0-NEXT:    std r4, 104(r1) # 8-byte Folded Spill
3015 ; LE-P8-O0-NEXT:    li r3, 0
3016 ; LE-P8-O0-NEXT:    stw r3, 112(r1) # 4-byte Folded Spill
3017 ; LE-P8-O0-NEXT:    beq cr0, .LBB2_2
3018 ; LE-P8-O0-NEXT:  # %bb.1: # %if.end
3019 ; LE-P8-O0-NEXT:    ld r3, 104(r1) # 8-byte Folded Reload
3020 ; LE-P8-O0-NEXT:    lwz r3, 12(r3)
3021 ; LE-P8-O0-NEXT:    stw r3, 116(r1)
3022 ; LE-P8-O0-NEXT:    addi r3, r1, 116
3023 ; LE-P8-O0-NEXT:    bl callee2
3024 ; LE-P8-O0-NEXT:    nop
3025 ; LE-P8-O0-NEXT:    mr r4, r3
3026 ; LE-P8-O0-NEXT:    ld r3, 104(r1) # 8-byte Folded Reload
3027 ; LE-P8-O0-NEXT:    lwz r3, 16(r3)
3028 ; LE-P8-O0-NEXT:    add r3, r3, r4
3029 ; LE-P8-O0-NEXT:    stw r3, 112(r1) # 4-byte Folded Spill
3030 ; LE-P8-O0-NEXT:  .LBB2_2: # %return
3031 ; LE-P8-O0-NEXT:    lwz r3, 112(r1) # 4-byte Folded Reload
3032 ; LE-P8-O0-NEXT:    clrldi r3, r3, 32
3033 ; LE-P8-O0-NEXT:    addi r1, r1, 128
3034 ; LE-P8-O0-NEXT:    ld r0, 16(r1)
3035 ; LE-P8-O0-NEXT:    hashchk r0, -8(r1)
3036 ; LE-P8-O0-NEXT:    mtlr r0
3037 ; LE-P8-O0-NEXT:    blr
3039 ; BE-P10-LABEL: shrinkwrap:
3040 ; BE-P10:       # %bb.0: # %entry
3041 ; BE-P10-NEXT:    cmpldi r3, 0
3042 ; BE-P10-NEXT:    beq cr0, .LBB2_2
3043 ; BE-P10-NEXT:  # %bb.1: # %if.end
3044 ; BE-P10-NEXT:    mflr r0
3045 ; BE-P10-NEXT:    std r0, 16(r1)
3046 ; BE-P10-NEXT:    hashst r0, -24(r1)
3047 ; BE-P10-NEXT:    stdu r1, -144(r1)
3048 ; BE-P10-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
3049 ; BE-P10-NEXT:    mr r30, r3
3050 ; BE-P10-NEXT:    lwz r3, 12(r3)
3051 ; BE-P10-NEXT:    stw r3, 116(r1)
3052 ; BE-P10-NEXT:    addi r3, r1, 116
3053 ; BE-P10-NEXT:    bl callee2
3054 ; BE-P10-NEXT:    nop
3055 ; BE-P10-NEXT:    lwz r4, 16(r30)
3056 ; BE-P10-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
3057 ; BE-P10-NEXT:    add r3, r4, r3
3058 ; BE-P10-NEXT:    addi r1, r1, 144
3059 ; BE-P10-NEXT:    ld r0, 16(r1)
3060 ; BE-P10-NEXT:    clrldi r3, r3, 32
3061 ; BE-P10-NEXT:    hashchk r0, -24(r1)
3062 ; BE-P10-NEXT:    mtlr r0
3063 ; BE-P10-NEXT:    blr
3064 ; BE-P10-NEXT:  .LBB2_2:
3065 ; BE-P10-NEXT:    li r3, 0
3066 ; BE-P10-NEXT:    blr
3068 ; BE-P9-LABEL: shrinkwrap:
3069 ; BE-P9:       # %bb.0: # %entry
3070 ; BE-P9-NEXT:    cmpldi r3, 0
3071 ; BE-P9-NEXT:    beq cr0, .LBB2_2
3072 ; BE-P9-NEXT:  # %bb.1: # %if.end
3073 ; BE-P9-NEXT:    mflr r0
3074 ; BE-P9-NEXT:    stdu r1, -144(r1)
3075 ; BE-P9-NEXT:    std r0, 160(r1)
3076 ; BE-P9-NEXT:    hashst r0, -24(r1)
3077 ; BE-P9-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
3078 ; BE-P9-NEXT:    mr r30, r3
3079 ; BE-P9-NEXT:    lwz r3, 12(r3)
3080 ; BE-P9-NEXT:    stw r3, 116(r1)
3081 ; BE-P9-NEXT:    addi r3, r1, 116
3082 ; BE-P9-NEXT:    bl callee2
3083 ; BE-P9-NEXT:    nop
3084 ; BE-P9-NEXT:    lwz r4, 16(r30)
3085 ; BE-P9-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
3086 ; BE-P9-NEXT:    add r3, r4, r3
3087 ; BE-P9-NEXT:    addi r1, r1, 144
3088 ; BE-P9-NEXT:    ld r0, 16(r1)
3089 ; BE-P9-NEXT:    clrldi r3, r3, 32
3090 ; BE-P9-NEXT:    mtlr r0
3091 ; BE-P9-NEXT:    hashchk r0, -24(r1)
3092 ; BE-P9-NEXT:    blr
3093 ; BE-P9-NEXT:  .LBB2_2:
3094 ; BE-P9-NEXT:    li r3, 0
3095 ; BE-P9-NEXT:    blr
3097 ; BE-P8-LABEL: shrinkwrap:
3098 ; BE-P8:       # %bb.0: # %entry
3099 ; BE-P8-NEXT:    cmpldi r3, 0
3100 ; BE-P8-NEXT:    beq cr0, .LBB2_2
3101 ; BE-P8-NEXT:  # %bb.1: # %if.end
3102 ; BE-P8-NEXT:    mflr r0
3103 ; BE-P8-NEXT:    stdu r1, -144(r1)
3104 ; BE-P8-NEXT:    std r0, 160(r1)
3105 ; BE-P8-NEXT:    hashst r0, -24(r1)
3106 ; BE-P8-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
3107 ; BE-P8-NEXT:    mr r30, r3
3108 ; BE-P8-NEXT:    lwz r3, 12(r3)
3109 ; BE-P8-NEXT:    stw r3, 116(r1)
3110 ; BE-P8-NEXT:    addi r3, r1, 116
3111 ; BE-P8-NEXT:    bl callee2
3112 ; BE-P8-NEXT:    nop
3113 ; BE-P8-NEXT:    lwz r4, 16(r30)
3114 ; BE-P8-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
3115 ; BE-P8-NEXT:    add r3, r4, r3
3116 ; BE-P8-NEXT:    addi r1, r1, 144
3117 ; BE-P8-NEXT:    ld r0, 16(r1)
3118 ; BE-P8-NEXT:    clrldi r3, r3, 32
3119 ; BE-P8-NEXT:    hashchk r0, -24(r1)
3120 ; BE-P8-NEXT:    mtlr r0
3121 ; BE-P8-NEXT:    blr
3122 ; BE-P8-NEXT:  .LBB2_2:
3123 ; BE-P8-NEXT:    li r3, 0
3124 ; BE-P8-NEXT:    blr
3126 ; BE-32BIT-P10-LABEL: shrinkwrap:
3127 ; BE-32BIT-P10:       # %bb.0: # %entry
3128 ; BE-32BIT-P10-NEXT:    mflr r0
3129 ; BE-32BIT-P10-NEXT:    stw r0, 4(r1)
3130 ; BE-32BIT-P10-NEXT:    hashst r0, -16(r1)
3131 ; BE-32BIT-P10-NEXT:    stwu r1, -32(r1)
3132 ; BE-32BIT-P10-NEXT:    cmplwi r3, 0
3133 ; BE-32BIT-P10-NEXT:    stw r30, 24(r1) # 4-byte Folded Spill
3134 ; BE-32BIT-P10-NEXT:    beq cr0, .LBB2_2
3135 ; BE-32BIT-P10-NEXT:  # %bb.1: # %if.end
3136 ; BE-32BIT-P10-NEXT:    mr r30, r3
3137 ; BE-32BIT-P10-NEXT:    lwz r3, 12(r3)
3138 ; BE-32BIT-P10-NEXT:    stw r3, 12(r1)
3139 ; BE-32BIT-P10-NEXT:    addi r3, r1, 12
3140 ; BE-32BIT-P10-NEXT:    bl callee2
3141 ; BE-32BIT-P10-NEXT:    lwz r4, 16(r30)
3142 ; BE-32BIT-P10-NEXT:    add r3, r4, r3
3143 ; BE-32BIT-P10-NEXT:    b .LBB2_3
3144 ; BE-32BIT-P10-NEXT:  .LBB2_2:
3145 ; BE-32BIT-P10-NEXT:    li r3, 0
3146 ; BE-32BIT-P10-NEXT:  .LBB2_3: # %return
3147 ; BE-32BIT-P10-NEXT:    lwz r30, 24(r1) # 4-byte Folded Reload
3148 ; BE-32BIT-P10-NEXT:    lwz r0, 36(r1)
3149 ; BE-32BIT-P10-NEXT:    addi r1, r1, 32
3150 ; BE-32BIT-P10-NEXT:    hashchk r0, -16(r1)
3151 ; BE-32BIT-P10-NEXT:    mtlr r0
3152 ; BE-32BIT-P10-NEXT:    blr
3154 ; BE-32BIT-P9-LABEL: shrinkwrap:
3155 ; BE-32BIT-P9:       # %bb.0: # %entry
3156 ; BE-32BIT-P9-NEXT:    mflr r0
3157 ; BE-32BIT-P9-NEXT:    stwu r1, -32(r1)
3158 ; BE-32BIT-P9-NEXT:    cmplwi r3, 0
3159 ; BE-32BIT-P9-NEXT:    stw r0, 36(r1)
3160 ; BE-32BIT-P9-NEXT:    hashst r0, -16(r1)
3161 ; BE-32BIT-P9-NEXT:    stw r30, 24(r1) # 4-byte Folded Spill
3162 ; BE-32BIT-P9-NEXT:    beq cr0, .LBB2_2
3163 ; BE-32BIT-P9-NEXT:  # %bb.1: # %if.end
3164 ; BE-32BIT-P9-NEXT:    mr r30, r3
3165 ; BE-32BIT-P9-NEXT:    lwz r3, 12(r3)
3166 ; BE-32BIT-P9-NEXT:    stw r3, 12(r1)
3167 ; BE-32BIT-P9-NEXT:    addi r3, r1, 12
3168 ; BE-32BIT-P9-NEXT:    bl callee2
3169 ; BE-32BIT-P9-NEXT:    lwz r4, 16(r30)
3170 ; BE-32BIT-P9-NEXT:    add r3, r4, r3
3171 ; BE-32BIT-P9-NEXT:    b .LBB2_3
3172 ; BE-32BIT-P9-NEXT:  .LBB2_2:
3173 ; BE-32BIT-P9-NEXT:    li r3, 0
3174 ; BE-32BIT-P9-NEXT:  .LBB2_3: # %return
3175 ; BE-32BIT-P9-NEXT:    lwz r30, 24(r1) # 4-byte Folded Reload
3176 ; BE-32BIT-P9-NEXT:    lwz r0, 36(r1)
3177 ; BE-32BIT-P9-NEXT:    addi r1, r1, 32
3178 ; BE-32BIT-P9-NEXT:    mtlr r0
3179 ; BE-32BIT-P9-NEXT:    hashchk r0, -16(r1)
3180 ; BE-32BIT-P9-NEXT:    blr
3182 ; BE-32BIT-P8-LABEL: shrinkwrap:
3183 ; BE-32BIT-P8:       # %bb.0: # %entry
3184 ; BE-32BIT-P8-NEXT:    mflr r0
3185 ; BE-32BIT-P8-NEXT:    stwu r1, -32(r1)
3186 ; BE-32BIT-P8-NEXT:    cmplwi r3, 0
3187 ; BE-32BIT-P8-NEXT:    stw r0, 36(r1)
3188 ; BE-32BIT-P8-NEXT:    hashst r0, -16(r1)
3189 ; BE-32BIT-P8-NEXT:    stw r30, 24(r1) # 4-byte Folded Spill
3190 ; BE-32BIT-P8-NEXT:    beq cr0, .LBB2_2
3191 ; BE-32BIT-P8-NEXT:  # %bb.1: # %if.end
3192 ; BE-32BIT-P8-NEXT:    mr r30, r3
3193 ; BE-32BIT-P8-NEXT:    lwz r3, 12(r3)
3194 ; BE-32BIT-P8-NEXT:    stw r3, 12(r1)
3195 ; BE-32BIT-P8-NEXT:    addi r3, r1, 12
3196 ; BE-32BIT-P8-NEXT:    bl callee2
3197 ; BE-32BIT-P8-NEXT:    lwz r4, 16(r30)
3198 ; BE-32BIT-P8-NEXT:    add r3, r4, r3
3199 ; BE-32BIT-P8-NEXT:    b .LBB2_3
3200 ; BE-32BIT-P8-NEXT:  .LBB2_2:
3201 ; BE-32BIT-P8-NEXT:    li r3, 0
3202 ; BE-32BIT-P8-NEXT:  .LBB2_3: # %return
3203 ; BE-32BIT-P8-NEXT:    lwz r30, 24(r1) # 4-byte Folded Reload
3204 ; BE-32BIT-P8-NEXT:    lwz r0, 36(r1)
3205 ; BE-32BIT-P8-NEXT:    addi r1, r1, 32
3206 ; BE-32BIT-P8-NEXT:    mtlr r0
3207 ; BE-32BIT-P8-NEXT:    hashchk r0, -16(r1)
3208 ; BE-32BIT-P8-NEXT:    blr
3210 ; LE-P10-PRIV-LABEL: shrinkwrap:
3211 ; LE-P10-PRIV:       # %bb.0: # %entry
3212 ; LE-P10-PRIV-NEXT:    cmpldi r3, 0
3213 ; LE-P10-PRIV-NEXT:    beq cr0, .LBB2_2
3214 ; LE-P10-PRIV-NEXT:  # %bb.1: # %if.end
3215 ; LE-P10-PRIV-NEXT:    mflr r0
3216 ; LE-P10-PRIV-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
3217 ; LE-P10-PRIV-NEXT:    std r0, 16(r1)
3218 ; LE-P10-PRIV-NEXT:    hashstp r0, -24(r1)
3219 ; LE-P10-PRIV-NEXT:    stdu r1, -64(r1)
3220 ; LE-P10-PRIV-NEXT:    mr r30, r3
3221 ; LE-P10-PRIV-NEXT:    lwz r3, 12(r3)
3222 ; LE-P10-PRIV-NEXT:    stw r3, 36(r1)
3223 ; LE-P10-PRIV-NEXT:    addi r3, r1, 36
3224 ; LE-P10-PRIV-NEXT:    bl callee2@notoc
3225 ; LE-P10-PRIV-NEXT:    lwz r4, 16(r30)
3226 ; LE-P10-PRIV-NEXT:    add r3, r4, r3
3227 ; LE-P10-PRIV-NEXT:    addi r1, r1, 64
3228 ; LE-P10-PRIV-NEXT:    ld r0, 16(r1)
3229 ; LE-P10-PRIV-NEXT:    clrldi r3, r3, 32
3230 ; LE-P10-PRIV-NEXT:    hashchkp r0, -24(r1)
3231 ; LE-P10-PRIV-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
3232 ; LE-P10-PRIV-NEXT:    mtlr r0
3233 ; LE-P10-PRIV-NEXT:    blr
3234 ; LE-P10-PRIV-NEXT:  .LBB2_2:
3235 ; LE-P10-PRIV-NEXT:    li r3, 0
3236 ; LE-P10-PRIV-NEXT:    blr
3238 ; LE-P9-PRIV-LABEL: shrinkwrap:
3239 ; LE-P9-PRIV:       # %bb.0: # %entry
3240 ; LE-P9-PRIV-NEXT:    cmpldi r3, 0
3241 ; LE-P9-PRIV-NEXT:    beq cr0, .LBB2_2
3242 ; LE-P9-PRIV-NEXT:  # %bb.1: # %if.end
3243 ; LE-P9-PRIV-NEXT:    mflr r0
3244 ; LE-P9-PRIV-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
3245 ; LE-P9-PRIV-NEXT:    stdu r1, -64(r1)
3246 ; LE-P9-PRIV-NEXT:    std r0, 80(r1)
3247 ; LE-P9-PRIV-NEXT:    hashstp r0, -24(r1)
3248 ; LE-P9-PRIV-NEXT:    mr r30, r3
3249 ; LE-P9-PRIV-NEXT:    lwz r3, 12(r3)
3250 ; LE-P9-PRIV-NEXT:    stw r3, 36(r1)
3251 ; LE-P9-PRIV-NEXT:    addi r3, r1, 36
3252 ; LE-P9-PRIV-NEXT:    bl callee2
3253 ; LE-P9-PRIV-NEXT:    nop
3254 ; LE-P9-PRIV-NEXT:    lwz r4, 16(r30)
3255 ; LE-P9-PRIV-NEXT:    add r3, r4, r3
3256 ; LE-P9-PRIV-NEXT:    addi r1, r1, 64
3257 ; LE-P9-PRIV-NEXT:    ld r0, 16(r1)
3258 ; LE-P9-PRIV-NEXT:    clrldi r3, r3, 32
3259 ; LE-P9-PRIV-NEXT:    mtlr r0
3260 ; LE-P9-PRIV-NEXT:    hashchkp r0, -24(r1)
3261 ; LE-P9-PRIV-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
3262 ; LE-P9-PRIV-NEXT:    blr
3263 ; LE-P9-PRIV-NEXT:  .LBB2_2:
3264 ; LE-P9-PRIV-NEXT:    li r3, 0
3265 ; LE-P9-PRIV-NEXT:    blr
3267 ; LE-P8-PRIV-LABEL: shrinkwrap:
3268 ; LE-P8-PRIV:       # %bb.0: # %entry
3269 ; LE-P8-PRIV-NEXT:    cmpldi r3, 0
3270 ; LE-P8-PRIV-NEXT:    beq cr0, .LBB2_2
3271 ; LE-P8-PRIV-NEXT:  # %bb.1: # %if.end
3272 ; LE-P8-PRIV-NEXT:    mflr r0
3273 ; LE-P8-PRIV-NEXT:    std r30, -16(r1) # 8-byte Folded Spill
3274 ; LE-P8-PRIV-NEXT:    stdu r1, -64(r1)
3275 ; LE-P8-PRIV-NEXT:    std r0, 80(r1)
3276 ; LE-P8-PRIV-NEXT:    hashstp r0, -24(r1)
3277 ; LE-P8-PRIV-NEXT:    mr r30, r3
3278 ; LE-P8-PRIV-NEXT:    lwz r3, 12(r3)
3279 ; LE-P8-PRIV-NEXT:    stw r3, 36(r1)
3280 ; LE-P8-PRIV-NEXT:    addi r3, r1, 36
3281 ; LE-P8-PRIV-NEXT:    bl callee2
3282 ; LE-P8-PRIV-NEXT:    nop
3283 ; LE-P8-PRIV-NEXT:    lwz r4, 16(r30)
3284 ; LE-P8-PRIV-NEXT:    add r3, r4, r3
3285 ; LE-P8-PRIV-NEXT:    addi r1, r1, 64
3286 ; LE-P8-PRIV-NEXT:    ld r0, 16(r1)
3287 ; LE-P8-PRIV-NEXT:    clrldi r3, r3, 32
3288 ; LE-P8-PRIV-NEXT:    hashchkp r0, -24(r1)
3289 ; LE-P8-PRIV-NEXT:    mtlr r0
3290 ; LE-P8-PRIV-NEXT:    ld r30, -16(r1) # 8-byte Folded Reload
3291 ; LE-P8-PRIV-NEXT:    blr
3292 ; LE-P8-PRIV-NEXT:  .LBB2_2:
3293 ; LE-P8-PRIV-NEXT:    li r3, 0
3294 ; LE-P8-PRIV-NEXT:    blr
3296 ; BE-P10-PRIV-LABEL: shrinkwrap:
3297 ; BE-P10-PRIV:       # %bb.0: # %entry
3298 ; BE-P10-PRIV-NEXT:    cmpldi r3, 0
3299 ; BE-P10-PRIV-NEXT:    beq cr0, .LBB2_2
3300 ; BE-P10-PRIV-NEXT:  # %bb.1: # %if.end
3301 ; BE-P10-PRIV-NEXT:    mflr r0
3302 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
3303 ; BE-P10-PRIV-NEXT:    hashstp r0, -24(r1)
3304 ; BE-P10-PRIV-NEXT:    stdu r1, -144(r1)
3305 ; BE-P10-PRIV-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
3306 ; BE-P10-PRIV-NEXT:    mr r30, r3
3307 ; BE-P10-PRIV-NEXT:    lwz r3, 12(r3)
3308 ; BE-P10-PRIV-NEXT:    stw r3, 116(r1)
3309 ; BE-P10-PRIV-NEXT:    addi r3, r1, 116
3310 ; BE-P10-PRIV-NEXT:    bl callee2
3311 ; BE-P10-PRIV-NEXT:    nop
3312 ; BE-P10-PRIV-NEXT:    lwz r4, 16(r30)
3313 ; BE-P10-PRIV-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
3314 ; BE-P10-PRIV-NEXT:    add r3, r4, r3
3315 ; BE-P10-PRIV-NEXT:    addi r1, r1, 144
3316 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
3317 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
3318 ; BE-P10-PRIV-NEXT:    hashchkp r0, -24(r1)
3319 ; BE-P10-PRIV-NEXT:    mtlr r0
3320 ; BE-P10-PRIV-NEXT:    blr
3321 ; BE-P10-PRIV-NEXT:  .LBB2_2:
3322 ; BE-P10-PRIV-NEXT:    li r3, 0
3323 ; BE-P10-PRIV-NEXT:    blr
3325 ; BE-P9-PRIV-LABEL: shrinkwrap:
3326 ; BE-P9-PRIV:       # %bb.0: # %entry
3327 ; BE-P9-PRIV-NEXT:    cmpldi r3, 0
3328 ; BE-P9-PRIV-NEXT:    beq cr0, .LBB2_2
3329 ; BE-P9-PRIV-NEXT:  # %bb.1: # %if.end
3330 ; BE-P9-PRIV-NEXT:    mflr r0
3331 ; BE-P9-PRIV-NEXT:    stdu r1, -144(r1)
3332 ; BE-P9-PRIV-NEXT:    std r0, 160(r1)
3333 ; BE-P9-PRIV-NEXT:    hashstp r0, -24(r1)
3334 ; BE-P9-PRIV-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
3335 ; BE-P9-PRIV-NEXT:    mr r30, r3
3336 ; BE-P9-PRIV-NEXT:    lwz r3, 12(r3)
3337 ; BE-P9-PRIV-NEXT:    stw r3, 116(r1)
3338 ; BE-P9-PRIV-NEXT:    addi r3, r1, 116
3339 ; BE-P9-PRIV-NEXT:    bl callee2
3340 ; BE-P9-PRIV-NEXT:    nop
3341 ; BE-P9-PRIV-NEXT:    lwz r4, 16(r30)
3342 ; BE-P9-PRIV-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
3343 ; BE-P9-PRIV-NEXT:    add r3, r4, r3
3344 ; BE-P9-PRIV-NEXT:    addi r1, r1, 144
3345 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
3346 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
3347 ; BE-P9-PRIV-NEXT:    mtlr r0
3348 ; BE-P9-PRIV-NEXT:    hashchkp r0, -24(r1)
3349 ; BE-P9-PRIV-NEXT:    blr
3350 ; BE-P9-PRIV-NEXT:  .LBB2_2:
3351 ; BE-P9-PRIV-NEXT:    li r3, 0
3352 ; BE-P9-PRIV-NEXT:    blr
3354 ; BE-P8-PRIV-LABEL: shrinkwrap:
3355 ; BE-P8-PRIV:       # %bb.0: # %entry
3356 ; BE-P8-PRIV-NEXT:    cmpldi r3, 0
3357 ; BE-P8-PRIV-NEXT:    beq cr0, .LBB2_2
3358 ; BE-P8-PRIV-NEXT:  # %bb.1: # %if.end
3359 ; BE-P8-PRIV-NEXT:    mflr r0
3360 ; BE-P8-PRIV-NEXT:    stdu r1, -144(r1)
3361 ; BE-P8-PRIV-NEXT:    std r0, 160(r1)
3362 ; BE-P8-PRIV-NEXT:    hashstp r0, -24(r1)
3363 ; BE-P8-PRIV-NEXT:    std r30, 128(r1) # 8-byte Folded Spill
3364 ; BE-P8-PRIV-NEXT:    mr r30, r3
3365 ; BE-P8-PRIV-NEXT:    lwz r3, 12(r3)
3366 ; BE-P8-PRIV-NEXT:    stw r3, 116(r1)
3367 ; BE-P8-PRIV-NEXT:    addi r3, r1, 116
3368 ; BE-P8-PRIV-NEXT:    bl callee2
3369 ; BE-P8-PRIV-NEXT:    nop
3370 ; BE-P8-PRIV-NEXT:    lwz r4, 16(r30)
3371 ; BE-P8-PRIV-NEXT:    ld r30, 128(r1) # 8-byte Folded Reload
3372 ; BE-P8-PRIV-NEXT:    add r3, r4, r3
3373 ; BE-P8-PRIV-NEXT:    addi r1, r1, 144
3374 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
3375 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
3376 ; BE-P8-PRIV-NEXT:    hashchkp r0, -24(r1)
3377 ; BE-P8-PRIV-NEXT:    mtlr r0
3378 ; BE-P8-PRIV-NEXT:    blr
3379 ; BE-P8-PRIV-NEXT:  .LBB2_2:
3380 ; BE-P8-PRIV-NEXT:    li r3, 0
3381 ; BE-P8-PRIV-NEXT:    blr
3382 entry:
3383   %local = alloca i32, align 4
3384   %tobool.not = icmp eq ptr %in, null
3385   br i1 %tobool.not, label %return, label %if.end
3387 if.end:                                           ; preds = %entry
3388   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
3389   %arrayidx = getelementptr inbounds i32, ptr %in, i64 3
3390   %0 = load i32, ptr %arrayidx, align 4
3391   store i32 %0, ptr %local, align 4
3392   %call = call zeroext i32 @callee2(ptr nonnull %local)
3393   %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4
3394   %1 = load i32, ptr %arrayidx1, align 4
3395   %add = add i32 %1, %call
3396   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
3397   br label %return
3399 return:                                           ; preds = %entry, %if.end
3400   %retval.0 = phi i32 [ %add, %if.end ], [ 0, %entry ]
3401   ret i32 %retval.0
3404 define dso_local zeroext i32 @aligned(ptr nocapture readonly %in) #0 {
3405 ; LE-P10-LABEL: aligned:
3406 ; LE-P10:       # %bb.0: # %entry
3407 ; LE-P10-NEXT:    mflr r0
3408 ; LE-P10-NEXT:    std r30, -16(r1)
3409 ; LE-P10-NEXT:    lis r12, -1
3410 ; LE-P10-NEXT:    mr r30, r1
3411 ; LE-P10-NEXT:    std r0, 16(r1)
3412 ; LE-P10-NEXT:    hashst r0, -32(r1)
3413 ; LE-P10-NEXT:    clrldi r0, r1, 49
3414 ; LE-P10-NEXT:    subc r0, r12, r0
3415 ; LE-P10-NEXT:    stdux r1, r1, r0
3416 ; LE-P10-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3417 ; LE-P10-NEXT:    mr r29, r3
3418 ; LE-P10-NEXT:    lwz r3, 4(r3)
3419 ; LE-P10-NEXT:    lis r4, 0
3420 ; LE-P10-NEXT:    addi r5, r1, 32764
3421 ; LE-P10-NEXT:    ori r4, r4, 65500
3422 ; LE-P10-NEXT:    stwx r3, r1, r4
3423 ; LE-P10-NEXT:    lwz r3, 12(r29)
3424 ; LE-P10-NEXT:    lis r4, 0
3425 ; LE-P10-NEXT:    ori r4, r4, 32768
3426 ; LE-P10-NEXT:    stwx r3, r1, r4
3427 ; LE-P10-NEXT:    lwz r3, 20(r29)
3428 ; LE-P10-NEXT:    lis r4, 0
3429 ; LE-P10-NEXT:    ori r4, r4, 65500
3430 ; LE-P10-NEXT:    add r4, r1, r4
3431 ; LE-P10-NEXT:    stw r3, 32764(r1)
3432 ; LE-P10-NEXT:    lis r3, 0
3433 ; LE-P10-NEXT:    ori r3, r3, 32768
3434 ; LE-P10-NEXT:    add r3, r1, r3
3435 ; LE-P10-NEXT:    bl callee3@notoc
3436 ; LE-P10-NEXT:    lwz r4, 16(r29)
3437 ; LE-P10-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
3438 ; LE-P10-NEXT:    add r3, r4, r3
3439 ; LE-P10-NEXT:    clrldi r3, r3, 32
3440 ; LE-P10-NEXT:    mr r1, r30
3441 ; LE-P10-NEXT:    ld r0, 16(r1)
3442 ; LE-P10-NEXT:    ld r30, -16(r1)
3443 ; LE-P10-NEXT:    mtlr r0
3444 ; LE-P10-NEXT:    hashchk r0, -32(r1)
3445 ; LE-P10-NEXT:    blr
3447 ; LE-P9-LABEL: aligned:
3448 ; LE-P9:       # %bb.0: # %entry
3449 ; LE-P9-NEXT:    mflr r0
3450 ; LE-P9-NEXT:    std r30, -16(r1)
3451 ; LE-P9-NEXT:    lis r12, -1
3452 ; LE-P9-NEXT:    mr r30, r1
3453 ; LE-P9-NEXT:    std r0, 16(r1)
3454 ; LE-P9-NEXT:    hashst r0, -32(r1)
3455 ; LE-P9-NEXT:    clrldi r0, r1, 49
3456 ; LE-P9-NEXT:    subc r0, r12, r0
3457 ; LE-P9-NEXT:    stdux r1, r1, r0
3458 ; LE-P9-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3459 ; LE-P9-NEXT:    mr r29, r3
3460 ; LE-P9-NEXT:    lwz r3, 4(r3)
3461 ; LE-P9-NEXT:    lis r4, 0
3462 ; LE-P9-NEXT:    addi r5, r1, 32764
3463 ; LE-P9-NEXT:    ori r4, r4, 65500
3464 ; LE-P9-NEXT:    stwx r3, r1, r4
3465 ; LE-P9-NEXT:    lwz r3, 12(r29)
3466 ; LE-P9-NEXT:    lis r4, 0
3467 ; LE-P9-NEXT:    ori r4, r4, 32768
3468 ; LE-P9-NEXT:    stwx r3, r1, r4
3469 ; LE-P9-NEXT:    lwz r3, 20(r29)
3470 ; LE-P9-NEXT:    lis r4, 0
3471 ; LE-P9-NEXT:    ori r4, r4, 65500
3472 ; LE-P9-NEXT:    stw r3, 32764(r1)
3473 ; LE-P9-NEXT:    lis r3, 0
3474 ; LE-P9-NEXT:    add r4, r1, r4
3475 ; LE-P9-NEXT:    ori r3, r3, 32768
3476 ; LE-P9-NEXT:    add r3, r1, r3
3477 ; LE-P9-NEXT:    bl callee3
3478 ; LE-P9-NEXT:    nop
3479 ; LE-P9-NEXT:    lwz r4, 16(r29)
3480 ; LE-P9-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
3481 ; LE-P9-NEXT:    add r3, r4, r3
3482 ; LE-P9-NEXT:    clrldi r3, r3, 32
3483 ; LE-P9-NEXT:    mr r1, r30
3484 ; LE-P9-NEXT:    ld r0, 16(r1)
3485 ; LE-P9-NEXT:    ld r30, -16(r1)
3486 ; LE-P9-NEXT:    mtlr r0
3487 ; LE-P9-NEXT:    hashchk r0, -32(r1)
3488 ; LE-P9-NEXT:    blr
3490 ; LE-P8-LABEL: aligned:
3491 ; LE-P8:       # %bb.0: # %entry
3492 ; LE-P8-NEXT:    mflr r0
3493 ; LE-P8-NEXT:    std r30, -16(r1)
3494 ; LE-P8-NEXT:    lis r12, -1
3495 ; LE-P8-NEXT:    mr r30, r1
3496 ; LE-P8-NEXT:    std r0, 16(r1)
3497 ; LE-P8-NEXT:    hashst r0, -32(r1)
3498 ; LE-P8-NEXT:    clrldi r0, r1, 49
3499 ; LE-P8-NEXT:    subc r0, r12, r0
3500 ; LE-P8-NEXT:    stdux r1, r1, r0
3501 ; LE-P8-NEXT:    lis r4, 0
3502 ; LE-P8-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3503 ; LE-P8-NEXT:    mr r29, r3
3504 ; LE-P8-NEXT:    lwz r3, 4(r3)
3505 ; LE-P8-NEXT:    addi r5, r1, 32764
3506 ; LE-P8-NEXT:    ori r4, r4, 65500
3507 ; LE-P8-NEXT:    stwx r3, r1, r4
3508 ; LE-P8-NEXT:    lis r4, 0
3509 ; LE-P8-NEXT:    lwz r3, 12(r29)
3510 ; LE-P8-NEXT:    ori r4, r4, 32768
3511 ; LE-P8-NEXT:    stwx r3, r1, r4
3512 ; LE-P8-NEXT:    lwz r3, 20(r29)
3513 ; LE-P8-NEXT:    lis r4, 0
3514 ; LE-P8-NEXT:    ori r4, r4, 65500
3515 ; LE-P8-NEXT:    stw r3, 32764(r1)
3516 ; LE-P8-NEXT:    lis r3, 0
3517 ; LE-P8-NEXT:    add r4, r1, r4
3518 ; LE-P8-NEXT:    ori r3, r3, 32768
3519 ; LE-P8-NEXT:    add r3, r1, r3
3520 ; LE-P8-NEXT:    bl callee3
3521 ; LE-P8-NEXT:    nop
3522 ; LE-P8-NEXT:    lwz r4, 16(r29)
3523 ; LE-P8-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
3524 ; LE-P8-NEXT:    add r3, r4, r3
3525 ; LE-P8-NEXT:    clrldi r3, r3, 32
3526 ; LE-P8-NEXT:    mr r1, r30
3527 ; LE-P8-NEXT:    ld r0, 16(r1)
3528 ; LE-P8-NEXT:    ld r30, -16(r1)
3529 ; LE-P8-NEXT:    hashchk r0, -32(r1)
3530 ; LE-P8-NEXT:    mtlr r0
3531 ; LE-P8-NEXT:    blr
3533 ; LE-P10-O0-LABEL: aligned:
3534 ; LE-P10-O0:       # %bb.0: # %entry
3535 ; LE-P10-O0-NEXT:    mflr r0
3536 ; LE-P10-O0-NEXT:    std r30, -16(r1)
3537 ; LE-P10-O0-NEXT:    std r0, 16(r1)
3538 ; LE-P10-O0-NEXT:    hashst r0, -24(r1)
3539 ; LE-P10-O0-NEXT:    mr r30, r1
3540 ; LE-P10-O0-NEXT:    clrldi r0, r1, 49
3541 ; LE-P10-O0-NEXT:    lis r12, -1
3542 ; LE-P10-O0-NEXT:    subc r0, r12, r0
3543 ; LE-P10-O0-NEXT:    stdux r1, r1, r0
3544 ; LE-P10-O0-NEXT:    std r3, 32752(r1) # 8-byte Folded Spill
3545 ; LE-P10-O0-NEXT:    lwz r4, 4(r3)
3546 ; LE-P10-O0-NEXT:    lis r5, 0
3547 ; LE-P10-O0-NEXT:    ori r5, r5, 65508
3548 ; LE-P10-O0-NEXT:    stwx r4, r1, r5
3549 ; LE-P10-O0-NEXT:    lwz r4, 12(r3)
3550 ; LE-P10-O0-NEXT:    lis r5, 0
3551 ; LE-P10-O0-NEXT:    ori r5, r5, 32768
3552 ; LE-P10-O0-NEXT:    stwx r4, r1, r5
3553 ; LE-P10-O0-NEXT:    lwz r3, 20(r3)
3554 ; LE-P10-O0-NEXT:    stw r3, 32764(r1)
3555 ; LE-P10-O0-NEXT:    lis r3, 0
3556 ; LE-P10-O0-NEXT:    ori r3, r3, 32768
3557 ; LE-P10-O0-NEXT:    add r3, r1, r3
3558 ; LE-P10-O0-NEXT:    lis r4, 0
3559 ; LE-P10-O0-NEXT:    ori r4, r4, 65508
3560 ; LE-P10-O0-NEXT:    add r4, r1, r4
3561 ; LE-P10-O0-NEXT:    addi r5, r1, 32764
3562 ; LE-P10-O0-NEXT:    bl callee3@notoc
3563 ; LE-P10-O0-NEXT:    mr r4, r3
3564 ; LE-P10-O0-NEXT:    ld r3, 32752(r1) # 8-byte Folded Reload
3565 ; LE-P10-O0-NEXT:    # kill: def $r4 killed $r4 killed $x4
3566 ; LE-P10-O0-NEXT:    lwz r3, 16(r3)
3567 ; LE-P10-O0-NEXT:    add r3, r3, r4
3568 ; LE-P10-O0-NEXT:    clrldi r3, r3, 32
3569 ; LE-P10-O0-NEXT:    mr r1, r30
3570 ; LE-P10-O0-NEXT:    ld r0, 16(r1)
3571 ; LE-P10-O0-NEXT:    ld r30, -16(r1)
3572 ; LE-P10-O0-NEXT:    hashchk r0, -24(r1)
3573 ; LE-P10-O0-NEXT:    mtlr r0
3574 ; LE-P10-O0-NEXT:    blr
3576 ; LE-P9-O0-LABEL: aligned:
3577 ; LE-P9-O0:       # %bb.0: # %entry
3578 ; LE-P9-O0-NEXT:    mflr r0
3579 ; LE-P9-O0-NEXT:    std r30, -16(r1)
3580 ; LE-P9-O0-NEXT:    mr r30, r1
3581 ; LE-P9-O0-NEXT:    std r0, 16(r1)
3582 ; LE-P9-O0-NEXT:    hashst r0, -24(r1)
3583 ; LE-P9-O0-NEXT:    clrldi r0, r1, 49
3584 ; LE-P9-O0-NEXT:    lis r12, -1
3585 ; LE-P9-O0-NEXT:    subc r0, r12, r0
3586 ; LE-P9-O0-NEXT:    stdux r1, r1, r0
3587 ; LE-P9-O0-NEXT:    std r3, 32752(r1) # 8-byte Folded Spill
3588 ; LE-P9-O0-NEXT:    lwz r4, 4(r3)
3589 ; LE-P9-O0-NEXT:    lis r5, 0
3590 ; LE-P9-O0-NEXT:    ori r5, r5, 65508
3591 ; LE-P9-O0-NEXT:    stwx r4, r1, r5
3592 ; LE-P9-O0-NEXT:    lwz r4, 12(r3)
3593 ; LE-P9-O0-NEXT:    lis r5, 0
3594 ; LE-P9-O0-NEXT:    ori r5, r5, 32768
3595 ; LE-P9-O0-NEXT:    stwx r4, r1, r5
3596 ; LE-P9-O0-NEXT:    lwz r3, 20(r3)
3597 ; LE-P9-O0-NEXT:    stw r3, 32764(r1)
3598 ; LE-P9-O0-NEXT:    lis r3, 0
3599 ; LE-P9-O0-NEXT:    ori r3, r3, 32768
3600 ; LE-P9-O0-NEXT:    add r3, r1, r3
3601 ; LE-P9-O0-NEXT:    lis r4, 0
3602 ; LE-P9-O0-NEXT:    ori r4, r4, 65508
3603 ; LE-P9-O0-NEXT:    add r4, r1, r4
3604 ; LE-P9-O0-NEXT:    addi r5, r1, 32764
3605 ; LE-P9-O0-NEXT:    bl callee3
3606 ; LE-P9-O0-NEXT:    nop
3607 ; LE-P9-O0-NEXT:    mr r4, r3
3608 ; LE-P9-O0-NEXT:    ld r3, 32752(r1) # 8-byte Folded Reload
3609 ; LE-P9-O0-NEXT:    lwz r3, 16(r3)
3610 ; LE-P9-O0-NEXT:    add r3, r3, r4
3611 ; LE-P9-O0-NEXT:    clrldi r3, r3, 32
3612 ; LE-P9-O0-NEXT:    mr r1, r30
3613 ; LE-P9-O0-NEXT:    ld r0, 16(r1)
3614 ; LE-P9-O0-NEXT:    ld r30, -16(r1)
3615 ; LE-P9-O0-NEXT:    hashchk r0, -24(r1)
3616 ; LE-P9-O0-NEXT:    mtlr r0
3617 ; LE-P9-O0-NEXT:    blr
3619 ; LE-P8-O0-LABEL: aligned:
3620 ; LE-P8-O0:       # %bb.0: # %entry
3621 ; LE-P8-O0-NEXT:    mflr r0
3622 ; LE-P8-O0-NEXT:    std r30, -16(r1)
3623 ; LE-P8-O0-NEXT:    mr r30, r1
3624 ; LE-P8-O0-NEXT:    std r0, 16(r1)
3625 ; LE-P8-O0-NEXT:    hashst r0, -24(r1)
3626 ; LE-P8-O0-NEXT:    clrldi r0, r1, 49
3627 ; LE-P8-O0-NEXT:    lis r12, -1
3628 ; LE-P8-O0-NEXT:    subc r0, r12, r0
3629 ; LE-P8-O0-NEXT:    stdux r1, r1, r0
3630 ; LE-P8-O0-NEXT:    std r3, 32752(r1) # 8-byte Folded Spill
3631 ; LE-P8-O0-NEXT:    lwz r4, 4(r3)
3632 ; LE-P8-O0-NEXT:    lis r5, 0
3633 ; LE-P8-O0-NEXT:    ori r5, r5, 65508
3634 ; LE-P8-O0-NEXT:    stwx r4, r1, r5
3635 ; LE-P8-O0-NEXT:    lwz r4, 12(r3)
3636 ; LE-P8-O0-NEXT:    lis r5, 0
3637 ; LE-P8-O0-NEXT:    ori r5, r5, 32768
3638 ; LE-P8-O0-NEXT:    stwx r4, r1, r5
3639 ; LE-P8-O0-NEXT:    lwz r3, 20(r3)
3640 ; LE-P8-O0-NEXT:    stw r3, 32764(r1)
3641 ; LE-P8-O0-NEXT:    lis r3, 0
3642 ; LE-P8-O0-NEXT:    ori r3, r3, 32768
3643 ; LE-P8-O0-NEXT:    add r3, r1, r3
3644 ; LE-P8-O0-NEXT:    lis r4, 0
3645 ; LE-P8-O0-NEXT:    ori r4, r4, 65508
3646 ; LE-P8-O0-NEXT:    add r4, r1, r4
3647 ; LE-P8-O0-NEXT:    addi r5, r1, 32764
3648 ; LE-P8-O0-NEXT:    bl callee3
3649 ; LE-P8-O0-NEXT:    nop
3650 ; LE-P8-O0-NEXT:    mr r4, r3
3651 ; LE-P8-O0-NEXT:    ld r3, 32752(r1) # 8-byte Folded Reload
3652 ; LE-P8-O0-NEXT:    lwz r3, 16(r3)
3653 ; LE-P8-O0-NEXT:    add r3, r3, r4
3654 ; LE-P8-O0-NEXT:    clrldi r3, r3, 32
3655 ; LE-P8-O0-NEXT:    mr r1, r30
3656 ; LE-P8-O0-NEXT:    ld r0, 16(r1)
3657 ; LE-P8-O0-NEXT:    ld r30, -16(r1)
3658 ; LE-P8-O0-NEXT:    hashchk r0, -24(r1)
3659 ; LE-P8-O0-NEXT:    mtlr r0
3660 ; LE-P8-O0-NEXT:    blr
3662 ; BE-P10-LABEL: aligned:
3663 ; BE-P10:       # %bb.0: # %entry
3664 ; BE-P10-NEXT:    mflr r0
3665 ; BE-P10-NEXT:    std r30, -16(r1)
3666 ; BE-P10-NEXT:    lis r12, -1
3667 ; BE-P10-NEXT:    mr r30, r1
3668 ; BE-P10-NEXT:    std r0, 16(r1)
3669 ; BE-P10-NEXT:    hashst r0, -32(r1)
3670 ; BE-P10-NEXT:    clrldi r0, r1, 49
3671 ; BE-P10-NEXT:    subc r0, r12, r0
3672 ; BE-P10-NEXT:    stdux r1, r1, r0
3673 ; BE-P10-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3674 ; BE-P10-NEXT:    mr r29, r3
3675 ; BE-P10-NEXT:    lwz r3, 4(r3)
3676 ; BE-P10-NEXT:    lis r4, 0
3677 ; BE-P10-NEXT:    addi r5, r1, 32764
3678 ; BE-P10-NEXT:    ori r4, r4, 65500
3679 ; BE-P10-NEXT:    stwx r3, r1, r4
3680 ; BE-P10-NEXT:    lwz r3, 12(r29)
3681 ; BE-P10-NEXT:    lis r4, 0
3682 ; BE-P10-NEXT:    ori r4, r4, 32768
3683 ; BE-P10-NEXT:    stwx r3, r1, r4
3684 ; BE-P10-NEXT:    lwz r3, 20(r29)
3685 ; BE-P10-NEXT:    lis r4, 0
3686 ; BE-P10-NEXT:    ori r4, r4, 65500
3687 ; BE-P10-NEXT:    add r4, r1, r4
3688 ; BE-P10-NEXT:    stw r3, 32764(r1)
3689 ; BE-P10-NEXT:    lis r3, 0
3690 ; BE-P10-NEXT:    ori r3, r3, 32768
3691 ; BE-P10-NEXT:    add r3, r1, r3
3692 ; BE-P10-NEXT:    bl callee3
3693 ; BE-P10-NEXT:    nop
3694 ; BE-P10-NEXT:    lwz r4, 16(r29)
3695 ; BE-P10-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
3696 ; BE-P10-NEXT:    add r3, r4, r3
3697 ; BE-P10-NEXT:    clrldi r3, r3, 32
3698 ; BE-P10-NEXT:    mr r1, r30
3699 ; BE-P10-NEXT:    ld r0, 16(r1)
3700 ; BE-P10-NEXT:    ld r30, -16(r1)
3701 ; BE-P10-NEXT:    mtlr r0
3702 ; BE-P10-NEXT:    hashchk r0, -32(r1)
3703 ; BE-P10-NEXT:    blr
3705 ; BE-P9-LABEL: aligned:
3706 ; BE-P9:       # %bb.0: # %entry
3707 ; BE-P9-NEXT:    mflr r0
3708 ; BE-P9-NEXT:    std r30, -16(r1)
3709 ; BE-P9-NEXT:    lis r12, -1
3710 ; BE-P9-NEXT:    mr r30, r1
3711 ; BE-P9-NEXT:    std r0, 16(r1)
3712 ; BE-P9-NEXT:    hashst r0, -32(r1)
3713 ; BE-P9-NEXT:    clrldi r0, r1, 49
3714 ; BE-P9-NEXT:    subc r0, r12, r0
3715 ; BE-P9-NEXT:    stdux r1, r1, r0
3716 ; BE-P9-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3717 ; BE-P9-NEXT:    mr r29, r3
3718 ; BE-P9-NEXT:    lwz r3, 4(r3)
3719 ; BE-P9-NEXT:    lis r4, 0
3720 ; BE-P9-NEXT:    addi r5, r1, 32764
3721 ; BE-P9-NEXT:    ori r4, r4, 65500
3722 ; BE-P9-NEXT:    stwx r3, r1, r4
3723 ; BE-P9-NEXT:    lwz r3, 12(r29)
3724 ; BE-P9-NEXT:    lis r4, 0
3725 ; BE-P9-NEXT:    ori r4, r4, 32768
3726 ; BE-P9-NEXT:    stwx r3, r1, r4
3727 ; BE-P9-NEXT:    lwz r3, 20(r29)
3728 ; BE-P9-NEXT:    lis r4, 0
3729 ; BE-P9-NEXT:    ori r4, r4, 65500
3730 ; BE-P9-NEXT:    stw r3, 32764(r1)
3731 ; BE-P9-NEXT:    lis r3, 0
3732 ; BE-P9-NEXT:    add r4, r1, r4
3733 ; BE-P9-NEXT:    ori r3, r3, 32768
3734 ; BE-P9-NEXT:    add r3, r1, r3
3735 ; BE-P9-NEXT:    bl callee3
3736 ; BE-P9-NEXT:    nop
3737 ; BE-P9-NEXT:    lwz r4, 16(r29)
3738 ; BE-P9-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
3739 ; BE-P9-NEXT:    add r3, r4, r3
3740 ; BE-P9-NEXT:    clrldi r3, r3, 32
3741 ; BE-P9-NEXT:    mr r1, r30
3742 ; BE-P9-NEXT:    ld r0, 16(r1)
3743 ; BE-P9-NEXT:    ld r30, -16(r1)
3744 ; BE-P9-NEXT:    mtlr r0
3745 ; BE-P9-NEXT:    hashchk r0, -32(r1)
3746 ; BE-P9-NEXT:    blr
3748 ; BE-P8-LABEL: aligned:
3749 ; BE-P8:       # %bb.0: # %entry
3750 ; BE-P8-NEXT:    mflr r0
3751 ; BE-P8-NEXT:    std r30, -16(r1)
3752 ; BE-P8-NEXT:    lis r12, -1
3753 ; BE-P8-NEXT:    mr r30, r1
3754 ; BE-P8-NEXT:    std r0, 16(r1)
3755 ; BE-P8-NEXT:    hashst r0, -32(r1)
3756 ; BE-P8-NEXT:    clrldi r0, r1, 49
3757 ; BE-P8-NEXT:    subc r0, r12, r0
3758 ; BE-P8-NEXT:    stdux r1, r1, r0
3759 ; BE-P8-NEXT:    lis r4, 0
3760 ; BE-P8-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3761 ; BE-P8-NEXT:    mr r29, r3
3762 ; BE-P8-NEXT:    lwz r3, 4(r3)
3763 ; BE-P8-NEXT:    addi r5, r1, 32764
3764 ; BE-P8-NEXT:    ori r4, r4, 65500
3765 ; BE-P8-NEXT:    stwx r3, r1, r4
3766 ; BE-P8-NEXT:    lis r4, 0
3767 ; BE-P8-NEXT:    lwz r3, 12(r29)
3768 ; BE-P8-NEXT:    ori r4, r4, 32768
3769 ; BE-P8-NEXT:    stwx r3, r1, r4
3770 ; BE-P8-NEXT:    lwz r3, 20(r29)
3771 ; BE-P8-NEXT:    lis r4, 0
3772 ; BE-P8-NEXT:    ori r4, r4, 65500
3773 ; BE-P8-NEXT:    stw r3, 32764(r1)
3774 ; BE-P8-NEXT:    lis r3, 0
3775 ; BE-P8-NEXT:    add r4, r1, r4
3776 ; BE-P8-NEXT:    ori r3, r3, 32768
3777 ; BE-P8-NEXT:    add r3, r1, r3
3778 ; BE-P8-NEXT:    bl callee3
3779 ; BE-P8-NEXT:    nop
3780 ; BE-P8-NEXT:    lwz r4, 16(r29)
3781 ; BE-P8-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
3782 ; BE-P8-NEXT:    add r3, r4, r3
3783 ; BE-P8-NEXT:    clrldi r3, r3, 32
3784 ; BE-P8-NEXT:    mr r1, r30
3785 ; BE-P8-NEXT:    ld r0, 16(r1)
3786 ; BE-P8-NEXT:    ld r30, -16(r1)
3787 ; BE-P8-NEXT:    hashchk r0, -32(r1)
3788 ; BE-P8-NEXT:    mtlr r0
3789 ; BE-P8-NEXT:    blr
3791 ; BE-32BIT-P10-LABEL: aligned:
3792 ; BE-32BIT-P10:       # %bb.0: # %entry
3793 ; BE-32BIT-P10-NEXT:    mflr r0
3794 ; BE-32BIT-P10-NEXT:    lis r12, -1
3795 ; BE-32BIT-P10-NEXT:    stw r0, 4(r1)
3796 ; BE-32BIT-P10-NEXT:    hashst r0, -24(r1)
3797 ; BE-32BIT-P10-NEXT:    clrlwi r0, r1, 17
3798 ; BE-32BIT-P10-NEXT:    subc r0, r12, r0
3799 ; BE-32BIT-P10-NEXT:    stwux r1, r1, r0
3800 ; BE-32BIT-P10-NEXT:    sub r0, r1, r0
3801 ; BE-32BIT-P10-NEXT:    lis r4, 0
3802 ; BE-32BIT-P10-NEXT:    addi r5, r1, 32764
3803 ; BE-32BIT-P10-NEXT:    addic r0, r0, -8
3804 ; BE-32BIT-P10-NEXT:    ori r4, r4, 65508
3805 ; BE-32BIT-P10-NEXT:    stwx r30, 0, r0
3806 ; BE-32BIT-P10-NEXT:    addic r30, r0, 8
3807 ; BE-32BIT-P10-NEXT:    stw r29, -12(r30) # 4-byte Folded Spill
3808 ; BE-32BIT-P10-NEXT:    mr r29, r3
3809 ; BE-32BIT-P10-NEXT:    lwz r3, 4(r3)
3810 ; BE-32BIT-P10-NEXT:    stwx r3, r1, r4
3811 ; BE-32BIT-P10-NEXT:    lwz r3, 12(r29)
3812 ; BE-32BIT-P10-NEXT:    lis r4, 0
3813 ; BE-32BIT-P10-NEXT:    ori r4, r4, 32768
3814 ; BE-32BIT-P10-NEXT:    stwx r3, r1, r4
3815 ; BE-32BIT-P10-NEXT:    lwz r3, 20(r29)
3816 ; BE-32BIT-P10-NEXT:    lis r4, 0
3817 ; BE-32BIT-P10-NEXT:    ori r4, r4, 65508
3818 ; BE-32BIT-P10-NEXT:    add r4, r1, r4
3819 ; BE-32BIT-P10-NEXT:    stw r3, 32764(r1)
3820 ; BE-32BIT-P10-NEXT:    lis r3, 0
3821 ; BE-32BIT-P10-NEXT:    ori r3, r3, 32768
3822 ; BE-32BIT-P10-NEXT:    add r3, r1, r3
3823 ; BE-32BIT-P10-NEXT:    bl callee3
3824 ; BE-32BIT-P10-NEXT:    lwz r4, 16(r29)
3825 ; BE-32BIT-P10-NEXT:    lwz r29, -12(r30) # 4-byte Folded Reload
3826 ; BE-32BIT-P10-NEXT:    mr r0, r31
3827 ; BE-32BIT-P10-NEXT:    add r3, r4, r3
3828 ; BE-32BIT-P10-NEXT:    lwz r31, 0(r1)
3829 ; BE-32BIT-P10-NEXT:    lwz r30, -8(r31)
3830 ; BE-32BIT-P10-NEXT:    mr r1, r31
3831 ; BE-32BIT-P10-NEXT:    mr r31, r0
3832 ; BE-32BIT-P10-NEXT:    lwz r0, 4(r1)
3833 ; BE-32BIT-P10-NEXT:    hashchk r0, -24(r1)
3834 ; BE-32BIT-P10-NEXT:    mtlr r0
3835 ; BE-32BIT-P10-NEXT:    blr
3837 ; BE-32BIT-P9-LABEL: aligned:
3838 ; BE-32BIT-P9:       # %bb.0: # %entry
3839 ; BE-32BIT-P9-NEXT:    mflr r0
3840 ; BE-32BIT-P9-NEXT:    lis r12, -1
3841 ; BE-32BIT-P9-NEXT:    stw r0, 4(r1)
3842 ; BE-32BIT-P9-NEXT:    hashst r0, -24(r1)
3843 ; BE-32BIT-P9-NEXT:    clrlwi r0, r1, 17
3844 ; BE-32BIT-P9-NEXT:    subc r0, r12, r0
3845 ; BE-32BIT-P9-NEXT:    stwux r1, r1, r0
3846 ; BE-32BIT-P9-NEXT:    sub r0, r1, r0
3847 ; BE-32BIT-P9-NEXT:    lis r4, 0
3848 ; BE-32BIT-P9-NEXT:    addi r5, r1, 32764
3849 ; BE-32BIT-P9-NEXT:    addic r0, r0, -8
3850 ; BE-32BIT-P9-NEXT:    ori r4, r4, 65508
3851 ; BE-32BIT-P9-NEXT:    stwx r30, 0, r0
3852 ; BE-32BIT-P9-NEXT:    addic r30, r0, 8
3853 ; BE-32BIT-P9-NEXT:    stw r29, -12(r30) # 4-byte Folded Spill
3854 ; BE-32BIT-P9-NEXT:    mr r29, r3
3855 ; BE-32BIT-P9-NEXT:    lwz r3, 4(r3)
3856 ; BE-32BIT-P9-NEXT:    stwx r3, r1, r4
3857 ; BE-32BIT-P9-NEXT:    lwz r3, 12(r29)
3858 ; BE-32BIT-P9-NEXT:    lis r4, 0
3859 ; BE-32BIT-P9-NEXT:    ori r4, r4, 32768
3860 ; BE-32BIT-P9-NEXT:    stwx r3, r1, r4
3861 ; BE-32BIT-P9-NEXT:    lwz r3, 20(r29)
3862 ; BE-32BIT-P9-NEXT:    lis r4, 0
3863 ; BE-32BIT-P9-NEXT:    ori r4, r4, 65508
3864 ; BE-32BIT-P9-NEXT:    stw r3, 32764(r1)
3865 ; BE-32BIT-P9-NEXT:    lis r3, 0
3866 ; BE-32BIT-P9-NEXT:    add r4, r1, r4
3867 ; BE-32BIT-P9-NEXT:    ori r3, r3, 32768
3868 ; BE-32BIT-P9-NEXT:    add r3, r1, r3
3869 ; BE-32BIT-P9-NEXT:    bl callee3
3870 ; BE-32BIT-P9-NEXT:    lwz r4, 16(r29)
3871 ; BE-32BIT-P9-NEXT:    lwz r29, -12(r30) # 4-byte Folded Reload
3872 ; BE-32BIT-P9-NEXT:    mr r0, r31
3873 ; BE-32BIT-P9-NEXT:    lwz r31, 0(r1)
3874 ; BE-32BIT-P9-NEXT:    lwz r30, -8(r31)
3875 ; BE-32BIT-P9-NEXT:    add r3, r4, r3
3876 ; BE-32BIT-P9-NEXT:    mr r1, r31
3877 ; BE-32BIT-P9-NEXT:    mr r31, r0
3878 ; BE-32BIT-P9-NEXT:    lwz r0, 4(r1)
3879 ; BE-32BIT-P9-NEXT:    mtlr r0
3880 ; BE-32BIT-P9-NEXT:    hashchk r0, -24(r1)
3881 ; BE-32BIT-P9-NEXT:    blr
3883 ; BE-32BIT-P8-LABEL: aligned:
3884 ; BE-32BIT-P8:       # %bb.0: # %entry
3885 ; BE-32BIT-P8-NEXT:    mflr r0
3886 ; BE-32BIT-P8-NEXT:    lis r12, -1
3887 ; BE-32BIT-P8-NEXT:    stw r0, 4(r1)
3888 ; BE-32BIT-P8-NEXT:    hashst r0, -24(r1)
3889 ; BE-32BIT-P8-NEXT:    clrlwi r0, r1, 17
3890 ; BE-32BIT-P8-NEXT:    subc r0, r12, r0
3891 ; BE-32BIT-P8-NEXT:    stwux r1, r1, r0
3892 ; BE-32BIT-P8-NEXT:    sub r0, r1, r0
3893 ; BE-32BIT-P8-NEXT:    lis r4, 0
3894 ; BE-32BIT-P8-NEXT:    addi r5, r1, 32764
3895 ; BE-32BIT-P8-NEXT:    addic r0, r0, -8
3896 ; BE-32BIT-P8-NEXT:    ori r4, r4, 65508
3897 ; BE-32BIT-P8-NEXT:    stwx r30, 0, r0
3898 ; BE-32BIT-P8-NEXT:    addic r30, r0, 8
3899 ; BE-32BIT-P8-NEXT:    stw r29, -12(r30) # 4-byte Folded Spill
3900 ; BE-32BIT-P8-NEXT:    mr r29, r3
3901 ; BE-32BIT-P8-NEXT:    lwz r3, 4(r3)
3902 ; BE-32BIT-P8-NEXT:    stwx r3, r1, r4
3903 ; BE-32BIT-P8-NEXT:    lis r4, 0
3904 ; BE-32BIT-P8-NEXT:    lwz r3, 12(r29)
3905 ; BE-32BIT-P8-NEXT:    ori r4, r4, 32768
3906 ; BE-32BIT-P8-NEXT:    stwx r3, r1, r4
3907 ; BE-32BIT-P8-NEXT:    lwz r3, 20(r29)
3908 ; BE-32BIT-P8-NEXT:    lis r4, 0
3909 ; BE-32BIT-P8-NEXT:    ori r4, r4, 65508
3910 ; BE-32BIT-P8-NEXT:    stw r3, 32764(r1)
3911 ; BE-32BIT-P8-NEXT:    lis r3, 0
3912 ; BE-32BIT-P8-NEXT:    add r4, r1, r4
3913 ; BE-32BIT-P8-NEXT:    ori r3, r3, 32768
3914 ; BE-32BIT-P8-NEXT:    add r3, r1, r3
3915 ; BE-32BIT-P8-NEXT:    bl callee3
3916 ; BE-32BIT-P8-NEXT:    lwz r4, 16(r29)
3917 ; BE-32BIT-P8-NEXT:    lwz r29, -12(r30) # 4-byte Folded Reload
3918 ; BE-32BIT-P8-NEXT:    add r3, r4, r3
3919 ; BE-32BIT-P8-NEXT:    mr r0, r31
3920 ; BE-32BIT-P8-NEXT:    lwz r31, 0(r1)
3921 ; BE-32BIT-P8-NEXT:    lwz r30, -8(r31)
3922 ; BE-32BIT-P8-NEXT:    mr r1, r31
3923 ; BE-32BIT-P8-NEXT:    mr r31, r0
3924 ; BE-32BIT-P8-NEXT:    lwz r0, 4(r1)
3925 ; BE-32BIT-P8-NEXT:    hashchk r0, -24(r1)
3926 ; BE-32BIT-P8-NEXT:    mtlr r0
3927 ; BE-32BIT-P8-NEXT:    blr
3929 ; LE-P10-PRIV-LABEL: aligned:
3930 ; LE-P10-PRIV:       # %bb.0: # %entry
3931 ; LE-P10-PRIV-NEXT:    mflr r0
3932 ; LE-P10-PRIV-NEXT:    std r30, -16(r1)
3933 ; LE-P10-PRIV-NEXT:    lis r12, -1
3934 ; LE-P10-PRIV-NEXT:    mr r30, r1
3935 ; LE-P10-PRIV-NEXT:    std r0, 16(r1)
3936 ; LE-P10-PRIV-NEXT:    hashstp r0, -32(r1)
3937 ; LE-P10-PRIV-NEXT:    clrldi r0, r1, 49
3938 ; LE-P10-PRIV-NEXT:    subc r0, r12, r0
3939 ; LE-P10-PRIV-NEXT:    stdux r1, r1, r0
3940 ; LE-P10-PRIV-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3941 ; LE-P10-PRIV-NEXT:    mr r29, r3
3942 ; LE-P10-PRIV-NEXT:    lwz r3, 4(r3)
3943 ; LE-P10-PRIV-NEXT:    lis r4, 0
3944 ; LE-P10-PRIV-NEXT:    addi r5, r1, 32764
3945 ; LE-P10-PRIV-NEXT:    ori r4, r4, 65500
3946 ; LE-P10-PRIV-NEXT:    stwx r3, r1, r4
3947 ; LE-P10-PRIV-NEXT:    lwz r3, 12(r29)
3948 ; LE-P10-PRIV-NEXT:    lis r4, 0
3949 ; LE-P10-PRIV-NEXT:    ori r4, r4, 32768
3950 ; LE-P10-PRIV-NEXT:    stwx r3, r1, r4
3951 ; LE-P10-PRIV-NEXT:    lwz r3, 20(r29)
3952 ; LE-P10-PRIV-NEXT:    lis r4, 0
3953 ; LE-P10-PRIV-NEXT:    ori r4, r4, 65500
3954 ; LE-P10-PRIV-NEXT:    add r4, r1, r4
3955 ; LE-P10-PRIV-NEXT:    stw r3, 32764(r1)
3956 ; LE-P10-PRIV-NEXT:    lis r3, 0
3957 ; LE-P10-PRIV-NEXT:    ori r3, r3, 32768
3958 ; LE-P10-PRIV-NEXT:    add r3, r1, r3
3959 ; LE-P10-PRIV-NEXT:    bl callee3@notoc
3960 ; LE-P10-PRIV-NEXT:    lwz r4, 16(r29)
3961 ; LE-P10-PRIV-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
3962 ; LE-P10-PRIV-NEXT:    add r3, r4, r3
3963 ; LE-P10-PRIV-NEXT:    clrldi r3, r3, 32
3964 ; LE-P10-PRIV-NEXT:    mr r1, r30
3965 ; LE-P10-PRIV-NEXT:    ld r0, 16(r1)
3966 ; LE-P10-PRIV-NEXT:    ld r30, -16(r1)
3967 ; LE-P10-PRIV-NEXT:    mtlr r0
3968 ; LE-P10-PRIV-NEXT:    hashchkp r0, -32(r1)
3969 ; LE-P10-PRIV-NEXT:    blr
3971 ; LE-P9-PRIV-LABEL: aligned:
3972 ; LE-P9-PRIV:       # %bb.0: # %entry
3973 ; LE-P9-PRIV-NEXT:    mflr r0
3974 ; LE-P9-PRIV-NEXT:    std r30, -16(r1)
3975 ; LE-P9-PRIV-NEXT:    lis r12, -1
3976 ; LE-P9-PRIV-NEXT:    mr r30, r1
3977 ; LE-P9-PRIV-NEXT:    std r0, 16(r1)
3978 ; LE-P9-PRIV-NEXT:    hashstp r0, -32(r1)
3979 ; LE-P9-PRIV-NEXT:    clrldi r0, r1, 49
3980 ; LE-P9-PRIV-NEXT:    subc r0, r12, r0
3981 ; LE-P9-PRIV-NEXT:    stdux r1, r1, r0
3982 ; LE-P9-PRIV-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
3983 ; LE-P9-PRIV-NEXT:    mr r29, r3
3984 ; LE-P9-PRIV-NEXT:    lwz r3, 4(r3)
3985 ; LE-P9-PRIV-NEXT:    lis r4, 0
3986 ; LE-P9-PRIV-NEXT:    addi r5, r1, 32764
3987 ; LE-P9-PRIV-NEXT:    ori r4, r4, 65500
3988 ; LE-P9-PRIV-NEXT:    stwx r3, r1, r4
3989 ; LE-P9-PRIV-NEXT:    lwz r3, 12(r29)
3990 ; LE-P9-PRIV-NEXT:    lis r4, 0
3991 ; LE-P9-PRIV-NEXT:    ori r4, r4, 32768
3992 ; LE-P9-PRIV-NEXT:    stwx r3, r1, r4
3993 ; LE-P9-PRIV-NEXT:    lwz r3, 20(r29)
3994 ; LE-P9-PRIV-NEXT:    lis r4, 0
3995 ; LE-P9-PRIV-NEXT:    ori r4, r4, 65500
3996 ; LE-P9-PRIV-NEXT:    stw r3, 32764(r1)
3997 ; LE-P9-PRIV-NEXT:    lis r3, 0
3998 ; LE-P9-PRIV-NEXT:    add r4, r1, r4
3999 ; LE-P9-PRIV-NEXT:    ori r3, r3, 32768
4000 ; LE-P9-PRIV-NEXT:    add r3, r1, r3
4001 ; LE-P9-PRIV-NEXT:    bl callee3
4002 ; LE-P9-PRIV-NEXT:    nop
4003 ; LE-P9-PRIV-NEXT:    lwz r4, 16(r29)
4004 ; LE-P9-PRIV-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
4005 ; LE-P9-PRIV-NEXT:    add r3, r4, r3
4006 ; LE-P9-PRIV-NEXT:    clrldi r3, r3, 32
4007 ; LE-P9-PRIV-NEXT:    mr r1, r30
4008 ; LE-P9-PRIV-NEXT:    ld r0, 16(r1)
4009 ; LE-P9-PRIV-NEXT:    ld r30, -16(r1)
4010 ; LE-P9-PRIV-NEXT:    mtlr r0
4011 ; LE-P9-PRIV-NEXT:    hashchkp r0, -32(r1)
4012 ; LE-P9-PRIV-NEXT:    blr
4014 ; LE-P8-PRIV-LABEL: aligned:
4015 ; LE-P8-PRIV:       # %bb.0: # %entry
4016 ; LE-P8-PRIV-NEXT:    mflr r0
4017 ; LE-P8-PRIV-NEXT:    std r30, -16(r1)
4018 ; LE-P8-PRIV-NEXT:    lis r12, -1
4019 ; LE-P8-PRIV-NEXT:    mr r30, r1
4020 ; LE-P8-PRIV-NEXT:    std r0, 16(r1)
4021 ; LE-P8-PRIV-NEXT:    hashstp r0, -32(r1)
4022 ; LE-P8-PRIV-NEXT:    clrldi r0, r1, 49
4023 ; LE-P8-PRIV-NEXT:    subc r0, r12, r0
4024 ; LE-P8-PRIV-NEXT:    stdux r1, r1, r0
4025 ; LE-P8-PRIV-NEXT:    lis r4, 0
4026 ; LE-P8-PRIV-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
4027 ; LE-P8-PRIV-NEXT:    mr r29, r3
4028 ; LE-P8-PRIV-NEXT:    lwz r3, 4(r3)
4029 ; LE-P8-PRIV-NEXT:    addi r5, r1, 32764
4030 ; LE-P8-PRIV-NEXT:    ori r4, r4, 65500
4031 ; LE-P8-PRIV-NEXT:    stwx r3, r1, r4
4032 ; LE-P8-PRIV-NEXT:    lis r4, 0
4033 ; LE-P8-PRIV-NEXT:    lwz r3, 12(r29)
4034 ; LE-P8-PRIV-NEXT:    ori r4, r4, 32768
4035 ; LE-P8-PRIV-NEXT:    stwx r3, r1, r4
4036 ; LE-P8-PRIV-NEXT:    lwz r3, 20(r29)
4037 ; LE-P8-PRIV-NEXT:    lis r4, 0
4038 ; LE-P8-PRIV-NEXT:    ori r4, r4, 65500
4039 ; LE-P8-PRIV-NEXT:    stw r3, 32764(r1)
4040 ; LE-P8-PRIV-NEXT:    lis r3, 0
4041 ; LE-P8-PRIV-NEXT:    add r4, r1, r4
4042 ; LE-P8-PRIV-NEXT:    ori r3, r3, 32768
4043 ; LE-P8-PRIV-NEXT:    add r3, r1, r3
4044 ; LE-P8-PRIV-NEXT:    bl callee3
4045 ; LE-P8-PRIV-NEXT:    nop
4046 ; LE-P8-PRIV-NEXT:    lwz r4, 16(r29)
4047 ; LE-P8-PRIV-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
4048 ; LE-P8-PRIV-NEXT:    add r3, r4, r3
4049 ; LE-P8-PRIV-NEXT:    clrldi r3, r3, 32
4050 ; LE-P8-PRIV-NEXT:    mr r1, r30
4051 ; LE-P8-PRIV-NEXT:    ld r0, 16(r1)
4052 ; LE-P8-PRIV-NEXT:    ld r30, -16(r1)
4053 ; LE-P8-PRIV-NEXT:    hashchkp r0, -32(r1)
4054 ; LE-P8-PRIV-NEXT:    mtlr r0
4055 ; LE-P8-PRIV-NEXT:    blr
4057 ; BE-P10-PRIV-LABEL: aligned:
4058 ; BE-P10-PRIV:       # %bb.0: # %entry
4059 ; BE-P10-PRIV-NEXT:    mflr r0
4060 ; BE-P10-PRIV-NEXT:    std r30, -16(r1)
4061 ; BE-P10-PRIV-NEXT:    lis r12, -1
4062 ; BE-P10-PRIV-NEXT:    mr r30, r1
4063 ; BE-P10-PRIV-NEXT:    std r0, 16(r1)
4064 ; BE-P10-PRIV-NEXT:    hashstp r0, -32(r1)
4065 ; BE-P10-PRIV-NEXT:    clrldi r0, r1, 49
4066 ; BE-P10-PRIV-NEXT:    subc r0, r12, r0
4067 ; BE-P10-PRIV-NEXT:    stdux r1, r1, r0
4068 ; BE-P10-PRIV-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
4069 ; BE-P10-PRIV-NEXT:    mr r29, r3
4070 ; BE-P10-PRIV-NEXT:    lwz r3, 4(r3)
4071 ; BE-P10-PRIV-NEXT:    lis r4, 0
4072 ; BE-P10-PRIV-NEXT:    addi r5, r1, 32764
4073 ; BE-P10-PRIV-NEXT:    ori r4, r4, 65500
4074 ; BE-P10-PRIV-NEXT:    stwx r3, r1, r4
4075 ; BE-P10-PRIV-NEXT:    lwz r3, 12(r29)
4076 ; BE-P10-PRIV-NEXT:    lis r4, 0
4077 ; BE-P10-PRIV-NEXT:    ori r4, r4, 32768
4078 ; BE-P10-PRIV-NEXT:    stwx r3, r1, r4
4079 ; BE-P10-PRIV-NEXT:    lwz r3, 20(r29)
4080 ; BE-P10-PRIV-NEXT:    lis r4, 0
4081 ; BE-P10-PRIV-NEXT:    ori r4, r4, 65500
4082 ; BE-P10-PRIV-NEXT:    add r4, r1, r4
4083 ; BE-P10-PRIV-NEXT:    stw r3, 32764(r1)
4084 ; BE-P10-PRIV-NEXT:    lis r3, 0
4085 ; BE-P10-PRIV-NEXT:    ori r3, r3, 32768
4086 ; BE-P10-PRIV-NEXT:    add r3, r1, r3
4087 ; BE-P10-PRIV-NEXT:    bl callee3
4088 ; BE-P10-PRIV-NEXT:    nop
4089 ; BE-P10-PRIV-NEXT:    lwz r4, 16(r29)
4090 ; BE-P10-PRIV-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
4091 ; BE-P10-PRIV-NEXT:    add r3, r4, r3
4092 ; BE-P10-PRIV-NEXT:    clrldi r3, r3, 32
4093 ; BE-P10-PRIV-NEXT:    mr r1, r30
4094 ; BE-P10-PRIV-NEXT:    ld r0, 16(r1)
4095 ; BE-P10-PRIV-NEXT:    ld r30, -16(r1)
4096 ; BE-P10-PRIV-NEXT:    mtlr r0
4097 ; BE-P10-PRIV-NEXT:    hashchkp r0, -32(r1)
4098 ; BE-P10-PRIV-NEXT:    blr
4100 ; BE-P9-PRIV-LABEL: aligned:
4101 ; BE-P9-PRIV:       # %bb.0: # %entry
4102 ; BE-P9-PRIV-NEXT:    mflr r0
4103 ; BE-P9-PRIV-NEXT:    std r30, -16(r1)
4104 ; BE-P9-PRIV-NEXT:    lis r12, -1
4105 ; BE-P9-PRIV-NEXT:    mr r30, r1
4106 ; BE-P9-PRIV-NEXT:    std r0, 16(r1)
4107 ; BE-P9-PRIV-NEXT:    hashstp r0, -32(r1)
4108 ; BE-P9-PRIV-NEXT:    clrldi r0, r1, 49
4109 ; BE-P9-PRIV-NEXT:    subc r0, r12, r0
4110 ; BE-P9-PRIV-NEXT:    stdux r1, r1, r0
4111 ; BE-P9-PRIV-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
4112 ; BE-P9-PRIV-NEXT:    mr r29, r3
4113 ; BE-P9-PRIV-NEXT:    lwz r3, 4(r3)
4114 ; BE-P9-PRIV-NEXT:    lis r4, 0
4115 ; BE-P9-PRIV-NEXT:    addi r5, r1, 32764
4116 ; BE-P9-PRIV-NEXT:    ori r4, r4, 65500
4117 ; BE-P9-PRIV-NEXT:    stwx r3, r1, r4
4118 ; BE-P9-PRIV-NEXT:    lwz r3, 12(r29)
4119 ; BE-P9-PRIV-NEXT:    lis r4, 0
4120 ; BE-P9-PRIV-NEXT:    ori r4, r4, 32768
4121 ; BE-P9-PRIV-NEXT:    stwx r3, r1, r4
4122 ; BE-P9-PRIV-NEXT:    lwz r3, 20(r29)
4123 ; BE-P9-PRIV-NEXT:    lis r4, 0
4124 ; BE-P9-PRIV-NEXT:    ori r4, r4, 65500
4125 ; BE-P9-PRIV-NEXT:    stw r3, 32764(r1)
4126 ; BE-P9-PRIV-NEXT:    lis r3, 0
4127 ; BE-P9-PRIV-NEXT:    add r4, r1, r4
4128 ; BE-P9-PRIV-NEXT:    ori r3, r3, 32768
4129 ; BE-P9-PRIV-NEXT:    add r3, r1, r3
4130 ; BE-P9-PRIV-NEXT:    bl callee3
4131 ; BE-P9-PRIV-NEXT:    nop
4132 ; BE-P9-PRIV-NEXT:    lwz r4, 16(r29)
4133 ; BE-P9-PRIV-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
4134 ; BE-P9-PRIV-NEXT:    add r3, r4, r3
4135 ; BE-P9-PRIV-NEXT:    clrldi r3, r3, 32
4136 ; BE-P9-PRIV-NEXT:    mr r1, r30
4137 ; BE-P9-PRIV-NEXT:    ld r0, 16(r1)
4138 ; BE-P9-PRIV-NEXT:    ld r30, -16(r1)
4139 ; BE-P9-PRIV-NEXT:    mtlr r0
4140 ; BE-P9-PRIV-NEXT:    hashchkp r0, -32(r1)
4141 ; BE-P9-PRIV-NEXT:    blr
4143 ; BE-P8-PRIV-LABEL: aligned:
4144 ; BE-P8-PRIV:       # %bb.0: # %entry
4145 ; BE-P8-PRIV-NEXT:    mflr r0
4146 ; BE-P8-PRIV-NEXT:    std r30, -16(r1)
4147 ; BE-P8-PRIV-NEXT:    lis r12, -1
4148 ; BE-P8-PRIV-NEXT:    mr r30, r1
4149 ; BE-P8-PRIV-NEXT:    std r0, 16(r1)
4150 ; BE-P8-PRIV-NEXT:    hashstp r0, -32(r1)
4151 ; BE-P8-PRIV-NEXT:    clrldi r0, r1, 49
4152 ; BE-P8-PRIV-NEXT:    subc r0, r12, r0
4153 ; BE-P8-PRIV-NEXT:    stdux r1, r1, r0
4154 ; BE-P8-PRIV-NEXT:    lis r4, 0
4155 ; BE-P8-PRIV-NEXT:    std r29, -24(r30) # 8-byte Folded Spill
4156 ; BE-P8-PRIV-NEXT:    mr r29, r3
4157 ; BE-P8-PRIV-NEXT:    lwz r3, 4(r3)
4158 ; BE-P8-PRIV-NEXT:    addi r5, r1, 32764
4159 ; BE-P8-PRIV-NEXT:    ori r4, r4, 65500
4160 ; BE-P8-PRIV-NEXT:    stwx r3, r1, r4
4161 ; BE-P8-PRIV-NEXT:    lis r4, 0
4162 ; BE-P8-PRIV-NEXT:    lwz r3, 12(r29)
4163 ; BE-P8-PRIV-NEXT:    ori r4, r4, 32768
4164 ; BE-P8-PRIV-NEXT:    stwx r3, r1, r4
4165 ; BE-P8-PRIV-NEXT:    lwz r3, 20(r29)
4166 ; BE-P8-PRIV-NEXT:    lis r4, 0
4167 ; BE-P8-PRIV-NEXT:    ori r4, r4, 65500
4168 ; BE-P8-PRIV-NEXT:    stw r3, 32764(r1)
4169 ; BE-P8-PRIV-NEXT:    lis r3, 0
4170 ; BE-P8-PRIV-NEXT:    add r4, r1, r4
4171 ; BE-P8-PRIV-NEXT:    ori r3, r3, 32768
4172 ; BE-P8-PRIV-NEXT:    add r3, r1, r3
4173 ; BE-P8-PRIV-NEXT:    bl callee3
4174 ; BE-P8-PRIV-NEXT:    nop
4175 ; BE-P8-PRIV-NEXT:    lwz r4, 16(r29)
4176 ; BE-P8-PRIV-NEXT:    ld r29, -24(r30) # 8-byte Folded Reload
4177 ; BE-P8-PRIV-NEXT:    add r3, r4, r3
4178 ; BE-P8-PRIV-NEXT:    clrldi r3, r3, 32
4179 ; BE-P8-PRIV-NEXT:    mr r1, r30
4180 ; BE-P8-PRIV-NEXT:    ld r0, 16(r1)
4181 ; BE-P8-PRIV-NEXT:    ld r30, -16(r1)
4182 ; BE-P8-PRIV-NEXT:    hashchkp r0, -32(r1)
4183 ; BE-P8-PRIV-NEXT:    mtlr r0
4184 ; BE-P8-PRIV-NEXT:    blr
4185 entry:
4186   %beforeLocal = alloca i32, align 4
4187   %local = alloca i32, align 32768
4188   %afterLocal = alloca i32, align 4
4189   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %beforeLocal)
4190   %arrayidx = getelementptr inbounds i32, ptr %in, i64 1
4191   %0 = load i32, ptr %arrayidx, align 4
4192   store i32 %0, ptr %beforeLocal, align 4
4193   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
4194   %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 3
4195   %1 = load i32, ptr %arrayidx1, align 4
4196   store i32 %1, ptr %local, align 32768
4197   call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %afterLocal)
4198   %arrayidx2 = getelementptr inbounds i32, ptr %in, i64 5
4199   %2 = load i32, ptr %arrayidx2, align 4
4200   store i32 %2, ptr %afterLocal, align 4
4201   %call = call zeroext i32 @callee3(ptr nonnull %local, ptr nonnull %beforeLocal, ptr nonnull %afterLocal)
4202   %arrayidx3 = getelementptr inbounds i32, ptr %in, i64 4
4203   %3 = load i32, ptr %arrayidx3, align 4
4204   %add = add i32 %3, %call
4205   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %afterLocal)
4206   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
4207   call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %beforeLocal)
4208   ret i32 %add
4211 declare zeroext i32 @callee(i32 zeroext) local_unnamed_addr
4212 declare zeroext i32 @callee2(ptr) local_unnamed_addr
4213 declare zeroext i32 @callee3(ptr, ptr, ptr) local_unnamed_addr
4214 declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
4215 declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
4217 attributes #0 = { nounwind }