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
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
83 ; LE-P9-LABEL: caller:
84 ; LE-P9: # %bb.0: # %entry
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
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)
98 ; LE-P9-NEXT: hashchk r0, -24(r1)
99 ; LE-P9-NEXT: ld r30, -16(r1) # 8-byte Folded Reload
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
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
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
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
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
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
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
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
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
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)
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
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)
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
407 %call = tail call zeroext i32 @callee(i32 zeroext %in)
408 %add = add i32 %call, %add_after
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)
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
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)
604 ; LE-P9-NEXT: #NO_APP
605 ; LE-P9-NEXT: addi r3, r1, 52
606 ; LE-P9-NEXT: bl callee2
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
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)
743 ; LE-P8-NEXT: #NO_APP
744 ; LE-P8-NEXT: addi r3, r1, 52
745 ; LE-P8-NEXT: bl callee2
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
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)
1290 ; BE-P10-NEXT: #NO_APP
1291 ; BE-P10-NEXT: addi r3, r1, 132
1292 ; BE-P10-NEXT: bl callee2
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
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)
1417 ; BE-P9-NEXT: #NO_APP
1418 ; BE-P9-NEXT: addi r3, r1, 132
1419 ; BE-P9-NEXT: bl callee2
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
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)
1556 ; BE-P8-NEXT: #NO_APP
1557 ; BE-P8-NEXT: addi r3, r1, 132
1558 ; BE-P8-NEXT: bl callee2
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
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
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)
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: lwz r4, 12(r3)
2868 ; LE-P10-NEXT: mr r30, r3
2869 ; LE-P10-NEXT: stw r4, 36(r1)
2870 ; LE-P10-NEXT: addi r4, r1, 36
2871 ; LE-P10-NEXT: mr r3, r4
2872 ; LE-P10-NEXT: bl callee2@notoc
2873 ; LE-P10-NEXT: lwz r4, 16(r30)
2874 ; LE-P10-NEXT: add r3, r4, r3
2875 ; LE-P10-NEXT: addi r1, r1, 64
2876 ; LE-P10-NEXT: ld r0, 16(r1)
2877 ; LE-P10-NEXT: clrldi r3, r3, 32
2878 ; LE-P10-NEXT: hashchk r0, -24(r1)
2879 ; LE-P10-NEXT: ld r30, -16(r1) # 8-byte Folded Reload
2880 ; LE-P10-NEXT: mtlr r0
2882 ; LE-P10-NEXT: .LBB2_2:
2883 ; LE-P10-NEXT: li r3, 0
2886 ; LE-P9-LABEL: shrinkwrap:
2887 ; LE-P9: # %bb.0: # %entry
2888 ; LE-P9-NEXT: cmpldi r3, 0
2889 ; LE-P9-NEXT: beq cr0, .LBB2_2
2890 ; LE-P9-NEXT: # %bb.1: # %if.end
2891 ; LE-P9-NEXT: mflr r0
2892 ; LE-P9-NEXT: std r30, -16(r1) # 8-byte Folded Spill
2893 ; LE-P9-NEXT: stdu r1, -64(r1)
2894 ; LE-P9-NEXT: std r0, 80(r1)
2895 ; LE-P9-NEXT: hashst r0, -24(r1)
2896 ; LE-P9-NEXT: mr r30, r3
2897 ; LE-P9-NEXT: lwz r4, 12(r3)
2898 ; LE-P9-NEXT: stw r4, 36(r1)
2899 ; LE-P9-NEXT: addi r4, r1, 36
2900 ; LE-P9-NEXT: mr r3, r4
2901 ; LE-P9-NEXT: bl callee2
2903 ; LE-P9-NEXT: lwz r4, 16(r30)
2904 ; LE-P9-NEXT: add r3, r4, r3
2905 ; LE-P9-NEXT: addi r1, r1, 64
2906 ; LE-P9-NEXT: ld r0, 16(r1)
2907 ; LE-P9-NEXT: clrldi r3, r3, 32
2908 ; LE-P9-NEXT: mtlr r0
2909 ; LE-P9-NEXT: hashchk r0, -24(r1)
2910 ; LE-P9-NEXT: ld r30, -16(r1) # 8-byte Folded Reload
2912 ; LE-P9-NEXT: .LBB2_2:
2913 ; LE-P9-NEXT: li r3, 0
2916 ; LE-P8-LABEL: shrinkwrap:
2917 ; LE-P8: # %bb.0: # %entry
2918 ; LE-P8-NEXT: cmpldi r3, 0
2919 ; LE-P8-NEXT: beq cr0, .LBB2_2
2920 ; LE-P8-NEXT: # %bb.1: # %if.end
2921 ; LE-P8-NEXT: mflr r0
2922 ; LE-P8-NEXT: std r30, -16(r1) # 8-byte Folded Spill
2923 ; LE-P8-NEXT: stdu r1, -64(r1)
2924 ; LE-P8-NEXT: std r0, 80(r1)
2925 ; LE-P8-NEXT: hashst r0, -24(r1)
2926 ; LE-P8-NEXT: mr r30, r3
2927 ; LE-P8-NEXT: lwz r4, 12(r3)
2928 ; LE-P8-NEXT: stw r4, 36(r1)
2929 ; LE-P8-NEXT: addi r4, r1, 36
2930 ; LE-P8-NEXT: mr r3, r4
2931 ; LE-P8-NEXT: bl callee2
2933 ; LE-P8-NEXT: lwz r4, 16(r30)
2934 ; LE-P8-NEXT: add r3, r4, r3
2935 ; LE-P8-NEXT: addi r1, r1, 64
2936 ; LE-P8-NEXT: ld r0, 16(r1)
2937 ; LE-P8-NEXT: clrldi r3, r3, 32
2938 ; LE-P8-NEXT: hashchk r0, -24(r1)
2939 ; LE-P8-NEXT: mtlr r0
2940 ; LE-P8-NEXT: ld r30, -16(r1) # 8-byte Folded Reload
2942 ; LE-P8-NEXT: .LBB2_2:
2943 ; LE-P8-NEXT: li r3, 0
2946 ; LE-P10-O0-LABEL: shrinkwrap:
2947 ; LE-P10-O0: # %bb.0: # %entry
2948 ; LE-P10-O0-NEXT: mflr r0
2949 ; LE-P10-O0-NEXT: std r0, 16(r1)
2950 ; LE-P10-O0-NEXT: hashst r0, -8(r1)
2951 ; LE-P10-O0-NEXT: stdu r1, -64(r1)
2952 ; LE-P10-O0-NEXT: mr. r4, r3
2953 ; LE-P10-O0-NEXT: std r4, 40(r1) # 8-byte Folded Spill
2954 ; LE-P10-O0-NEXT: li r3, 0
2955 ; LE-P10-O0-NEXT: stw r3, 48(r1) # 4-byte Folded Spill
2956 ; LE-P10-O0-NEXT: beq cr0, .LBB2_2
2957 ; LE-P10-O0-NEXT: # %bb.1: # %if.end
2958 ; LE-P10-O0-NEXT: ld r3, 40(r1) # 8-byte Folded Reload
2959 ; LE-P10-O0-NEXT: lwz r3, 12(r3)
2960 ; LE-P10-O0-NEXT: stw r3, 52(r1)
2961 ; LE-P10-O0-NEXT: addi r3, r1, 52
2962 ; LE-P10-O0-NEXT: bl callee2@notoc
2963 ; LE-P10-O0-NEXT: mr r4, r3
2964 ; LE-P10-O0-NEXT: ld r3, 40(r1) # 8-byte Folded Reload
2965 ; LE-P10-O0-NEXT: # kill: def $r4 killed $r4 killed $x4
2966 ; LE-P10-O0-NEXT: lwz r3, 16(r3)
2967 ; LE-P10-O0-NEXT: add r3, r3, r4
2968 ; LE-P10-O0-NEXT: stw r3, 48(r1) # 4-byte Folded Spill
2969 ; LE-P10-O0-NEXT: .LBB2_2: # %return
2970 ; LE-P10-O0-NEXT: lwz r3, 48(r1) # 4-byte Folded Reload
2971 ; LE-P10-O0-NEXT: clrldi r3, r3, 32
2972 ; LE-P10-O0-NEXT: addi r1, r1, 64
2973 ; LE-P10-O0-NEXT: ld r0, 16(r1)
2974 ; LE-P10-O0-NEXT: hashchk r0, -8(r1)
2975 ; LE-P10-O0-NEXT: mtlr r0
2976 ; LE-P10-O0-NEXT: blr
2978 ; LE-P9-O0-LABEL: shrinkwrap:
2979 ; LE-P9-O0: # %bb.0: # %entry
2980 ; LE-P9-O0-NEXT: mflr r0
2981 ; LE-P9-O0-NEXT: stdu r1, -128(r1)
2982 ; LE-P9-O0-NEXT: std r0, 144(r1)
2983 ; LE-P9-O0-NEXT: hashst r0, -8(r1)
2984 ; LE-P9-O0-NEXT: mr. r4, r3
2985 ; LE-P9-O0-NEXT: std r4, 104(r1) # 8-byte Folded Spill
2986 ; LE-P9-O0-NEXT: li r3, 0
2987 ; LE-P9-O0-NEXT: stw r3, 112(r1) # 4-byte Folded Spill
2988 ; LE-P9-O0-NEXT: beq cr0, .LBB2_2
2989 ; LE-P9-O0-NEXT: # %bb.1: # %if.end
2990 ; LE-P9-O0-NEXT: ld r3, 104(r1) # 8-byte Folded Reload
2991 ; LE-P9-O0-NEXT: lwz r3, 12(r3)
2992 ; LE-P9-O0-NEXT: stw r3, 116(r1)
2993 ; LE-P9-O0-NEXT: addi r3, r1, 116
2994 ; LE-P9-O0-NEXT: bl callee2
2995 ; LE-P9-O0-NEXT: nop
2996 ; LE-P9-O0-NEXT: mr r4, r3
2997 ; LE-P9-O0-NEXT: ld r3, 104(r1) # 8-byte Folded Reload
2998 ; LE-P9-O0-NEXT: lwz r3, 16(r3)
2999 ; LE-P9-O0-NEXT: add r3, r3, r4
3000 ; LE-P9-O0-NEXT: stw r3, 112(r1) # 4-byte Folded Spill
3001 ; LE-P9-O0-NEXT: .LBB2_2: # %return
3002 ; LE-P9-O0-NEXT: lwz r3, 112(r1) # 4-byte Folded Reload
3003 ; LE-P9-O0-NEXT: clrldi r3, r3, 32
3004 ; LE-P9-O0-NEXT: addi r1, r1, 128
3005 ; LE-P9-O0-NEXT: ld r0, 16(r1)
3006 ; LE-P9-O0-NEXT: hashchk r0, -8(r1)
3007 ; LE-P9-O0-NEXT: mtlr r0
3008 ; LE-P9-O0-NEXT: blr
3010 ; LE-P8-O0-LABEL: shrinkwrap:
3011 ; LE-P8-O0: # %bb.0: # %entry
3012 ; LE-P8-O0-NEXT: mflr r0
3013 ; LE-P8-O0-NEXT: stdu r1, -128(r1)
3014 ; LE-P8-O0-NEXT: std r0, 144(r1)
3015 ; LE-P8-O0-NEXT: hashst r0, -8(r1)
3016 ; LE-P8-O0-NEXT: mr. r4, r3
3017 ; LE-P8-O0-NEXT: std r4, 104(r1) # 8-byte Folded Spill
3018 ; LE-P8-O0-NEXT: li r3, 0
3019 ; LE-P8-O0-NEXT: stw r3, 112(r1) # 4-byte Folded Spill
3020 ; LE-P8-O0-NEXT: beq cr0, .LBB2_2
3021 ; LE-P8-O0-NEXT: # %bb.1: # %if.end
3022 ; LE-P8-O0-NEXT: ld r3, 104(r1) # 8-byte Folded Reload
3023 ; LE-P8-O0-NEXT: lwz r3, 12(r3)
3024 ; LE-P8-O0-NEXT: stw r3, 116(r1)
3025 ; LE-P8-O0-NEXT: addi r3, r1, 116
3026 ; LE-P8-O0-NEXT: bl callee2
3027 ; LE-P8-O0-NEXT: nop
3028 ; LE-P8-O0-NEXT: mr r4, r3
3029 ; LE-P8-O0-NEXT: ld r3, 104(r1) # 8-byte Folded Reload
3030 ; LE-P8-O0-NEXT: lwz r3, 16(r3)
3031 ; LE-P8-O0-NEXT: add r3, r3, r4
3032 ; LE-P8-O0-NEXT: stw r3, 112(r1) # 4-byte Folded Spill
3033 ; LE-P8-O0-NEXT: .LBB2_2: # %return
3034 ; LE-P8-O0-NEXT: lwz r3, 112(r1) # 4-byte Folded Reload
3035 ; LE-P8-O0-NEXT: clrldi r3, r3, 32
3036 ; LE-P8-O0-NEXT: addi r1, r1, 128
3037 ; LE-P8-O0-NEXT: ld r0, 16(r1)
3038 ; LE-P8-O0-NEXT: hashchk r0, -8(r1)
3039 ; LE-P8-O0-NEXT: mtlr r0
3040 ; LE-P8-O0-NEXT: blr
3042 ; BE-P10-LABEL: shrinkwrap:
3043 ; BE-P10: # %bb.0: # %entry
3044 ; BE-P10-NEXT: cmpldi r3, 0
3045 ; BE-P10-NEXT: beq cr0, .LBB2_2
3046 ; BE-P10-NEXT: # %bb.1: # %if.end
3047 ; BE-P10-NEXT: mflr r0
3048 ; BE-P10-NEXT: std r0, 16(r1)
3049 ; BE-P10-NEXT: hashst r0, -24(r1)
3050 ; BE-P10-NEXT: stdu r1, -144(r1)
3051 ; BE-P10-NEXT: lwz r4, 12(r3)
3052 ; BE-P10-NEXT: std r30, 128(r1) # 8-byte Folded Spill
3053 ; BE-P10-NEXT: mr r30, r3
3054 ; BE-P10-NEXT: stw r4, 116(r1)
3055 ; BE-P10-NEXT: addi r4, r1, 116
3056 ; BE-P10-NEXT: mr r3, r4
3057 ; BE-P10-NEXT: bl callee2
3059 ; BE-P10-NEXT: lwz r4, 16(r30)
3060 ; BE-P10-NEXT: ld r30, 128(r1) # 8-byte Folded Reload
3061 ; BE-P10-NEXT: add r3, r4, r3
3062 ; BE-P10-NEXT: addi r1, r1, 144
3063 ; BE-P10-NEXT: ld r0, 16(r1)
3064 ; BE-P10-NEXT: clrldi r3, r3, 32
3065 ; BE-P10-NEXT: hashchk r0, -24(r1)
3066 ; BE-P10-NEXT: mtlr r0
3068 ; BE-P10-NEXT: .LBB2_2:
3069 ; BE-P10-NEXT: li r3, 0
3072 ; BE-P9-LABEL: shrinkwrap:
3073 ; BE-P9: # %bb.0: # %entry
3074 ; BE-P9-NEXT: cmpldi r3, 0
3075 ; BE-P9-NEXT: beq cr0, .LBB2_2
3076 ; BE-P9-NEXT: # %bb.1: # %if.end
3077 ; BE-P9-NEXT: mflr r0
3078 ; BE-P9-NEXT: stdu r1, -144(r1)
3079 ; BE-P9-NEXT: std r0, 160(r1)
3080 ; BE-P9-NEXT: hashst r0, -24(r1)
3081 ; BE-P9-NEXT: std r30, 128(r1) # 8-byte Folded Spill
3082 ; BE-P9-NEXT: mr r30, r3
3083 ; BE-P9-NEXT: lwz r4, 12(r3)
3084 ; BE-P9-NEXT: stw r4, 116(r1)
3085 ; BE-P9-NEXT: addi r4, r1, 116
3086 ; BE-P9-NEXT: mr r3, r4
3087 ; BE-P9-NEXT: bl callee2
3089 ; BE-P9-NEXT: lwz r4, 16(r30)
3090 ; BE-P9-NEXT: ld r30, 128(r1) # 8-byte Folded Reload
3091 ; BE-P9-NEXT: add r3, r4, r3
3092 ; BE-P9-NEXT: addi r1, r1, 144
3093 ; BE-P9-NEXT: ld r0, 16(r1)
3094 ; BE-P9-NEXT: clrldi r3, r3, 32
3095 ; BE-P9-NEXT: mtlr r0
3096 ; BE-P9-NEXT: hashchk r0, -24(r1)
3098 ; BE-P9-NEXT: .LBB2_2:
3099 ; BE-P9-NEXT: li r3, 0
3102 ; BE-P8-LABEL: shrinkwrap:
3103 ; BE-P8: # %bb.0: # %entry
3104 ; BE-P8-NEXT: cmpldi r3, 0
3105 ; BE-P8-NEXT: beq cr0, .LBB2_2
3106 ; BE-P8-NEXT: # %bb.1: # %if.end
3107 ; BE-P8-NEXT: mflr r0
3108 ; BE-P8-NEXT: stdu r1, -144(r1)
3109 ; BE-P8-NEXT: std r0, 160(r1)
3110 ; BE-P8-NEXT: hashst r0, -24(r1)
3111 ; BE-P8-NEXT: std r30, 128(r1) # 8-byte Folded Spill
3112 ; BE-P8-NEXT: mr r30, r3
3113 ; BE-P8-NEXT: lwz r4, 12(r3)
3114 ; BE-P8-NEXT: stw r4, 116(r1)
3115 ; BE-P8-NEXT: addi r4, r1, 116
3116 ; BE-P8-NEXT: mr r3, r4
3117 ; BE-P8-NEXT: bl callee2
3119 ; BE-P8-NEXT: lwz r4, 16(r30)
3120 ; BE-P8-NEXT: ld r30, 128(r1) # 8-byte Folded Reload
3121 ; BE-P8-NEXT: add r3, r4, r3
3122 ; BE-P8-NEXT: addi r1, r1, 144
3123 ; BE-P8-NEXT: ld r0, 16(r1)
3124 ; BE-P8-NEXT: clrldi r3, r3, 32
3125 ; BE-P8-NEXT: hashchk r0, -24(r1)
3126 ; BE-P8-NEXT: mtlr r0
3128 ; BE-P8-NEXT: .LBB2_2:
3129 ; BE-P8-NEXT: li r3, 0
3132 ; BE-32BIT-P10-LABEL: shrinkwrap:
3133 ; BE-32BIT-P10: # %bb.0: # %entry
3134 ; BE-32BIT-P10-NEXT: mflr r0
3135 ; BE-32BIT-P10-NEXT: stw r0, 4(r1)
3136 ; BE-32BIT-P10-NEXT: hashst r0, -16(r1)
3137 ; BE-32BIT-P10-NEXT: stwu r1, -32(r1)
3138 ; BE-32BIT-P10-NEXT: cmplwi r3, 0
3139 ; BE-32BIT-P10-NEXT: stw r30, 24(r1) # 4-byte Folded Spill
3140 ; BE-32BIT-P10-NEXT: beq cr0, .LBB2_2
3141 ; BE-32BIT-P10-NEXT: # %bb.1: # %if.end
3142 ; BE-32BIT-P10-NEXT: lwz r4, 12(r3)
3143 ; BE-32BIT-P10-NEXT: mr r30, r3
3144 ; BE-32BIT-P10-NEXT: stw r4, 12(r1)
3145 ; BE-32BIT-P10-NEXT: addi r4, r1, 12
3146 ; BE-32BIT-P10-NEXT: mr r3, r4
3147 ; BE-32BIT-P10-NEXT: bl callee2
3148 ; BE-32BIT-P10-NEXT: lwz r4, 16(r30)
3149 ; BE-32BIT-P10-NEXT: add r3, r4, r3
3150 ; BE-32BIT-P10-NEXT: b .LBB2_3
3151 ; BE-32BIT-P10-NEXT: .LBB2_2:
3152 ; BE-32BIT-P10-NEXT: li r3, 0
3153 ; BE-32BIT-P10-NEXT: .LBB2_3: # %return
3154 ; BE-32BIT-P10-NEXT: lwz r30, 24(r1) # 4-byte Folded Reload
3155 ; BE-32BIT-P10-NEXT: lwz r0, 36(r1)
3156 ; BE-32BIT-P10-NEXT: addi r1, r1, 32
3157 ; BE-32BIT-P10-NEXT: hashchk r0, -16(r1)
3158 ; BE-32BIT-P10-NEXT: mtlr r0
3159 ; BE-32BIT-P10-NEXT: blr
3161 ; BE-32BIT-P9-LABEL: shrinkwrap:
3162 ; BE-32BIT-P9: # %bb.0: # %entry
3163 ; BE-32BIT-P9-NEXT: mflr r0
3164 ; BE-32BIT-P9-NEXT: stwu r1, -32(r1)
3165 ; BE-32BIT-P9-NEXT: cmplwi r3, 0
3166 ; BE-32BIT-P9-NEXT: stw r0, 36(r1)
3167 ; BE-32BIT-P9-NEXT: hashst r0, -16(r1)
3168 ; BE-32BIT-P9-NEXT: stw r30, 24(r1) # 4-byte Folded Spill
3169 ; BE-32BIT-P9-NEXT: beq cr0, .LBB2_2
3170 ; BE-32BIT-P9-NEXT: # %bb.1: # %if.end
3171 ; BE-32BIT-P9-NEXT: lwz r4, 12(r3)
3172 ; BE-32BIT-P9-NEXT: mr r30, r3
3173 ; BE-32BIT-P9-NEXT: stw r4, 12(r1)
3174 ; BE-32BIT-P9-NEXT: addi r4, r1, 12
3175 ; BE-32BIT-P9-NEXT: mr r3, r4
3176 ; BE-32BIT-P9-NEXT: bl callee2
3177 ; BE-32BIT-P9-NEXT: lwz r4, 16(r30)
3178 ; BE-32BIT-P9-NEXT: add r3, r4, r3
3179 ; BE-32BIT-P9-NEXT: b .LBB2_3
3180 ; BE-32BIT-P9-NEXT: .LBB2_2:
3181 ; BE-32BIT-P9-NEXT: li r3, 0
3182 ; BE-32BIT-P9-NEXT: .LBB2_3: # %return
3183 ; BE-32BIT-P9-NEXT: lwz r30, 24(r1) # 4-byte Folded Reload
3184 ; BE-32BIT-P9-NEXT: lwz r0, 36(r1)
3185 ; BE-32BIT-P9-NEXT: addi r1, r1, 32
3186 ; BE-32BIT-P9-NEXT: mtlr r0
3187 ; BE-32BIT-P9-NEXT: hashchk r0, -16(r1)
3188 ; BE-32BIT-P9-NEXT: blr
3190 ; BE-32BIT-P8-LABEL: shrinkwrap:
3191 ; BE-32BIT-P8: # %bb.0: # %entry
3192 ; BE-32BIT-P8-NEXT: mflr r0
3193 ; BE-32BIT-P8-NEXT: stwu r1, -32(r1)
3194 ; BE-32BIT-P8-NEXT: cmplwi r3, 0
3195 ; BE-32BIT-P8-NEXT: stw r0, 36(r1)
3196 ; BE-32BIT-P8-NEXT: hashst r0, -16(r1)
3197 ; BE-32BIT-P8-NEXT: stw r30, 24(r1) # 4-byte Folded Spill
3198 ; BE-32BIT-P8-NEXT: beq cr0, .LBB2_2
3199 ; BE-32BIT-P8-NEXT: # %bb.1: # %if.end
3200 ; BE-32BIT-P8-NEXT: lwz r4, 12(r3)
3201 ; BE-32BIT-P8-NEXT: mr r30, r3
3202 ; BE-32BIT-P8-NEXT: stw r4, 12(r1)
3203 ; BE-32BIT-P8-NEXT: addi r4, r1, 12
3204 ; BE-32BIT-P8-NEXT: mr r3, r4
3205 ; BE-32BIT-P8-NEXT: bl callee2
3206 ; BE-32BIT-P8-NEXT: lwz r4, 16(r30)
3207 ; BE-32BIT-P8-NEXT: add r3, r4, r3
3208 ; BE-32BIT-P8-NEXT: b .LBB2_3
3209 ; BE-32BIT-P8-NEXT: .LBB2_2:
3210 ; BE-32BIT-P8-NEXT: li r3, 0
3211 ; BE-32BIT-P8-NEXT: .LBB2_3: # %return
3212 ; BE-32BIT-P8-NEXT: lwz r30, 24(r1) # 4-byte Folded Reload
3213 ; BE-32BIT-P8-NEXT: lwz r0, 36(r1)
3214 ; BE-32BIT-P8-NEXT: addi r1, r1, 32
3215 ; BE-32BIT-P8-NEXT: mtlr r0
3216 ; BE-32BIT-P8-NEXT: hashchk r0, -16(r1)
3217 ; BE-32BIT-P8-NEXT: blr
3219 ; LE-P10-PRIV-LABEL: shrinkwrap:
3220 ; LE-P10-PRIV: # %bb.0: # %entry
3221 ; LE-P10-PRIV-NEXT: cmpldi r3, 0
3222 ; LE-P10-PRIV-NEXT: beq cr0, .LBB2_2
3223 ; LE-P10-PRIV-NEXT: # %bb.1: # %if.end
3224 ; LE-P10-PRIV-NEXT: mflr r0
3225 ; LE-P10-PRIV-NEXT: std r30, -16(r1) # 8-byte Folded Spill
3226 ; LE-P10-PRIV-NEXT: std r0, 16(r1)
3227 ; LE-P10-PRIV-NEXT: hashstp r0, -24(r1)
3228 ; LE-P10-PRIV-NEXT: stdu r1, -64(r1)
3229 ; LE-P10-PRIV-NEXT: lwz r4, 12(r3)
3230 ; LE-P10-PRIV-NEXT: mr r30, r3
3231 ; LE-P10-PRIV-NEXT: stw r4, 36(r1)
3232 ; LE-P10-PRIV-NEXT: addi r4, r1, 36
3233 ; LE-P10-PRIV-NEXT: mr r3, r4
3234 ; LE-P10-PRIV-NEXT: bl callee2@notoc
3235 ; LE-P10-PRIV-NEXT: lwz r4, 16(r30)
3236 ; LE-P10-PRIV-NEXT: add r3, r4, r3
3237 ; LE-P10-PRIV-NEXT: addi r1, r1, 64
3238 ; LE-P10-PRIV-NEXT: ld r0, 16(r1)
3239 ; LE-P10-PRIV-NEXT: clrldi r3, r3, 32
3240 ; LE-P10-PRIV-NEXT: hashchkp r0, -24(r1)
3241 ; LE-P10-PRIV-NEXT: ld r30, -16(r1) # 8-byte Folded Reload
3242 ; LE-P10-PRIV-NEXT: mtlr r0
3243 ; LE-P10-PRIV-NEXT: blr
3244 ; LE-P10-PRIV-NEXT: .LBB2_2:
3245 ; LE-P10-PRIV-NEXT: li r3, 0
3246 ; LE-P10-PRIV-NEXT: blr
3248 ; LE-P9-PRIV-LABEL: shrinkwrap:
3249 ; LE-P9-PRIV: # %bb.0: # %entry
3250 ; LE-P9-PRIV-NEXT: cmpldi r3, 0
3251 ; LE-P9-PRIV-NEXT: beq cr0, .LBB2_2
3252 ; LE-P9-PRIV-NEXT: # %bb.1: # %if.end
3253 ; LE-P9-PRIV-NEXT: mflr r0
3254 ; LE-P9-PRIV-NEXT: std r30, -16(r1) # 8-byte Folded Spill
3255 ; LE-P9-PRIV-NEXT: stdu r1, -64(r1)
3256 ; LE-P9-PRIV-NEXT: std r0, 80(r1)
3257 ; LE-P9-PRIV-NEXT: hashstp r0, -24(r1)
3258 ; LE-P9-PRIV-NEXT: mr r30, r3
3259 ; LE-P9-PRIV-NEXT: lwz r4, 12(r3)
3260 ; LE-P9-PRIV-NEXT: stw r4, 36(r1)
3261 ; LE-P9-PRIV-NEXT: addi r4, r1, 36
3262 ; LE-P9-PRIV-NEXT: mr r3, r4
3263 ; LE-P9-PRIV-NEXT: bl callee2
3264 ; LE-P9-PRIV-NEXT: nop
3265 ; LE-P9-PRIV-NEXT: lwz r4, 16(r30)
3266 ; LE-P9-PRIV-NEXT: add r3, r4, r3
3267 ; LE-P9-PRIV-NEXT: addi r1, r1, 64
3268 ; LE-P9-PRIV-NEXT: ld r0, 16(r1)
3269 ; LE-P9-PRIV-NEXT: clrldi r3, r3, 32
3270 ; LE-P9-PRIV-NEXT: mtlr r0
3271 ; LE-P9-PRIV-NEXT: hashchkp r0, -24(r1)
3272 ; LE-P9-PRIV-NEXT: ld r30, -16(r1) # 8-byte Folded Reload
3273 ; LE-P9-PRIV-NEXT: blr
3274 ; LE-P9-PRIV-NEXT: .LBB2_2:
3275 ; LE-P9-PRIV-NEXT: li r3, 0
3276 ; LE-P9-PRIV-NEXT: blr
3278 ; LE-P8-PRIV-LABEL: shrinkwrap:
3279 ; LE-P8-PRIV: # %bb.0: # %entry
3280 ; LE-P8-PRIV-NEXT: cmpldi r3, 0
3281 ; LE-P8-PRIV-NEXT: beq cr0, .LBB2_2
3282 ; LE-P8-PRIV-NEXT: # %bb.1: # %if.end
3283 ; LE-P8-PRIV-NEXT: mflr r0
3284 ; LE-P8-PRIV-NEXT: std r30, -16(r1) # 8-byte Folded Spill
3285 ; LE-P8-PRIV-NEXT: stdu r1, -64(r1)
3286 ; LE-P8-PRIV-NEXT: std r0, 80(r1)
3287 ; LE-P8-PRIV-NEXT: hashstp r0, -24(r1)
3288 ; LE-P8-PRIV-NEXT: mr r30, r3
3289 ; LE-P8-PRIV-NEXT: lwz r4, 12(r3)
3290 ; LE-P8-PRIV-NEXT: stw r4, 36(r1)
3291 ; LE-P8-PRIV-NEXT: addi r4, r1, 36
3292 ; LE-P8-PRIV-NEXT: mr r3, r4
3293 ; LE-P8-PRIV-NEXT: bl callee2
3294 ; LE-P8-PRIV-NEXT: nop
3295 ; LE-P8-PRIV-NEXT: lwz r4, 16(r30)
3296 ; LE-P8-PRIV-NEXT: add r3, r4, r3
3297 ; LE-P8-PRIV-NEXT: addi r1, r1, 64
3298 ; LE-P8-PRIV-NEXT: ld r0, 16(r1)
3299 ; LE-P8-PRIV-NEXT: clrldi r3, r3, 32
3300 ; LE-P8-PRIV-NEXT: hashchkp r0, -24(r1)
3301 ; LE-P8-PRIV-NEXT: mtlr r0
3302 ; LE-P8-PRIV-NEXT: ld r30, -16(r1) # 8-byte Folded Reload
3303 ; LE-P8-PRIV-NEXT: blr
3304 ; LE-P8-PRIV-NEXT: .LBB2_2:
3305 ; LE-P8-PRIV-NEXT: li r3, 0
3306 ; LE-P8-PRIV-NEXT: blr
3308 ; BE-P10-PRIV-LABEL: shrinkwrap:
3309 ; BE-P10-PRIV: # %bb.0: # %entry
3310 ; BE-P10-PRIV-NEXT: cmpldi r3, 0
3311 ; BE-P10-PRIV-NEXT: beq cr0, .LBB2_2
3312 ; BE-P10-PRIV-NEXT: # %bb.1: # %if.end
3313 ; BE-P10-PRIV-NEXT: mflr r0
3314 ; BE-P10-PRIV-NEXT: std r0, 16(r1)
3315 ; BE-P10-PRIV-NEXT: hashstp r0, -24(r1)
3316 ; BE-P10-PRIV-NEXT: stdu r1, -144(r1)
3317 ; BE-P10-PRIV-NEXT: lwz r4, 12(r3)
3318 ; BE-P10-PRIV-NEXT: std r30, 128(r1) # 8-byte Folded Spill
3319 ; BE-P10-PRIV-NEXT: mr r30, r3
3320 ; BE-P10-PRIV-NEXT: stw r4, 116(r1)
3321 ; BE-P10-PRIV-NEXT: addi r4, r1, 116
3322 ; BE-P10-PRIV-NEXT: mr r3, r4
3323 ; BE-P10-PRIV-NEXT: bl callee2
3324 ; BE-P10-PRIV-NEXT: nop
3325 ; BE-P10-PRIV-NEXT: lwz r4, 16(r30)
3326 ; BE-P10-PRIV-NEXT: ld r30, 128(r1) # 8-byte Folded Reload
3327 ; BE-P10-PRIV-NEXT: add r3, r4, r3
3328 ; BE-P10-PRIV-NEXT: addi r1, r1, 144
3329 ; BE-P10-PRIV-NEXT: ld r0, 16(r1)
3330 ; BE-P10-PRIV-NEXT: clrldi r3, r3, 32
3331 ; BE-P10-PRIV-NEXT: hashchkp r0, -24(r1)
3332 ; BE-P10-PRIV-NEXT: mtlr r0
3333 ; BE-P10-PRIV-NEXT: blr
3334 ; BE-P10-PRIV-NEXT: .LBB2_2:
3335 ; BE-P10-PRIV-NEXT: li r3, 0
3336 ; BE-P10-PRIV-NEXT: blr
3338 ; BE-P9-PRIV-LABEL: shrinkwrap:
3339 ; BE-P9-PRIV: # %bb.0: # %entry
3340 ; BE-P9-PRIV-NEXT: cmpldi r3, 0
3341 ; BE-P9-PRIV-NEXT: beq cr0, .LBB2_2
3342 ; BE-P9-PRIV-NEXT: # %bb.1: # %if.end
3343 ; BE-P9-PRIV-NEXT: mflr r0
3344 ; BE-P9-PRIV-NEXT: stdu r1, -144(r1)
3345 ; BE-P9-PRIV-NEXT: std r0, 160(r1)
3346 ; BE-P9-PRIV-NEXT: hashstp r0, -24(r1)
3347 ; BE-P9-PRIV-NEXT: std r30, 128(r1) # 8-byte Folded Spill
3348 ; BE-P9-PRIV-NEXT: mr r30, r3
3349 ; BE-P9-PRIV-NEXT: lwz r4, 12(r3)
3350 ; BE-P9-PRIV-NEXT: stw r4, 116(r1)
3351 ; BE-P9-PRIV-NEXT: addi r4, r1, 116
3352 ; BE-P9-PRIV-NEXT: mr r3, r4
3353 ; BE-P9-PRIV-NEXT: bl callee2
3354 ; BE-P9-PRIV-NEXT: nop
3355 ; BE-P9-PRIV-NEXT: lwz r4, 16(r30)
3356 ; BE-P9-PRIV-NEXT: ld r30, 128(r1) # 8-byte Folded Reload
3357 ; BE-P9-PRIV-NEXT: add r3, r4, r3
3358 ; BE-P9-PRIV-NEXT: addi r1, r1, 144
3359 ; BE-P9-PRIV-NEXT: ld r0, 16(r1)
3360 ; BE-P9-PRIV-NEXT: clrldi r3, r3, 32
3361 ; BE-P9-PRIV-NEXT: mtlr r0
3362 ; BE-P9-PRIV-NEXT: hashchkp r0, -24(r1)
3363 ; BE-P9-PRIV-NEXT: blr
3364 ; BE-P9-PRIV-NEXT: .LBB2_2:
3365 ; BE-P9-PRIV-NEXT: li r3, 0
3366 ; BE-P9-PRIV-NEXT: blr
3368 ; BE-P8-PRIV-LABEL: shrinkwrap:
3369 ; BE-P8-PRIV: # %bb.0: # %entry
3370 ; BE-P8-PRIV-NEXT: cmpldi r3, 0
3371 ; BE-P8-PRIV-NEXT: beq cr0, .LBB2_2
3372 ; BE-P8-PRIV-NEXT: # %bb.1: # %if.end
3373 ; BE-P8-PRIV-NEXT: mflr r0
3374 ; BE-P8-PRIV-NEXT: stdu r1, -144(r1)
3375 ; BE-P8-PRIV-NEXT: std r0, 160(r1)
3376 ; BE-P8-PRIV-NEXT: hashstp r0, -24(r1)
3377 ; BE-P8-PRIV-NEXT: std r30, 128(r1) # 8-byte Folded Spill
3378 ; BE-P8-PRIV-NEXT: mr r30, r3
3379 ; BE-P8-PRIV-NEXT: lwz r4, 12(r3)
3380 ; BE-P8-PRIV-NEXT: stw r4, 116(r1)
3381 ; BE-P8-PRIV-NEXT: addi r4, r1, 116
3382 ; BE-P8-PRIV-NEXT: mr r3, r4
3383 ; BE-P8-PRIV-NEXT: bl callee2
3384 ; BE-P8-PRIV-NEXT: nop
3385 ; BE-P8-PRIV-NEXT: lwz r4, 16(r30)
3386 ; BE-P8-PRIV-NEXT: ld r30, 128(r1) # 8-byte Folded Reload
3387 ; BE-P8-PRIV-NEXT: add r3, r4, r3
3388 ; BE-P8-PRIV-NEXT: addi r1, r1, 144
3389 ; BE-P8-PRIV-NEXT: ld r0, 16(r1)
3390 ; BE-P8-PRIV-NEXT: clrldi r3, r3, 32
3391 ; BE-P8-PRIV-NEXT: hashchkp r0, -24(r1)
3392 ; BE-P8-PRIV-NEXT: mtlr r0
3393 ; BE-P8-PRIV-NEXT: blr
3394 ; BE-P8-PRIV-NEXT: .LBB2_2:
3395 ; BE-P8-PRIV-NEXT: li r3, 0
3396 ; BE-P8-PRIV-NEXT: blr
3398 %local = alloca i32, align 4
3399 %tobool.not = icmp eq ptr %in, null
3400 br i1 %tobool.not, label %return, label %if.end
3402 if.end: ; preds = %entry
3403 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
3404 %arrayidx = getelementptr inbounds i32, ptr %in, i64 3
3405 %0 = load i32, ptr %arrayidx, align 4
3406 store i32 %0, ptr %local, align 4
3407 %call = call zeroext i32 @callee2(ptr nonnull %local)
3408 %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 4
3409 %1 = load i32, ptr %arrayidx1, align 4
3410 %add = add i32 %1, %call
3411 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
3414 return: ; preds = %entry, %if.end
3415 %retval.0 = phi i32 [ %add, %if.end ], [ 0, %entry ]
3419 define dso_local zeroext i32 @aligned(ptr nocapture readonly %in) #0 {
3420 ; LE-P10-LABEL: aligned:
3421 ; LE-P10: # %bb.0: # %entry
3422 ; LE-P10-NEXT: mflr r0
3423 ; LE-P10-NEXT: std r30, -16(r1)
3424 ; LE-P10-NEXT: lis r12, -1
3425 ; LE-P10-NEXT: mr r30, r1
3426 ; LE-P10-NEXT: std r0, 16(r1)
3427 ; LE-P10-NEXT: hashst r0, -32(r1)
3428 ; LE-P10-NEXT: clrldi r0, r1, 49
3429 ; LE-P10-NEXT: subc r0, r12, r0
3430 ; LE-P10-NEXT: stdux r1, r1, r0
3431 ; LE-P10-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3432 ; LE-P10-NEXT: mr r29, r3
3433 ; LE-P10-NEXT: lwz r3, 4(r3)
3434 ; LE-P10-NEXT: lis r4, 0
3435 ; LE-P10-NEXT: addi r5, r1, 32764
3436 ; LE-P10-NEXT: ori r4, r4, 65500
3437 ; LE-P10-NEXT: stwx r3, r1, r4
3438 ; LE-P10-NEXT: lwz r3, 12(r29)
3439 ; LE-P10-NEXT: lis r4, 0
3440 ; LE-P10-NEXT: ori r4, r4, 32768
3441 ; LE-P10-NEXT: stwx r3, r1, r4
3442 ; LE-P10-NEXT: lwz r3, 20(r29)
3443 ; LE-P10-NEXT: lis r4, 0
3444 ; LE-P10-NEXT: ori r4, r4, 65500
3445 ; LE-P10-NEXT: add r4, r1, r4
3446 ; LE-P10-NEXT: stw r3, 32764(r1)
3447 ; LE-P10-NEXT: lis r3, 0
3448 ; LE-P10-NEXT: ori r3, r3, 32768
3449 ; LE-P10-NEXT: add r3, r1, r3
3450 ; LE-P10-NEXT: bl callee3@notoc
3451 ; LE-P10-NEXT: lwz r4, 16(r29)
3452 ; LE-P10-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
3453 ; LE-P10-NEXT: add r3, r4, r3
3454 ; LE-P10-NEXT: clrldi r3, r3, 32
3455 ; LE-P10-NEXT: mr r1, r30
3456 ; LE-P10-NEXT: ld r0, 16(r1)
3457 ; LE-P10-NEXT: ld r30, -16(r1)
3458 ; LE-P10-NEXT: mtlr r0
3459 ; LE-P10-NEXT: hashchk r0, -32(r1)
3462 ; LE-P9-LABEL: aligned:
3463 ; LE-P9: # %bb.0: # %entry
3464 ; LE-P9-NEXT: mflr r0
3465 ; LE-P9-NEXT: std r30, -16(r1)
3466 ; LE-P9-NEXT: lis r12, -1
3467 ; LE-P9-NEXT: mr r30, r1
3468 ; LE-P9-NEXT: std r0, 16(r1)
3469 ; LE-P9-NEXT: hashst r0, -32(r1)
3470 ; LE-P9-NEXT: clrldi r0, r1, 49
3471 ; LE-P9-NEXT: subc r0, r12, r0
3472 ; LE-P9-NEXT: stdux r1, r1, r0
3473 ; LE-P9-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3474 ; LE-P9-NEXT: mr r29, r3
3475 ; LE-P9-NEXT: lwz r3, 4(r3)
3476 ; LE-P9-NEXT: lis r4, 0
3477 ; LE-P9-NEXT: addi r5, r1, 32764
3478 ; LE-P9-NEXT: ori r4, r4, 65500
3479 ; LE-P9-NEXT: stwx r3, r1, r4
3480 ; LE-P9-NEXT: lwz r3, 12(r29)
3481 ; LE-P9-NEXT: lis r4, 0
3482 ; LE-P9-NEXT: ori r4, r4, 32768
3483 ; LE-P9-NEXT: stwx r3, r1, r4
3484 ; LE-P9-NEXT: lwz r3, 20(r29)
3485 ; LE-P9-NEXT: lis r4, 0
3486 ; LE-P9-NEXT: ori r4, r4, 65500
3487 ; LE-P9-NEXT: stw r3, 32764(r1)
3488 ; LE-P9-NEXT: lis r3, 0
3489 ; LE-P9-NEXT: add r4, r1, r4
3490 ; LE-P9-NEXT: ori r3, r3, 32768
3491 ; LE-P9-NEXT: add r3, r1, r3
3492 ; LE-P9-NEXT: bl callee3
3494 ; LE-P9-NEXT: lwz r4, 16(r29)
3495 ; LE-P9-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
3496 ; LE-P9-NEXT: add r3, r4, r3
3497 ; LE-P9-NEXT: clrldi r3, r3, 32
3498 ; LE-P9-NEXT: mr r1, r30
3499 ; LE-P9-NEXT: ld r0, 16(r1)
3500 ; LE-P9-NEXT: ld r30, -16(r1)
3501 ; LE-P9-NEXT: mtlr r0
3502 ; LE-P9-NEXT: hashchk r0, -32(r1)
3505 ; LE-P8-LABEL: aligned:
3506 ; LE-P8: # %bb.0: # %entry
3507 ; LE-P8-NEXT: mflr r0
3508 ; LE-P8-NEXT: std r30, -16(r1)
3509 ; LE-P8-NEXT: lis r12, -1
3510 ; LE-P8-NEXT: mr r30, r1
3511 ; LE-P8-NEXT: std r0, 16(r1)
3512 ; LE-P8-NEXT: hashst r0, -32(r1)
3513 ; LE-P8-NEXT: clrldi r0, r1, 49
3514 ; LE-P8-NEXT: subc r0, r12, r0
3515 ; LE-P8-NEXT: stdux r1, r1, r0
3516 ; LE-P8-NEXT: lis r4, 0
3517 ; LE-P8-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3518 ; LE-P8-NEXT: mr r29, r3
3519 ; LE-P8-NEXT: lwz r3, 4(r3)
3520 ; LE-P8-NEXT: addi r5, r1, 32764
3521 ; LE-P8-NEXT: ori r4, r4, 65500
3522 ; LE-P8-NEXT: stwx r3, r1, r4
3523 ; LE-P8-NEXT: lis r4, 0
3524 ; LE-P8-NEXT: lwz r3, 12(r29)
3525 ; LE-P8-NEXT: ori r4, r4, 32768
3526 ; LE-P8-NEXT: stwx r3, r1, r4
3527 ; LE-P8-NEXT: lwz r3, 20(r29)
3528 ; LE-P8-NEXT: lis r4, 0
3529 ; LE-P8-NEXT: ori r4, r4, 65500
3530 ; LE-P8-NEXT: stw r3, 32764(r1)
3531 ; LE-P8-NEXT: lis r3, 0
3532 ; LE-P8-NEXT: add r4, r1, r4
3533 ; LE-P8-NEXT: ori r3, r3, 32768
3534 ; LE-P8-NEXT: add r3, r1, r3
3535 ; LE-P8-NEXT: bl callee3
3537 ; LE-P8-NEXT: lwz r4, 16(r29)
3538 ; LE-P8-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
3539 ; LE-P8-NEXT: add r3, r4, r3
3540 ; LE-P8-NEXT: clrldi r3, r3, 32
3541 ; LE-P8-NEXT: mr r1, r30
3542 ; LE-P8-NEXT: ld r0, 16(r1)
3543 ; LE-P8-NEXT: ld r30, -16(r1)
3544 ; LE-P8-NEXT: hashchk r0, -32(r1)
3545 ; LE-P8-NEXT: mtlr r0
3548 ; LE-P10-O0-LABEL: aligned:
3549 ; LE-P10-O0: # %bb.0: # %entry
3550 ; LE-P10-O0-NEXT: mflr r0
3551 ; LE-P10-O0-NEXT: std r30, -16(r1)
3552 ; LE-P10-O0-NEXT: std r0, 16(r1)
3553 ; LE-P10-O0-NEXT: hashst r0, -24(r1)
3554 ; LE-P10-O0-NEXT: mr r30, r1
3555 ; LE-P10-O0-NEXT: clrldi r0, r1, 49
3556 ; LE-P10-O0-NEXT: lis r12, -1
3557 ; LE-P10-O0-NEXT: subc r0, r12, r0
3558 ; LE-P10-O0-NEXT: stdux r1, r1, r0
3559 ; LE-P10-O0-NEXT: std r3, 32752(r1) # 8-byte Folded Spill
3560 ; LE-P10-O0-NEXT: lwz r4, 4(r3)
3561 ; LE-P10-O0-NEXT: lis r5, 0
3562 ; LE-P10-O0-NEXT: ori r5, r5, 65508
3563 ; LE-P10-O0-NEXT: stwx r4, r1, r5
3564 ; LE-P10-O0-NEXT: lwz r4, 12(r3)
3565 ; LE-P10-O0-NEXT: lis r5, 0
3566 ; LE-P10-O0-NEXT: ori r5, r5, 32768
3567 ; LE-P10-O0-NEXT: stwx r4, r1, r5
3568 ; LE-P10-O0-NEXT: lwz r3, 20(r3)
3569 ; LE-P10-O0-NEXT: stw r3, 32764(r1)
3570 ; LE-P10-O0-NEXT: lis r3, 0
3571 ; LE-P10-O0-NEXT: ori r3, r3, 32768
3572 ; LE-P10-O0-NEXT: add r3, r1, r3
3573 ; LE-P10-O0-NEXT: lis r4, 0
3574 ; LE-P10-O0-NEXT: ori r4, r4, 65508
3575 ; LE-P10-O0-NEXT: add r4, r1, r4
3576 ; LE-P10-O0-NEXT: addi r5, r1, 32764
3577 ; LE-P10-O0-NEXT: bl callee3@notoc
3578 ; LE-P10-O0-NEXT: mr r4, r3
3579 ; LE-P10-O0-NEXT: ld r3, 32752(r1) # 8-byte Folded Reload
3580 ; LE-P10-O0-NEXT: # kill: def $r4 killed $r4 killed $x4
3581 ; LE-P10-O0-NEXT: lwz r3, 16(r3)
3582 ; LE-P10-O0-NEXT: add r3, r3, r4
3583 ; LE-P10-O0-NEXT: clrldi r3, r3, 32
3584 ; LE-P10-O0-NEXT: mr r1, r30
3585 ; LE-P10-O0-NEXT: ld r0, 16(r1)
3586 ; LE-P10-O0-NEXT: ld r30, -16(r1)
3587 ; LE-P10-O0-NEXT: hashchk r0, -24(r1)
3588 ; LE-P10-O0-NEXT: mtlr r0
3589 ; LE-P10-O0-NEXT: blr
3591 ; LE-P9-O0-LABEL: aligned:
3592 ; LE-P9-O0: # %bb.0: # %entry
3593 ; LE-P9-O0-NEXT: mflr r0
3594 ; LE-P9-O0-NEXT: std r30, -16(r1)
3595 ; LE-P9-O0-NEXT: mr r30, r1
3596 ; LE-P9-O0-NEXT: std r0, 16(r1)
3597 ; LE-P9-O0-NEXT: hashst r0, -24(r1)
3598 ; LE-P9-O0-NEXT: clrldi r0, r1, 49
3599 ; LE-P9-O0-NEXT: lis r12, -1
3600 ; LE-P9-O0-NEXT: subc r0, r12, r0
3601 ; LE-P9-O0-NEXT: stdux r1, r1, r0
3602 ; LE-P9-O0-NEXT: std r3, 32752(r1) # 8-byte Folded Spill
3603 ; LE-P9-O0-NEXT: lwz r4, 4(r3)
3604 ; LE-P9-O0-NEXT: lis r5, 0
3605 ; LE-P9-O0-NEXT: ori r5, r5, 65508
3606 ; LE-P9-O0-NEXT: stwx r4, r1, r5
3607 ; LE-P9-O0-NEXT: lwz r4, 12(r3)
3608 ; LE-P9-O0-NEXT: lis r5, 0
3609 ; LE-P9-O0-NEXT: ori r5, r5, 32768
3610 ; LE-P9-O0-NEXT: stwx r4, r1, r5
3611 ; LE-P9-O0-NEXT: lwz r3, 20(r3)
3612 ; LE-P9-O0-NEXT: stw r3, 32764(r1)
3613 ; LE-P9-O0-NEXT: lis r3, 0
3614 ; LE-P9-O0-NEXT: ori r3, r3, 32768
3615 ; LE-P9-O0-NEXT: add r3, r1, r3
3616 ; LE-P9-O0-NEXT: lis r4, 0
3617 ; LE-P9-O0-NEXT: ori r4, r4, 65508
3618 ; LE-P9-O0-NEXT: add r4, r1, r4
3619 ; LE-P9-O0-NEXT: addi r5, r1, 32764
3620 ; LE-P9-O0-NEXT: bl callee3
3621 ; LE-P9-O0-NEXT: nop
3622 ; LE-P9-O0-NEXT: mr r4, r3
3623 ; LE-P9-O0-NEXT: ld r3, 32752(r1) # 8-byte Folded Reload
3624 ; LE-P9-O0-NEXT: lwz r3, 16(r3)
3625 ; LE-P9-O0-NEXT: add r3, r3, r4
3626 ; LE-P9-O0-NEXT: clrldi r3, r3, 32
3627 ; LE-P9-O0-NEXT: mr r1, r30
3628 ; LE-P9-O0-NEXT: ld r0, 16(r1)
3629 ; LE-P9-O0-NEXT: ld r30, -16(r1)
3630 ; LE-P9-O0-NEXT: hashchk r0, -24(r1)
3631 ; LE-P9-O0-NEXT: mtlr r0
3632 ; LE-P9-O0-NEXT: blr
3634 ; LE-P8-O0-LABEL: aligned:
3635 ; LE-P8-O0: # %bb.0: # %entry
3636 ; LE-P8-O0-NEXT: mflr r0
3637 ; LE-P8-O0-NEXT: std r30, -16(r1)
3638 ; LE-P8-O0-NEXT: mr r30, r1
3639 ; LE-P8-O0-NEXT: std r0, 16(r1)
3640 ; LE-P8-O0-NEXT: hashst r0, -24(r1)
3641 ; LE-P8-O0-NEXT: clrldi r0, r1, 49
3642 ; LE-P8-O0-NEXT: lis r12, -1
3643 ; LE-P8-O0-NEXT: subc r0, r12, r0
3644 ; LE-P8-O0-NEXT: stdux r1, r1, r0
3645 ; LE-P8-O0-NEXT: std r3, 32752(r1) # 8-byte Folded Spill
3646 ; LE-P8-O0-NEXT: lwz r4, 4(r3)
3647 ; LE-P8-O0-NEXT: lis r5, 0
3648 ; LE-P8-O0-NEXT: ori r5, r5, 65508
3649 ; LE-P8-O0-NEXT: stwx r4, r1, r5
3650 ; LE-P8-O0-NEXT: lwz r4, 12(r3)
3651 ; LE-P8-O0-NEXT: lis r5, 0
3652 ; LE-P8-O0-NEXT: ori r5, r5, 32768
3653 ; LE-P8-O0-NEXT: stwx r4, r1, r5
3654 ; LE-P8-O0-NEXT: lwz r3, 20(r3)
3655 ; LE-P8-O0-NEXT: stw r3, 32764(r1)
3656 ; LE-P8-O0-NEXT: lis r3, 0
3657 ; LE-P8-O0-NEXT: ori r3, r3, 32768
3658 ; LE-P8-O0-NEXT: add r3, r1, r3
3659 ; LE-P8-O0-NEXT: lis r4, 0
3660 ; LE-P8-O0-NEXT: ori r4, r4, 65508
3661 ; LE-P8-O0-NEXT: add r4, r1, r4
3662 ; LE-P8-O0-NEXT: addi r5, r1, 32764
3663 ; LE-P8-O0-NEXT: bl callee3
3664 ; LE-P8-O0-NEXT: nop
3665 ; LE-P8-O0-NEXT: mr r4, r3
3666 ; LE-P8-O0-NEXT: ld r3, 32752(r1) # 8-byte Folded Reload
3667 ; LE-P8-O0-NEXT: lwz r3, 16(r3)
3668 ; LE-P8-O0-NEXT: add r3, r3, r4
3669 ; LE-P8-O0-NEXT: clrldi r3, r3, 32
3670 ; LE-P8-O0-NEXT: mr r1, r30
3671 ; LE-P8-O0-NEXT: ld r0, 16(r1)
3672 ; LE-P8-O0-NEXT: ld r30, -16(r1)
3673 ; LE-P8-O0-NEXT: hashchk r0, -24(r1)
3674 ; LE-P8-O0-NEXT: mtlr r0
3675 ; LE-P8-O0-NEXT: blr
3677 ; BE-P10-LABEL: aligned:
3678 ; BE-P10: # %bb.0: # %entry
3679 ; BE-P10-NEXT: mflr r0
3680 ; BE-P10-NEXT: std r30, -16(r1)
3681 ; BE-P10-NEXT: lis r12, -1
3682 ; BE-P10-NEXT: mr r30, r1
3683 ; BE-P10-NEXT: std r0, 16(r1)
3684 ; BE-P10-NEXT: hashst r0, -32(r1)
3685 ; BE-P10-NEXT: clrldi r0, r1, 49
3686 ; BE-P10-NEXT: subc r0, r12, r0
3687 ; BE-P10-NEXT: stdux r1, r1, r0
3688 ; BE-P10-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3689 ; BE-P10-NEXT: mr r29, r3
3690 ; BE-P10-NEXT: lwz r3, 4(r3)
3691 ; BE-P10-NEXT: lis r4, 0
3692 ; BE-P10-NEXT: addi r5, r1, 32764
3693 ; BE-P10-NEXT: ori r4, r4, 65500
3694 ; BE-P10-NEXT: stwx r3, r1, r4
3695 ; BE-P10-NEXT: lwz r3, 12(r29)
3696 ; BE-P10-NEXT: lis r4, 0
3697 ; BE-P10-NEXT: ori r4, r4, 32768
3698 ; BE-P10-NEXT: stwx r3, r1, r4
3699 ; BE-P10-NEXT: lwz r3, 20(r29)
3700 ; BE-P10-NEXT: lis r4, 0
3701 ; BE-P10-NEXT: ori r4, r4, 65500
3702 ; BE-P10-NEXT: add r4, r1, r4
3703 ; BE-P10-NEXT: stw r3, 32764(r1)
3704 ; BE-P10-NEXT: lis r3, 0
3705 ; BE-P10-NEXT: ori r3, r3, 32768
3706 ; BE-P10-NEXT: add r3, r1, r3
3707 ; BE-P10-NEXT: bl callee3
3709 ; BE-P10-NEXT: lwz r4, 16(r29)
3710 ; BE-P10-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
3711 ; BE-P10-NEXT: add r3, r4, r3
3712 ; BE-P10-NEXT: clrldi r3, r3, 32
3713 ; BE-P10-NEXT: mr r1, r30
3714 ; BE-P10-NEXT: ld r0, 16(r1)
3715 ; BE-P10-NEXT: ld r30, -16(r1)
3716 ; BE-P10-NEXT: mtlr r0
3717 ; BE-P10-NEXT: hashchk r0, -32(r1)
3720 ; BE-P9-LABEL: aligned:
3721 ; BE-P9: # %bb.0: # %entry
3722 ; BE-P9-NEXT: mflr r0
3723 ; BE-P9-NEXT: std r30, -16(r1)
3724 ; BE-P9-NEXT: lis r12, -1
3725 ; BE-P9-NEXT: mr r30, r1
3726 ; BE-P9-NEXT: std r0, 16(r1)
3727 ; BE-P9-NEXT: hashst r0, -32(r1)
3728 ; BE-P9-NEXT: clrldi r0, r1, 49
3729 ; BE-P9-NEXT: subc r0, r12, r0
3730 ; BE-P9-NEXT: stdux r1, r1, r0
3731 ; BE-P9-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3732 ; BE-P9-NEXT: mr r29, r3
3733 ; BE-P9-NEXT: lwz r3, 4(r3)
3734 ; BE-P9-NEXT: lis r4, 0
3735 ; BE-P9-NEXT: addi r5, r1, 32764
3736 ; BE-P9-NEXT: ori r4, r4, 65500
3737 ; BE-P9-NEXT: stwx r3, r1, r4
3738 ; BE-P9-NEXT: lwz r3, 12(r29)
3739 ; BE-P9-NEXT: lis r4, 0
3740 ; BE-P9-NEXT: ori r4, r4, 32768
3741 ; BE-P9-NEXT: stwx r3, r1, r4
3742 ; BE-P9-NEXT: lwz r3, 20(r29)
3743 ; BE-P9-NEXT: lis r4, 0
3744 ; BE-P9-NEXT: ori r4, r4, 65500
3745 ; BE-P9-NEXT: stw r3, 32764(r1)
3746 ; BE-P9-NEXT: lis r3, 0
3747 ; BE-P9-NEXT: add r4, r1, r4
3748 ; BE-P9-NEXT: ori r3, r3, 32768
3749 ; BE-P9-NEXT: add r3, r1, r3
3750 ; BE-P9-NEXT: bl callee3
3752 ; BE-P9-NEXT: lwz r4, 16(r29)
3753 ; BE-P9-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
3754 ; BE-P9-NEXT: add r3, r4, r3
3755 ; BE-P9-NEXT: clrldi r3, r3, 32
3756 ; BE-P9-NEXT: mr r1, r30
3757 ; BE-P9-NEXT: ld r0, 16(r1)
3758 ; BE-P9-NEXT: ld r30, -16(r1)
3759 ; BE-P9-NEXT: mtlr r0
3760 ; BE-P9-NEXT: hashchk r0, -32(r1)
3763 ; BE-P8-LABEL: aligned:
3764 ; BE-P8: # %bb.0: # %entry
3765 ; BE-P8-NEXT: mflr r0
3766 ; BE-P8-NEXT: std r30, -16(r1)
3767 ; BE-P8-NEXT: lis r12, -1
3768 ; BE-P8-NEXT: mr r30, r1
3769 ; BE-P8-NEXT: std r0, 16(r1)
3770 ; BE-P8-NEXT: hashst r0, -32(r1)
3771 ; BE-P8-NEXT: clrldi r0, r1, 49
3772 ; BE-P8-NEXT: subc r0, r12, r0
3773 ; BE-P8-NEXT: stdux r1, r1, r0
3774 ; BE-P8-NEXT: lis r4, 0
3775 ; BE-P8-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3776 ; BE-P8-NEXT: mr r29, r3
3777 ; BE-P8-NEXT: lwz r3, 4(r3)
3778 ; BE-P8-NEXT: addi r5, r1, 32764
3779 ; BE-P8-NEXT: ori r4, r4, 65500
3780 ; BE-P8-NEXT: stwx r3, r1, r4
3781 ; BE-P8-NEXT: lis r4, 0
3782 ; BE-P8-NEXT: lwz r3, 12(r29)
3783 ; BE-P8-NEXT: ori r4, r4, 32768
3784 ; BE-P8-NEXT: stwx r3, r1, r4
3785 ; BE-P8-NEXT: lwz r3, 20(r29)
3786 ; BE-P8-NEXT: lis r4, 0
3787 ; BE-P8-NEXT: ori r4, r4, 65500
3788 ; BE-P8-NEXT: stw r3, 32764(r1)
3789 ; BE-P8-NEXT: lis r3, 0
3790 ; BE-P8-NEXT: add r4, r1, r4
3791 ; BE-P8-NEXT: ori r3, r3, 32768
3792 ; BE-P8-NEXT: add r3, r1, r3
3793 ; BE-P8-NEXT: bl callee3
3795 ; BE-P8-NEXT: lwz r4, 16(r29)
3796 ; BE-P8-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
3797 ; BE-P8-NEXT: add r3, r4, r3
3798 ; BE-P8-NEXT: clrldi r3, r3, 32
3799 ; BE-P8-NEXT: mr r1, r30
3800 ; BE-P8-NEXT: ld r0, 16(r1)
3801 ; BE-P8-NEXT: ld r30, -16(r1)
3802 ; BE-P8-NEXT: hashchk r0, -32(r1)
3803 ; BE-P8-NEXT: mtlr r0
3806 ; BE-32BIT-P10-LABEL: aligned:
3807 ; BE-32BIT-P10: # %bb.0: # %entry
3808 ; BE-32BIT-P10-NEXT: mflr r0
3809 ; BE-32BIT-P10-NEXT: lis r12, -1
3810 ; BE-32BIT-P10-NEXT: stw r0, 4(r1)
3811 ; BE-32BIT-P10-NEXT: hashst r0, -24(r1)
3812 ; BE-32BIT-P10-NEXT: clrlwi r0, r1, 17
3813 ; BE-32BIT-P10-NEXT: subc r0, r12, r0
3814 ; BE-32BIT-P10-NEXT: stwux r1, r1, r0
3815 ; BE-32BIT-P10-NEXT: sub r0, r1, r0
3816 ; BE-32BIT-P10-NEXT: lis r4, 0
3817 ; BE-32BIT-P10-NEXT: addi r5, r1, 32764
3818 ; BE-32BIT-P10-NEXT: addic r0, r0, -8
3819 ; BE-32BIT-P10-NEXT: ori r4, r4, 65508
3820 ; BE-32BIT-P10-NEXT: stwx r30, 0, r0
3821 ; BE-32BIT-P10-NEXT: addic r30, r0, 8
3822 ; BE-32BIT-P10-NEXT: stw r29, -12(r30) # 4-byte Folded Spill
3823 ; BE-32BIT-P10-NEXT: mr r29, r3
3824 ; BE-32BIT-P10-NEXT: lwz r3, 4(r3)
3825 ; BE-32BIT-P10-NEXT: stwx r3, r1, r4
3826 ; BE-32BIT-P10-NEXT: lwz r3, 12(r29)
3827 ; BE-32BIT-P10-NEXT: lis r4, 0
3828 ; BE-32BIT-P10-NEXT: ori r4, r4, 32768
3829 ; BE-32BIT-P10-NEXT: stwx r3, r1, r4
3830 ; BE-32BIT-P10-NEXT: lwz r3, 20(r29)
3831 ; BE-32BIT-P10-NEXT: lis r4, 0
3832 ; BE-32BIT-P10-NEXT: ori r4, r4, 65508
3833 ; BE-32BIT-P10-NEXT: add r4, r1, r4
3834 ; BE-32BIT-P10-NEXT: stw r3, 32764(r1)
3835 ; BE-32BIT-P10-NEXT: lis r3, 0
3836 ; BE-32BIT-P10-NEXT: ori r3, r3, 32768
3837 ; BE-32BIT-P10-NEXT: add r3, r1, r3
3838 ; BE-32BIT-P10-NEXT: bl callee3
3839 ; BE-32BIT-P10-NEXT: lwz r4, 16(r29)
3840 ; BE-32BIT-P10-NEXT: lwz r29, -12(r30) # 4-byte Folded Reload
3841 ; BE-32BIT-P10-NEXT: mr r0, r31
3842 ; BE-32BIT-P10-NEXT: add r3, r4, r3
3843 ; BE-32BIT-P10-NEXT: lwz r31, 0(r1)
3844 ; BE-32BIT-P10-NEXT: lwz r30, -8(r31)
3845 ; BE-32BIT-P10-NEXT: mr r1, r31
3846 ; BE-32BIT-P10-NEXT: mr r31, r0
3847 ; BE-32BIT-P10-NEXT: lwz r0, 4(r1)
3848 ; BE-32BIT-P10-NEXT: hashchk r0, -24(r1)
3849 ; BE-32BIT-P10-NEXT: mtlr r0
3850 ; BE-32BIT-P10-NEXT: blr
3852 ; BE-32BIT-P9-LABEL: aligned:
3853 ; BE-32BIT-P9: # %bb.0: # %entry
3854 ; BE-32BIT-P9-NEXT: mflr r0
3855 ; BE-32BIT-P9-NEXT: lis r12, -1
3856 ; BE-32BIT-P9-NEXT: stw r0, 4(r1)
3857 ; BE-32BIT-P9-NEXT: hashst r0, -24(r1)
3858 ; BE-32BIT-P9-NEXT: clrlwi r0, r1, 17
3859 ; BE-32BIT-P9-NEXT: subc r0, r12, r0
3860 ; BE-32BIT-P9-NEXT: stwux r1, r1, r0
3861 ; BE-32BIT-P9-NEXT: sub r0, r1, r0
3862 ; BE-32BIT-P9-NEXT: lis r4, 0
3863 ; BE-32BIT-P9-NEXT: addi r5, r1, 32764
3864 ; BE-32BIT-P9-NEXT: addic r0, r0, -8
3865 ; BE-32BIT-P9-NEXT: ori r4, r4, 65508
3866 ; BE-32BIT-P9-NEXT: stwx r30, 0, r0
3867 ; BE-32BIT-P9-NEXT: addic r30, r0, 8
3868 ; BE-32BIT-P9-NEXT: stw r29, -12(r30) # 4-byte Folded Spill
3869 ; BE-32BIT-P9-NEXT: mr r29, r3
3870 ; BE-32BIT-P9-NEXT: lwz r3, 4(r3)
3871 ; BE-32BIT-P9-NEXT: stwx r3, r1, r4
3872 ; BE-32BIT-P9-NEXT: lwz r3, 12(r29)
3873 ; BE-32BIT-P9-NEXT: lis r4, 0
3874 ; BE-32BIT-P9-NEXT: ori r4, r4, 32768
3875 ; BE-32BIT-P9-NEXT: stwx r3, r1, r4
3876 ; BE-32BIT-P9-NEXT: lwz r3, 20(r29)
3877 ; BE-32BIT-P9-NEXT: lis r4, 0
3878 ; BE-32BIT-P9-NEXT: ori r4, r4, 65508
3879 ; BE-32BIT-P9-NEXT: stw r3, 32764(r1)
3880 ; BE-32BIT-P9-NEXT: lis r3, 0
3881 ; BE-32BIT-P9-NEXT: add r4, r1, r4
3882 ; BE-32BIT-P9-NEXT: ori r3, r3, 32768
3883 ; BE-32BIT-P9-NEXT: add r3, r1, r3
3884 ; BE-32BIT-P9-NEXT: bl callee3
3885 ; BE-32BIT-P9-NEXT: lwz r4, 16(r29)
3886 ; BE-32BIT-P9-NEXT: lwz r29, -12(r30) # 4-byte Folded Reload
3887 ; BE-32BIT-P9-NEXT: mr r0, r31
3888 ; BE-32BIT-P9-NEXT: lwz r31, 0(r1)
3889 ; BE-32BIT-P9-NEXT: lwz r30, -8(r31)
3890 ; BE-32BIT-P9-NEXT: add r3, r4, r3
3891 ; BE-32BIT-P9-NEXT: mr r1, r31
3892 ; BE-32BIT-P9-NEXT: mr r31, r0
3893 ; BE-32BIT-P9-NEXT: lwz r0, 4(r1)
3894 ; BE-32BIT-P9-NEXT: mtlr r0
3895 ; BE-32BIT-P9-NEXT: hashchk r0, -24(r1)
3896 ; BE-32BIT-P9-NEXT: blr
3898 ; BE-32BIT-P8-LABEL: aligned:
3899 ; BE-32BIT-P8: # %bb.0: # %entry
3900 ; BE-32BIT-P8-NEXT: mflr r0
3901 ; BE-32BIT-P8-NEXT: lis r12, -1
3902 ; BE-32BIT-P8-NEXT: stw r0, 4(r1)
3903 ; BE-32BIT-P8-NEXT: hashst r0, -24(r1)
3904 ; BE-32BIT-P8-NEXT: clrlwi r0, r1, 17
3905 ; BE-32BIT-P8-NEXT: subc r0, r12, r0
3906 ; BE-32BIT-P8-NEXT: stwux r1, r1, r0
3907 ; BE-32BIT-P8-NEXT: sub r0, r1, r0
3908 ; BE-32BIT-P8-NEXT: lis r4, 0
3909 ; BE-32BIT-P8-NEXT: addi r5, r1, 32764
3910 ; BE-32BIT-P8-NEXT: addic r0, r0, -8
3911 ; BE-32BIT-P8-NEXT: ori r4, r4, 65508
3912 ; BE-32BIT-P8-NEXT: stwx r30, 0, r0
3913 ; BE-32BIT-P8-NEXT: addic r30, r0, 8
3914 ; BE-32BIT-P8-NEXT: stw r29, -12(r30) # 4-byte Folded Spill
3915 ; BE-32BIT-P8-NEXT: mr r29, r3
3916 ; BE-32BIT-P8-NEXT: lwz r3, 4(r3)
3917 ; BE-32BIT-P8-NEXT: stwx r3, r1, r4
3918 ; BE-32BIT-P8-NEXT: lis r4, 0
3919 ; BE-32BIT-P8-NEXT: lwz r3, 12(r29)
3920 ; BE-32BIT-P8-NEXT: ori r4, r4, 32768
3921 ; BE-32BIT-P8-NEXT: stwx r3, r1, r4
3922 ; BE-32BIT-P8-NEXT: lwz r3, 20(r29)
3923 ; BE-32BIT-P8-NEXT: lis r4, 0
3924 ; BE-32BIT-P8-NEXT: ori r4, r4, 65508
3925 ; BE-32BIT-P8-NEXT: stw r3, 32764(r1)
3926 ; BE-32BIT-P8-NEXT: lis r3, 0
3927 ; BE-32BIT-P8-NEXT: add r4, r1, r4
3928 ; BE-32BIT-P8-NEXT: ori r3, r3, 32768
3929 ; BE-32BIT-P8-NEXT: add r3, r1, r3
3930 ; BE-32BIT-P8-NEXT: bl callee3
3931 ; BE-32BIT-P8-NEXT: lwz r4, 16(r29)
3932 ; BE-32BIT-P8-NEXT: lwz r29, -12(r30) # 4-byte Folded Reload
3933 ; BE-32BIT-P8-NEXT: add r3, r4, r3
3934 ; BE-32BIT-P8-NEXT: mr r0, r31
3935 ; BE-32BIT-P8-NEXT: lwz r31, 0(r1)
3936 ; BE-32BIT-P8-NEXT: lwz r30, -8(r31)
3937 ; BE-32BIT-P8-NEXT: mr r1, r31
3938 ; BE-32BIT-P8-NEXT: mr r31, r0
3939 ; BE-32BIT-P8-NEXT: lwz r0, 4(r1)
3940 ; BE-32BIT-P8-NEXT: hashchk r0, -24(r1)
3941 ; BE-32BIT-P8-NEXT: mtlr r0
3942 ; BE-32BIT-P8-NEXT: blr
3944 ; LE-P10-PRIV-LABEL: aligned:
3945 ; LE-P10-PRIV: # %bb.0: # %entry
3946 ; LE-P10-PRIV-NEXT: mflr r0
3947 ; LE-P10-PRIV-NEXT: std r30, -16(r1)
3948 ; LE-P10-PRIV-NEXT: lis r12, -1
3949 ; LE-P10-PRIV-NEXT: mr r30, r1
3950 ; LE-P10-PRIV-NEXT: std r0, 16(r1)
3951 ; LE-P10-PRIV-NEXT: hashstp r0, -32(r1)
3952 ; LE-P10-PRIV-NEXT: clrldi r0, r1, 49
3953 ; LE-P10-PRIV-NEXT: subc r0, r12, r0
3954 ; LE-P10-PRIV-NEXT: stdux r1, r1, r0
3955 ; LE-P10-PRIV-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3956 ; LE-P10-PRIV-NEXT: mr r29, r3
3957 ; LE-P10-PRIV-NEXT: lwz r3, 4(r3)
3958 ; LE-P10-PRIV-NEXT: lis r4, 0
3959 ; LE-P10-PRIV-NEXT: addi r5, r1, 32764
3960 ; LE-P10-PRIV-NEXT: ori r4, r4, 65500
3961 ; LE-P10-PRIV-NEXT: stwx r3, r1, r4
3962 ; LE-P10-PRIV-NEXT: lwz r3, 12(r29)
3963 ; LE-P10-PRIV-NEXT: lis r4, 0
3964 ; LE-P10-PRIV-NEXT: ori r4, r4, 32768
3965 ; LE-P10-PRIV-NEXT: stwx r3, r1, r4
3966 ; LE-P10-PRIV-NEXT: lwz r3, 20(r29)
3967 ; LE-P10-PRIV-NEXT: lis r4, 0
3968 ; LE-P10-PRIV-NEXT: ori r4, r4, 65500
3969 ; LE-P10-PRIV-NEXT: add r4, r1, r4
3970 ; LE-P10-PRIV-NEXT: stw r3, 32764(r1)
3971 ; LE-P10-PRIV-NEXT: lis r3, 0
3972 ; LE-P10-PRIV-NEXT: ori r3, r3, 32768
3973 ; LE-P10-PRIV-NEXT: add r3, r1, r3
3974 ; LE-P10-PRIV-NEXT: bl callee3@notoc
3975 ; LE-P10-PRIV-NEXT: lwz r4, 16(r29)
3976 ; LE-P10-PRIV-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
3977 ; LE-P10-PRIV-NEXT: add r3, r4, r3
3978 ; LE-P10-PRIV-NEXT: clrldi r3, r3, 32
3979 ; LE-P10-PRIV-NEXT: mr r1, r30
3980 ; LE-P10-PRIV-NEXT: ld r0, 16(r1)
3981 ; LE-P10-PRIV-NEXT: ld r30, -16(r1)
3982 ; LE-P10-PRIV-NEXT: mtlr r0
3983 ; LE-P10-PRIV-NEXT: hashchkp r0, -32(r1)
3984 ; LE-P10-PRIV-NEXT: blr
3986 ; LE-P9-PRIV-LABEL: aligned:
3987 ; LE-P9-PRIV: # %bb.0: # %entry
3988 ; LE-P9-PRIV-NEXT: mflr r0
3989 ; LE-P9-PRIV-NEXT: std r30, -16(r1)
3990 ; LE-P9-PRIV-NEXT: lis r12, -1
3991 ; LE-P9-PRIV-NEXT: mr r30, r1
3992 ; LE-P9-PRIV-NEXT: std r0, 16(r1)
3993 ; LE-P9-PRIV-NEXT: hashstp r0, -32(r1)
3994 ; LE-P9-PRIV-NEXT: clrldi r0, r1, 49
3995 ; LE-P9-PRIV-NEXT: subc r0, r12, r0
3996 ; LE-P9-PRIV-NEXT: stdux r1, r1, r0
3997 ; LE-P9-PRIV-NEXT: std r29, -24(r30) # 8-byte Folded Spill
3998 ; LE-P9-PRIV-NEXT: mr r29, r3
3999 ; LE-P9-PRIV-NEXT: lwz r3, 4(r3)
4000 ; LE-P9-PRIV-NEXT: lis r4, 0
4001 ; LE-P9-PRIV-NEXT: addi r5, r1, 32764
4002 ; LE-P9-PRIV-NEXT: ori r4, r4, 65500
4003 ; LE-P9-PRIV-NEXT: stwx r3, r1, r4
4004 ; LE-P9-PRIV-NEXT: lwz r3, 12(r29)
4005 ; LE-P9-PRIV-NEXT: lis r4, 0
4006 ; LE-P9-PRIV-NEXT: ori r4, r4, 32768
4007 ; LE-P9-PRIV-NEXT: stwx r3, r1, r4
4008 ; LE-P9-PRIV-NEXT: lwz r3, 20(r29)
4009 ; LE-P9-PRIV-NEXT: lis r4, 0
4010 ; LE-P9-PRIV-NEXT: ori r4, r4, 65500
4011 ; LE-P9-PRIV-NEXT: stw r3, 32764(r1)
4012 ; LE-P9-PRIV-NEXT: lis r3, 0
4013 ; LE-P9-PRIV-NEXT: add r4, r1, r4
4014 ; LE-P9-PRIV-NEXT: ori r3, r3, 32768
4015 ; LE-P9-PRIV-NEXT: add r3, r1, r3
4016 ; LE-P9-PRIV-NEXT: bl callee3
4017 ; LE-P9-PRIV-NEXT: nop
4018 ; LE-P9-PRIV-NEXT: lwz r4, 16(r29)
4019 ; LE-P9-PRIV-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
4020 ; LE-P9-PRIV-NEXT: add r3, r4, r3
4021 ; LE-P9-PRIV-NEXT: clrldi r3, r3, 32
4022 ; LE-P9-PRIV-NEXT: mr r1, r30
4023 ; LE-P9-PRIV-NEXT: ld r0, 16(r1)
4024 ; LE-P9-PRIV-NEXT: ld r30, -16(r1)
4025 ; LE-P9-PRIV-NEXT: mtlr r0
4026 ; LE-P9-PRIV-NEXT: hashchkp r0, -32(r1)
4027 ; LE-P9-PRIV-NEXT: blr
4029 ; LE-P8-PRIV-LABEL: aligned:
4030 ; LE-P8-PRIV: # %bb.0: # %entry
4031 ; LE-P8-PRIV-NEXT: mflr r0
4032 ; LE-P8-PRIV-NEXT: std r30, -16(r1)
4033 ; LE-P8-PRIV-NEXT: lis r12, -1
4034 ; LE-P8-PRIV-NEXT: mr r30, r1
4035 ; LE-P8-PRIV-NEXT: std r0, 16(r1)
4036 ; LE-P8-PRIV-NEXT: hashstp r0, -32(r1)
4037 ; LE-P8-PRIV-NEXT: clrldi r0, r1, 49
4038 ; LE-P8-PRIV-NEXT: subc r0, r12, r0
4039 ; LE-P8-PRIV-NEXT: stdux r1, r1, r0
4040 ; LE-P8-PRIV-NEXT: lis r4, 0
4041 ; LE-P8-PRIV-NEXT: std r29, -24(r30) # 8-byte Folded Spill
4042 ; LE-P8-PRIV-NEXT: mr r29, r3
4043 ; LE-P8-PRIV-NEXT: lwz r3, 4(r3)
4044 ; LE-P8-PRIV-NEXT: addi r5, r1, 32764
4045 ; LE-P8-PRIV-NEXT: ori r4, r4, 65500
4046 ; LE-P8-PRIV-NEXT: stwx r3, r1, r4
4047 ; LE-P8-PRIV-NEXT: lis r4, 0
4048 ; LE-P8-PRIV-NEXT: lwz r3, 12(r29)
4049 ; LE-P8-PRIV-NEXT: ori r4, r4, 32768
4050 ; LE-P8-PRIV-NEXT: stwx r3, r1, r4
4051 ; LE-P8-PRIV-NEXT: lwz r3, 20(r29)
4052 ; LE-P8-PRIV-NEXT: lis r4, 0
4053 ; LE-P8-PRIV-NEXT: ori r4, r4, 65500
4054 ; LE-P8-PRIV-NEXT: stw r3, 32764(r1)
4055 ; LE-P8-PRIV-NEXT: lis r3, 0
4056 ; LE-P8-PRIV-NEXT: add r4, r1, r4
4057 ; LE-P8-PRIV-NEXT: ori r3, r3, 32768
4058 ; LE-P8-PRIV-NEXT: add r3, r1, r3
4059 ; LE-P8-PRIV-NEXT: bl callee3
4060 ; LE-P8-PRIV-NEXT: nop
4061 ; LE-P8-PRIV-NEXT: lwz r4, 16(r29)
4062 ; LE-P8-PRIV-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
4063 ; LE-P8-PRIV-NEXT: add r3, r4, r3
4064 ; LE-P8-PRIV-NEXT: clrldi r3, r3, 32
4065 ; LE-P8-PRIV-NEXT: mr r1, r30
4066 ; LE-P8-PRIV-NEXT: ld r0, 16(r1)
4067 ; LE-P8-PRIV-NEXT: ld r30, -16(r1)
4068 ; LE-P8-PRIV-NEXT: hashchkp r0, -32(r1)
4069 ; LE-P8-PRIV-NEXT: mtlr r0
4070 ; LE-P8-PRIV-NEXT: blr
4072 ; BE-P10-PRIV-LABEL: aligned:
4073 ; BE-P10-PRIV: # %bb.0: # %entry
4074 ; BE-P10-PRIV-NEXT: mflr r0
4075 ; BE-P10-PRIV-NEXT: std r30, -16(r1)
4076 ; BE-P10-PRIV-NEXT: lis r12, -1
4077 ; BE-P10-PRIV-NEXT: mr r30, r1
4078 ; BE-P10-PRIV-NEXT: std r0, 16(r1)
4079 ; BE-P10-PRIV-NEXT: hashstp r0, -32(r1)
4080 ; BE-P10-PRIV-NEXT: clrldi r0, r1, 49
4081 ; BE-P10-PRIV-NEXT: subc r0, r12, r0
4082 ; BE-P10-PRIV-NEXT: stdux r1, r1, r0
4083 ; BE-P10-PRIV-NEXT: std r29, -24(r30) # 8-byte Folded Spill
4084 ; BE-P10-PRIV-NEXT: mr r29, r3
4085 ; BE-P10-PRIV-NEXT: lwz r3, 4(r3)
4086 ; BE-P10-PRIV-NEXT: lis r4, 0
4087 ; BE-P10-PRIV-NEXT: addi r5, r1, 32764
4088 ; BE-P10-PRIV-NEXT: ori r4, r4, 65500
4089 ; BE-P10-PRIV-NEXT: stwx r3, r1, r4
4090 ; BE-P10-PRIV-NEXT: lwz r3, 12(r29)
4091 ; BE-P10-PRIV-NEXT: lis r4, 0
4092 ; BE-P10-PRIV-NEXT: ori r4, r4, 32768
4093 ; BE-P10-PRIV-NEXT: stwx r3, r1, r4
4094 ; BE-P10-PRIV-NEXT: lwz r3, 20(r29)
4095 ; BE-P10-PRIV-NEXT: lis r4, 0
4096 ; BE-P10-PRIV-NEXT: ori r4, r4, 65500
4097 ; BE-P10-PRIV-NEXT: add r4, r1, r4
4098 ; BE-P10-PRIV-NEXT: stw r3, 32764(r1)
4099 ; BE-P10-PRIV-NEXT: lis r3, 0
4100 ; BE-P10-PRIV-NEXT: ori r3, r3, 32768
4101 ; BE-P10-PRIV-NEXT: add r3, r1, r3
4102 ; BE-P10-PRIV-NEXT: bl callee3
4103 ; BE-P10-PRIV-NEXT: nop
4104 ; BE-P10-PRIV-NEXT: lwz r4, 16(r29)
4105 ; BE-P10-PRIV-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
4106 ; BE-P10-PRIV-NEXT: add r3, r4, r3
4107 ; BE-P10-PRIV-NEXT: clrldi r3, r3, 32
4108 ; BE-P10-PRIV-NEXT: mr r1, r30
4109 ; BE-P10-PRIV-NEXT: ld r0, 16(r1)
4110 ; BE-P10-PRIV-NEXT: ld r30, -16(r1)
4111 ; BE-P10-PRIV-NEXT: mtlr r0
4112 ; BE-P10-PRIV-NEXT: hashchkp r0, -32(r1)
4113 ; BE-P10-PRIV-NEXT: blr
4115 ; BE-P9-PRIV-LABEL: aligned:
4116 ; BE-P9-PRIV: # %bb.0: # %entry
4117 ; BE-P9-PRIV-NEXT: mflr r0
4118 ; BE-P9-PRIV-NEXT: std r30, -16(r1)
4119 ; BE-P9-PRIV-NEXT: lis r12, -1
4120 ; BE-P9-PRIV-NEXT: mr r30, r1
4121 ; BE-P9-PRIV-NEXT: std r0, 16(r1)
4122 ; BE-P9-PRIV-NEXT: hashstp r0, -32(r1)
4123 ; BE-P9-PRIV-NEXT: clrldi r0, r1, 49
4124 ; BE-P9-PRIV-NEXT: subc r0, r12, r0
4125 ; BE-P9-PRIV-NEXT: stdux r1, r1, r0
4126 ; BE-P9-PRIV-NEXT: std r29, -24(r30) # 8-byte Folded Spill
4127 ; BE-P9-PRIV-NEXT: mr r29, r3
4128 ; BE-P9-PRIV-NEXT: lwz r3, 4(r3)
4129 ; BE-P9-PRIV-NEXT: lis r4, 0
4130 ; BE-P9-PRIV-NEXT: addi r5, r1, 32764
4131 ; BE-P9-PRIV-NEXT: ori r4, r4, 65500
4132 ; BE-P9-PRIV-NEXT: stwx r3, r1, r4
4133 ; BE-P9-PRIV-NEXT: lwz r3, 12(r29)
4134 ; BE-P9-PRIV-NEXT: lis r4, 0
4135 ; BE-P9-PRIV-NEXT: ori r4, r4, 32768
4136 ; BE-P9-PRIV-NEXT: stwx r3, r1, r4
4137 ; BE-P9-PRIV-NEXT: lwz r3, 20(r29)
4138 ; BE-P9-PRIV-NEXT: lis r4, 0
4139 ; BE-P9-PRIV-NEXT: ori r4, r4, 65500
4140 ; BE-P9-PRIV-NEXT: stw r3, 32764(r1)
4141 ; BE-P9-PRIV-NEXT: lis r3, 0
4142 ; BE-P9-PRIV-NEXT: add r4, r1, r4
4143 ; BE-P9-PRIV-NEXT: ori r3, r3, 32768
4144 ; BE-P9-PRIV-NEXT: add r3, r1, r3
4145 ; BE-P9-PRIV-NEXT: bl callee3
4146 ; BE-P9-PRIV-NEXT: nop
4147 ; BE-P9-PRIV-NEXT: lwz r4, 16(r29)
4148 ; BE-P9-PRIV-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
4149 ; BE-P9-PRIV-NEXT: add r3, r4, r3
4150 ; BE-P9-PRIV-NEXT: clrldi r3, r3, 32
4151 ; BE-P9-PRIV-NEXT: mr r1, r30
4152 ; BE-P9-PRIV-NEXT: ld r0, 16(r1)
4153 ; BE-P9-PRIV-NEXT: ld r30, -16(r1)
4154 ; BE-P9-PRIV-NEXT: mtlr r0
4155 ; BE-P9-PRIV-NEXT: hashchkp r0, -32(r1)
4156 ; BE-P9-PRIV-NEXT: blr
4158 ; BE-P8-PRIV-LABEL: aligned:
4159 ; BE-P8-PRIV: # %bb.0: # %entry
4160 ; BE-P8-PRIV-NEXT: mflr r0
4161 ; BE-P8-PRIV-NEXT: std r30, -16(r1)
4162 ; BE-P8-PRIV-NEXT: lis r12, -1
4163 ; BE-P8-PRIV-NEXT: mr r30, r1
4164 ; BE-P8-PRIV-NEXT: std r0, 16(r1)
4165 ; BE-P8-PRIV-NEXT: hashstp r0, -32(r1)
4166 ; BE-P8-PRIV-NEXT: clrldi r0, r1, 49
4167 ; BE-P8-PRIV-NEXT: subc r0, r12, r0
4168 ; BE-P8-PRIV-NEXT: stdux r1, r1, r0
4169 ; BE-P8-PRIV-NEXT: lis r4, 0
4170 ; BE-P8-PRIV-NEXT: std r29, -24(r30) # 8-byte Folded Spill
4171 ; BE-P8-PRIV-NEXT: mr r29, r3
4172 ; BE-P8-PRIV-NEXT: lwz r3, 4(r3)
4173 ; BE-P8-PRIV-NEXT: addi r5, r1, 32764
4174 ; BE-P8-PRIV-NEXT: ori r4, r4, 65500
4175 ; BE-P8-PRIV-NEXT: stwx r3, r1, r4
4176 ; BE-P8-PRIV-NEXT: lis r4, 0
4177 ; BE-P8-PRIV-NEXT: lwz r3, 12(r29)
4178 ; BE-P8-PRIV-NEXT: ori r4, r4, 32768
4179 ; BE-P8-PRIV-NEXT: stwx r3, r1, r4
4180 ; BE-P8-PRIV-NEXT: lwz r3, 20(r29)
4181 ; BE-P8-PRIV-NEXT: lis r4, 0
4182 ; BE-P8-PRIV-NEXT: ori r4, r4, 65500
4183 ; BE-P8-PRIV-NEXT: stw r3, 32764(r1)
4184 ; BE-P8-PRIV-NEXT: lis r3, 0
4185 ; BE-P8-PRIV-NEXT: add r4, r1, r4
4186 ; BE-P8-PRIV-NEXT: ori r3, r3, 32768
4187 ; BE-P8-PRIV-NEXT: add r3, r1, r3
4188 ; BE-P8-PRIV-NEXT: bl callee3
4189 ; BE-P8-PRIV-NEXT: nop
4190 ; BE-P8-PRIV-NEXT: lwz r4, 16(r29)
4191 ; BE-P8-PRIV-NEXT: ld r29, -24(r30) # 8-byte Folded Reload
4192 ; BE-P8-PRIV-NEXT: add r3, r4, r3
4193 ; BE-P8-PRIV-NEXT: clrldi r3, r3, 32
4194 ; BE-P8-PRIV-NEXT: mr r1, r30
4195 ; BE-P8-PRIV-NEXT: ld r0, 16(r1)
4196 ; BE-P8-PRIV-NEXT: ld r30, -16(r1)
4197 ; BE-P8-PRIV-NEXT: hashchkp r0, -32(r1)
4198 ; BE-P8-PRIV-NEXT: mtlr r0
4199 ; BE-P8-PRIV-NEXT: blr
4201 %beforeLocal = alloca i32, align 4
4202 %local = alloca i32, align 32768
4203 %afterLocal = alloca i32, align 4
4204 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %beforeLocal)
4205 %arrayidx = getelementptr inbounds i32, ptr %in, i64 1
4206 %0 = load i32, ptr %arrayidx, align 4
4207 store i32 %0, ptr %beforeLocal, align 4
4208 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %local)
4209 %arrayidx1 = getelementptr inbounds i32, ptr %in, i64 3
4210 %1 = load i32, ptr %arrayidx1, align 4
4211 store i32 %1, ptr %local, align 32768
4212 call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %afterLocal)
4213 %arrayidx2 = getelementptr inbounds i32, ptr %in, i64 5
4214 %2 = load i32, ptr %arrayidx2, align 4
4215 store i32 %2, ptr %afterLocal, align 4
4216 %call = call zeroext i32 @callee3(ptr nonnull %local, ptr nonnull %beforeLocal, ptr nonnull %afterLocal)
4217 %arrayidx3 = getelementptr inbounds i32, ptr %in, i64 4
4218 %3 = load i32, ptr %arrayidx3, align 4
4219 %add = add i32 %3, %call
4220 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %afterLocal)
4221 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %local)
4222 call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %beforeLocal)
4226 declare zeroext i32 @callee(i32 zeroext) local_unnamed_addr
4227 declare zeroext i32 @callee2(ptr) local_unnamed_addr
4228 declare zeroext i32 @callee3(ptr, ptr, ptr) local_unnamed_addr
4229 declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
4230 declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
4232 attributes #0 = { nounwind }