[svn] / trunk / xvidcore / src / motion / ppc_asm / sad_altivec.s Repository:
ViewVC logotype

Annotation of /trunk/xvidcore/src/motion/ppc_asm/sad_altivec.s

Parent Directory Parent Directory | Revision Log Revision Log


Revision 89 - (view) (download)

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