Parent Directory | Revision Log
Revision 89 -
(view)
(download)
Original Path: trunk/xvidcore/src/motion/ppc_asm/sad_altivec.s
1 : | canard | 89 | .file "sad_altivec.c" |
2 : | gcc2_compiled.: | ||
3 : | .section ".text" | ||
4 : | .align 2 | ||
5 : | .globl sad16_altivec | ||
6 : | .type sad16_altivec,@function | ||
7 : | sad16_altivec: | ||
8 : | stwu %r1,-48(%r1) | ||
9 : | addi %r9,%r4,16 | ||
10 : | lvx %v13,0,%r4 | ||
11 : | vspltisw %v15,0 | ||
12 : | lvx %v0,0,%r9 | ||
13 : | rlwinm %r5,%r5,0,0,27 | ||
14 : | lvx %v1,0,%r3 | ||
15 : | lvsl %v16,0,%r4 | ||
16 : | add %r4,%r4,%r5 | ||
17 : | addi %r9,%r4,16 | ||
18 : | lvx %v11,0,%r4 | ||
19 : | vperm %v19,%v13,%v0,%v16 | ||
20 : | lvx %v12,0,%r9 | ||
21 : | add %r3,%r3,%r5 | ||
22 : | lvx %v0,0,%r3 | ||
23 : | add %r4,%r4,%r5 | ||
24 : | vminub %v18,%v19,%v1 | ||
25 : | addi %r9,%r4,16 | ||
26 : | lvx %v9,0,%r4 | ||
27 : | vmaxub %v2,%v19,%v1 | ||
28 : | lvx %v10,0,%r9 | ||
29 : | add %r3,%r3,%r5 | ||
30 : | vperm %v19,%v11,%v12,%v16 | ||
31 : | lvx %v13,0,%r3 | ||
32 : | add %r4,%r4,%r5 | ||
33 : | vsububm %v2,%v2,%v18 | ||
34 : | addi %r9,%r4,16 | ||
35 : | lvx %v11,0,%r4 | ||
36 : | vminub %v18,%v19,%v0 | ||
37 : | lvx %v12,0,%r9 | ||
38 : | add %r3,%r3,%r5 | ||
39 : | vsum4ubs %v17,%v2,%v15 | ||
40 : | lvx %v1,0,%r3 | ||
41 : | addi %r9,%r1,16 | ||
42 : | vmaxub %v2,%v19,%v0 | ||
43 : | stw %r6,16(%r1) | ||
44 : | vperm %v19,%v9,%v10,%v16 | ||
45 : | lvx %v0,0,%r9 | ||
46 : | add %r3,%r3,%r5 | ||
47 : | vsububm %v2,%v2,%v18 | ||
48 : | add %r4,%r4,%r5 | ||
49 : | vminub %v18,%v19,%v13 | ||
50 : | vsum4ubs %v17,%v2,%v17 | ||
51 : | vmaxub %v2,%v19,%v13 | ||
52 : | vspltw %v7,%v0,0 | ||
53 : | vperm %v19,%v11,%v12,%v16 | ||
54 : | stvx %v7,0,%r9 | ||
55 : | vsububm %v2,%v2,%v18 | ||
56 : | vminub %v18,%v19,%v1 | ||
57 : | vsum4ubs %v17,%v2,%v17 | ||
58 : | vmaxub %v2,%v19,%v1 | ||
59 : | vsububm %v2,%v2,%v18 | ||
60 : | vsum4ubs %v17,%v2,%v17 | ||
61 : | vsumsws %v0,%v17,%v15 | ||
62 : | vcmpgtsw. %v1,%v7,%v0 | ||
63 : | bc 12,26,.L19 | ||
64 : | addi %r9,%r4,16 | ||
65 : | lvx %v1,0,%r4 | ||
66 : | lvx %v0,0,%r9 | ||
67 : | add %r4,%r4,%r5 | ||
68 : | lvx %v13,0,%r3 | ||
69 : | addi %r9,%r4,16 | ||
70 : | lvx %v12,0,%r4 | ||
71 : | add %r3,%r3,%r5 | ||
72 : | lvx %v11,0,%r9 | ||
73 : | add %r4,%r4,%r5 | ||
74 : | vperm %v19,%v1,%v0,%v16 | ||
75 : | lvx %v10,0,%r3 | ||
76 : | addi %r9,%r4,16 | ||
77 : | lvx %v8,0,%r4 | ||
78 : | add %r3,%r3,%r5 | ||
79 : | vminub %v18,%v19,%v13 | ||
80 : | lvx %v9,0,%r9 | ||
81 : | add %r4,%r4,%r5 | ||
82 : | vmaxub %v2,%v19,%v13 | ||
83 : | lvx %v1,0,%r3 | ||
84 : | addi %r9,%r4,16 | ||
85 : | vperm %v19,%v12,%v11,%v16 | ||
86 : | lvx %v13,0,%r9 | ||
87 : | add %r3,%r3,%r5 | ||
88 : | vsububm %v2,%v2,%v18 | ||
89 : | lvx %v12,0,%r4 | ||
90 : | vminub %v18,%v19,%v10 | ||
91 : | lvx %v0,0,%r3 | ||
92 : | add %r4,%r4,%r5 | ||
93 : | vsum4ubs %v17,%v2,%v17 | ||
94 : | add %r3,%r3,%r5 | ||
95 : | vmaxub %v2,%v19,%v10 | ||
96 : | vperm %v19,%v8,%v9,%v16 | ||
97 : | vsububm %v2,%v2,%v18 | ||
98 : | vminub %v18,%v19,%v1 | ||
99 : | vsum4ubs %v17,%v2,%v17 | ||
100 : | vmaxub %v2,%v19,%v1 | ||
101 : | vperm %v19,%v12,%v13,%v16 | ||
102 : | vsububm %v2,%v2,%v18 | ||
103 : | vminub %v18,%v19,%v0 | ||
104 : | vsum4ubs %v17,%v2,%v17 | ||
105 : | vmaxub %v2,%v19,%v0 | ||
106 : | vsububm %v2,%v2,%v18 | ||
107 : | vsum4ubs %v17,%v2,%v17 | ||
108 : | vsumsws %v0,%v17,%v15 | ||
109 : | vcmpgtsw. %v7,%v7,%v0 | ||
110 : | bc 12,26,.L19 | ||
111 : | addi %r9,%r4,16 | ||
112 : | lvx %v1,0,%r4 | ||
113 : | lvx %v0,0,%r9 | ||
114 : | add %r4,%r4,%r5 | ||
115 : | lvx %v13,0,%r3 | ||
116 : | addi %r9,%r4,16 | ||
117 : | lvx %v11,0,%r9 | ||
118 : | add %r3,%r3,%r5 | ||
119 : | lvx %v12,0,%r4 | ||
120 : | vperm %v19,%v1,%v0,%v16 | ||
121 : | lvx %v10,0,%r3 | ||
122 : | add %r4,%r4,%r5 | ||
123 : | addi %r9,%r4,16 | ||
124 : | lvx %v9,0,%r4 | ||
125 : | vminub %v18,%v19,%v13 | ||
126 : | lvx %v1,0,%r9 | ||
127 : | add %r3,%r3,%r5 | ||
128 : | vmaxub %v2,%v19,%v13 | ||
129 : | lvx %v0,0,%r3 | ||
130 : | add %r4,%r4,%r5 | ||
131 : | vperm %v19,%v12,%v11,%v16 | ||
132 : | addi %r9,%r4,16 | ||
133 : | vsububm %v2,%v2,%v18 | ||
134 : | lvx %v11,0,%r4 | ||
135 : | add %r3,%r3,%r5 | ||
136 : | vminub %v18,%v19,%v10 | ||
137 : | lvx %v12,0,%r9 | ||
138 : | add %r4,%r4,%r5 | ||
139 : | vsum4ubs %v17,%v2,%v17 | ||
140 : | lvx %v8,0,%r3 | ||
141 : | addi %r9,%r4,16 | ||
142 : | vmaxub %v2,%v19,%v10 | ||
143 : | lvx %v3,0,%r4 | ||
144 : | add %r3,%r3,%r5 | ||
145 : | vperm %v19,%v9,%v1,%v16 | ||
146 : | lvx %v4,0,%r9 | ||
147 : | add %r4,%r4,%r5 | ||
148 : | vsububm %v2,%v2,%v18 | ||
149 : | lvx %v10,0,%r3 | ||
150 : | addi %r9,%r4,16 | ||
151 : | vminub %v18,%v19,%v0 | ||
152 : | lvx %v5,0,%r4 | ||
153 : | add %r3,%r3,%r5 | ||
154 : | vsum4ubs %v17,%v2,%v17 | ||
155 : | lvx %v6,0,%r9 | ||
156 : | add %r4,%r4,%r5 | ||
157 : | vmaxub %v2,%v19,%v0 | ||
158 : | lvx %v13,0,%r3 | ||
159 : | addi %r9,%r4,16 | ||
160 : | vperm %v19,%v11,%v12,%v16 | ||
161 : | lvx %v7,0,%r4 | ||
162 : | add %r3,%r3,%r5 | ||
163 : | vsububm %v2,%v2,%v18 | ||
164 : | lvx %v9,0,%r9 | ||
165 : | add %r4,%r4,%r5 | ||
166 : | vminub %v18,%v19,%v8 | ||
167 : | lvx %v1,0,%r3 | ||
168 : | addi %r9,%r4,16 | ||
169 : | vsum4ubs %v17,%v2,%v17 | ||
170 : | lvx %v11,0,%r4 | ||
171 : | vmaxub %v2,%v19,%v8 | ||
172 : | lvx %v12,0,%r9 | ||
173 : | vperm %v19,%v3,%v4,%v16 | ||
174 : | lvx %v0,%r3,%r5 | ||
175 : | vsububm %v2,%v2,%v18 | ||
176 : | vminub %v18,%v19,%v10 | ||
177 : | vsum4ubs %v17,%v2,%v17 | ||
178 : | vmaxub %v2,%v19,%v10 | ||
179 : | vperm %v19,%v5,%v6,%v16 | ||
180 : | vsububm %v2,%v2,%v18 | ||
181 : | vminub %v18,%v19,%v13 | ||
182 : | vsum4ubs %v17,%v2,%v17 | ||
183 : | vmaxub %v2,%v19,%v13 | ||
184 : | vperm %v19,%v7,%v9,%v16 | ||
185 : | vsububm %v2,%v2,%v18 | ||
186 : | vminub %v18,%v19,%v1 | ||
187 : | vsum4ubs %v17,%v2,%v17 | ||
188 : | vmaxub %v2,%v19,%v1 | ||
189 : | vperm %v19,%v11,%v12,%v16 | ||
190 : | vsububm %v2,%v2,%v18 | ||
191 : | vminub %v18,%v19,%v0 | ||
192 : | vsum4ubs %v17,%v2,%v17 | ||
193 : | vmaxub %v2,%v19,%v0 | ||
194 : | vsububm %v2,%v2,%v18 | ||
195 : | vsum4ubs %v17,%v2,%v17 | ||
196 : | vsumsws %v0,%v17,%v15 | ||
197 : | .L19: | ||
198 : | vspltw %v0,%v0,3 | ||
199 : | addi %r0,%r1,32 | ||
200 : | stvewx %v0,0,%r0 | ||
201 : | lwz %r3,32(%r1) | ||
202 : | la %r1,48(%r1) | ||
203 : | blr | ||
204 : | .Lfe1: | ||
205 : | .size sad16_altivec,.Lfe1-sad16_altivec | ||
206 : | .section ".rodata" | ||
207 : | .align 4 | ||
208 : | .type perms,@object | ||
209 : | .size perms,32 | ||
210 : | perms: | ||
211 : | .long 66051 | ||
212 : | .long 67438087 | ||
213 : | .long 269554195 | ||
214 : | .long 336926231 | ||
215 : | .long 134810123 | ||
216 : | .long 202182159 | ||
217 : | .long 404298267 | ||
218 : | .long 471670303 | ||
219 : | .section ".text" | ||
220 : | .align 2 | ||
221 : | .globl sad8_altivec | ||
222 : | .type sad8_altivec,@function | ||
223 : | sad8_altivec: | ||
224 : | stwu %r1,-16(%r1) | ||
225 : | srwi %r5,%r5,4 | ||
226 : | lvx %v6,0,%r4 | ||
227 : | vspltisw %v2,0 | ||
228 : | slwi %r8,%r5,4 | ||
229 : | lvx %v10,0,%r3 | ||
230 : | add %r9,%r8,%r4 | ||
231 : | lvx %v12,%r8,%r4 | ||
232 : | addi %r9,%r9,16 | ||
233 : | lvx %v11,%r8,%r3 | ||
234 : | addi %r10,%r4,16 | ||
235 : | lvx %v0,0,%r9 | ||
236 : | lvx %v13,0,%r10 | ||
237 : | lis %r11,perms@ha | ||
238 : | la %r11,perms@l(%r11) | ||
239 : | rlwinm %r9,%r3,1,27,27 | ||
240 : | lvx %v7,0,%r11 | ||
241 : | lvsl %v1,0,%r4 | ||
242 : | lvx %v8,%r11,%r9 | ||
243 : | slwi %r5,%r5,5 | ||
244 : | add %r4,%r4,%r5 | ||
245 : | vperm %v16,%v12,%v0,%v1 | ||
246 : | vperm %v19,%v6,%v13,%v1 | ||
247 : | add %r9,%r8,%r4 | ||
248 : | lvx %v9,0,%r4 | ||
249 : | addi %r11,%r4,16 | ||
250 : | vperm %v18,%v10,%v11,%v8 | ||
251 : | lvx %v12,%r8,%r4 | ||
252 : | addi %r9,%r9,16 | ||
253 : | vperm %v19,%v19,%v16,%v7 | ||
254 : | lvx %v13,0,%r11 | ||
255 : | lvx %v0,0,%r9 | ||
256 : | add %r3,%r3,%r5 | ||
257 : | vminub %v17,%v18,%v19 | ||
258 : | lvx %v10,0,%r3 | ||
259 : | add %r4,%r4,%r5 | ||
260 : | lvx %v11,%r8,%r3 | ||
261 : | vmaxub %v18,%v18,%v19 | ||
262 : | add %r9,%r8,%r4 | ||
263 : | vperm %v19,%v9,%v13,%v1 | ||
264 : | addi %r11,%r4,16 | ||
265 : | vperm %v16,%v12,%v0,%v1 | ||
266 : | vsububm %v17,%v18,%v17 | ||
267 : | addi %r9,%r9,16 | ||
268 : | lvx %v9,0,%r4 | ||
269 : | add %r3,%r3,%r5 | ||
270 : | vperm %v18,%v10,%v11,%v8 | ||
271 : | lvx %v13,%r8,%r4 | ||
272 : | vsum4ubs %v0,%v17,%v2 | ||
273 : | vperm %v19,%v19,%v16,%v7 | ||
274 : | lvx %v4,0,%r9 | ||
275 : | add %r4,%r4,%r5 | ||
276 : | lvx %v3,0,%r11 | ||
277 : | add %r9,%r8,%r4 | ||
278 : | vminub %v17,%v18,%v19 | ||
279 : | lvx %v12,%r8,%r3 | ||
280 : | addi %r9,%r9,16 | ||
281 : | lvx %v6,0,%r3 | ||
282 : | vmaxub %v18,%v18,%v19 | ||
283 : | addi %r11,%r4,16 | ||
284 : | vperm %v16,%v13,%v4,%v1 | ||
285 : | lvx %v5,%r8,%r4 | ||
286 : | add %r3,%r3,%r5 | ||
287 : | vperm %v19,%v9,%v3,%v1 | ||
288 : | vsububm %v17,%v18,%v17 | ||
289 : | lvx %v10,0,%r9 | ||
290 : | lvx %v9,0,%r11 | ||
291 : | addi %r0,%r1,8 | ||
292 : | vperm %v18,%v6,%v12,%v8 | ||
293 : | lvx %v11,0,%r4 | ||
294 : | vsum4ubs %v0,%v17,%v0 | ||
295 : | vperm %v19,%v19,%v16,%v7 | ||
296 : | lvx %v12,%r8,%r3 | ||
297 : | lvx %v13,0,%r3 | ||
298 : | vperm %v16,%v5,%v10,%v1 | ||
299 : | vminub %v17,%v18,%v19 | ||
300 : | vmaxub %v18,%v18,%v19 | ||
301 : | vperm %v19,%v11,%v9,%v1 | ||
302 : | vsububm %v17,%v18,%v17 | ||
303 : | vperm %v18,%v13,%v12,%v8 | ||
304 : | vperm %v19,%v19,%v16,%v7 | ||
305 : | vsum4ubs %v0,%v17,%v0 | ||
306 : | vminub %v17,%v18,%v19 | ||
307 : | vmaxub %v18,%v18,%v19 | ||
308 : | vsububm %v17,%v18,%v17 | ||
309 : | vsum4ubs %v0,%v17,%v0 | ||
310 : | vsumsws %v0,%v0,%v2 | ||
311 : | vspltw %v0,%v0,3 | ||
312 : | stvewx %v0,0,%r0 | ||
313 : | lwz %r3,8(%r1) | ||
314 : | la %r1,16(%r1) | ||
315 : | blr | ||
316 : | .Lfe2: | ||
317 : | .size sad8_altivec,.Lfe2-sad8_altivec | ||
318 : | .align 2 | ||
319 : | .globl dev16_altivec | ||
320 : | .type dev16_altivec,@function | ||
321 : | dev16_altivec: | ||
322 : | stwu %r1,-16(%r1) | ||
323 : | lvx %v13,0,%r3 | ||
324 : | vspltisw %v15,0 | ||
325 : | rlwinm %r4,%r4,0,0,27 | ||
326 : | add %r3,%r3,%r4 | ||
327 : | vspltisb %v1,14 | ||
328 : | lvx %v12,0,%r3 | ||
329 : | addi %r0,%r1,8 | ||
330 : | add %r3,%r3,%r4 | ||
331 : | vsum4ubs %v0,%v13,%v15 | ||
332 : | lvx %v11,0,%r3 | ||
333 : | add %r3,%r3,%r4 | ||
334 : | lvx %v10,0,%r3 | ||
335 : | add %r3,%r3,%r4 | ||
336 : | lvx %v9,0,%r3 | ||
337 : | vsum4ubs %v0,%v12,%v0 | ||
338 : | add %r3,%r3,%r4 | ||
339 : | lvx %v8,0,%r3 | ||
340 : | add %r3,%r3,%r4 | ||
341 : | lvx %v7,0,%r3 | ||
342 : | add %r3,%r3,%r4 | ||
343 : | vsum4ubs %v0,%v11,%v0 | ||
344 : | lvx %v6,0,%r3 | ||
345 : | add %r3,%r3,%r4 | ||
346 : | lvx %v5,0,%r3 | ||
347 : | add %r3,%r3,%r4 | ||
348 : | lvx %v4,0,%r3 | ||
349 : | vsum4ubs %v0,%v10,%v0 | ||
350 : | add %r3,%r3,%r4 | ||
351 : | lvx %v3,0,%r3 | ||
352 : | add %r3,%r3,%r4 | ||
353 : | lvx %v2,0,%r3 | ||
354 : | add %r3,%r3,%r4 | ||
355 : | vsum4ubs %v0,%v9,%v0 | ||
356 : | lvx %v19,0,%r3 | ||
357 : | add %r3,%r3,%r4 | ||
358 : | lvx %v18,0,%r3 | ||
359 : | add %r3,%r3,%r4 | ||
360 : | lvx %v17,0,%r3 | ||
361 : | vsum4ubs %v0,%v8,%v0 | ||
362 : | lvx %v16,%r3,%r4 | ||
363 : | vsum4ubs %v0,%v7,%v0 | ||
364 : | vsum4ubs %v0,%v6,%v0 | ||
365 : | vsum4ubs %v0,%v5,%v0 | ||
366 : | vsum4ubs %v0,%v4,%v0 | ||
367 : | vsum4ubs %v0,%v3,%v0 | ||
368 : | vsum4ubs %v0,%v2,%v0 | ||
369 : | vsum4ubs %v0,%v19,%v0 | ||
370 : | vsum4ubs %v0,%v18,%v0 | ||
371 : | vsum4ubs %v0,%v17,%v0 | ||
372 : | vsum4ubs %v0,%v16,%v0 | ||
373 : | vsumsws %v0,%v0,%v15 | ||
374 : | vperm %v1,%v0,%v0,%v1 | ||
375 : | vminub %v14,%v13,%v1 | ||
376 : | vmaxub %v13,%v13,%v1 | ||
377 : | vsububm %v13,%v13,%v14 | ||
378 : | vminub %v14,%v12,%v1 | ||
379 : | vsum4ubs %v0,%v13,%v15 | ||
380 : | vmaxub %v13,%v12,%v1 | ||
381 : | vsububm %v13,%v13,%v14 | ||
382 : | vminub %v14,%v11,%v1 | ||
383 : | vsum4ubs %v0,%v13,%v0 | ||
384 : | vmaxub %v13,%v11,%v1 | ||
385 : | vsububm %v13,%v13,%v14 | ||
386 : | vminub %v14,%v10,%v1 | ||
387 : | vsum4ubs %v0,%v13,%v0 | ||
388 : | vmaxub %v13,%v10,%v1 | ||
389 : | vsububm %v13,%v13,%v14 | ||
390 : | vminub %v14,%v9,%v1 | ||
391 : | vsum4ubs %v0,%v13,%v0 | ||
392 : | vmaxub %v13,%v9,%v1 | ||
393 : | vsububm %v13,%v13,%v14 | ||
394 : | vminub %v14,%v8,%v1 | ||
395 : | vsum4ubs %v0,%v13,%v0 | ||
396 : | vmaxub %v13,%v8,%v1 | ||
397 : | vsububm %v13,%v13,%v14 | ||
398 : | vminub %v14,%v7,%v1 | ||
399 : | vsum4ubs %v0,%v13,%v0 | ||
400 : | vmaxub %v13,%v7,%v1 | ||
401 : | vsububm %v13,%v13,%v14 | ||
402 : | vminub %v14,%v6,%v1 | ||
403 : | vsum4ubs %v0,%v13,%v0 | ||
404 : | vmaxub %v13,%v6,%v1 | ||
405 : | vsububm %v13,%v13,%v14 | ||
406 : | vminub %v14,%v5,%v1 | ||
407 : | vsum4ubs %v0,%v13,%v0 | ||
408 : | vmaxub %v13,%v5,%v1 | ||
409 : | vsububm %v13,%v13,%v14 | ||
410 : | vminub %v14,%v4,%v1 | ||
411 : | vsum4ubs %v0,%v13,%v0 | ||
412 : | vmaxub %v13,%v4,%v1 | ||
413 : | vsububm %v13,%v13,%v14 | ||
414 : | vminub %v14,%v3,%v1 | ||
415 : | vsum4ubs %v0,%v13,%v0 | ||
416 : | vmaxub %v13,%v3,%v1 | ||
417 : | vsububm %v13,%v13,%v14 | ||
418 : | vminub %v14,%v2,%v1 | ||
419 : | vsum4ubs %v0,%v13,%v0 | ||
420 : | vmaxub %v13,%v2,%v1 | ||
421 : | vsububm %v13,%v13,%v14 | ||
422 : | vminub %v14,%v19,%v1 | ||
423 : | vsum4ubs %v0,%v13,%v0 | ||
424 : | vmaxub %v13,%v19,%v1 | ||
425 : | vsububm %v13,%v13,%v14 | ||
426 : | vminub %v14,%v18,%v1 | ||
427 : | vsum4ubs %v0,%v13,%v0 | ||
428 : | vmaxub %v13,%v18,%v1 | ||
429 : | vsububm %v13,%v13,%v14 | ||
430 : | vminub %v14,%v17,%v1 | ||
431 : | vsum4ubs %v0,%v13,%v0 | ||
432 : | vmaxub %v13,%v17,%v1 | ||
433 : | vsububm %v13,%v13,%v14 | ||
434 : | vminub %v14,%v16,%v1 | ||
435 : | vsum4ubs %v0,%v13,%v0 | ||
436 : | vmaxub %v13,%v16,%v1 | ||
437 : | vsububm %v13,%v13,%v14 | ||
438 : | vsum4ubs %v0,%v13,%v0 | ||
439 : | vsumsws %v0,%v0,%v15 | ||
440 : | vspltw %v0,%v0,3 | ||
441 : | stvewx %v0,0,%r0 | ||
442 : | lwz %r3,8(%r1) | ||
443 : | la %r1,16(%r1) | ||
444 : | blr | ||
445 : | .Lfe3: | ||
446 : | .size dev16_altivec,.Lfe3-dev16_altivec | ||
447 : | .ident "GCC: (GNU) 2.95.3 20010111 (BLL/AltiVec prerelease/franzo/20010111)" |
No admin address has been configured | ViewVC Help |
Powered by ViewVC 1.0.4 |