[MPlayer-dev-eng] proposed new codecs.conf [Re: new video codec selection code]
Daniel Egger
degger at fhm.edu
Mon Mar 18 19:40:02 CET 2002
Am Mon, 2002-03-18 um 18.14 schrieb Gabucino:
> libmpeg2 should be faster for Egger if we synced with main libmpeg2 tree,
> as it contains altivec enhancements.
I wrote them myself a long time ago but never found the time to
integrate them properly and thus will break on older ppcs and any
other architecture. Anyway I'll attach it for your reference.
This is the preprocessed assembly output by the Motorola compiler
with AltiVec enhancements, I never ported it to the slightly
incompatible new gcc pre-3.1 as it is IMHO superfluous nowadays thanks
to ffmpeg.
--
Servus,
Daniel
-------------- next part --------------
.file "idct_altivec.c"
gcc2_compiled.:
cror 0,0,0
.section ".rodata"
.align 4
.type PreScale, at object
.size PreScale,128
PreScale:
.long 268375601
.long 350687952
.long 268374736
.long 350688817
.long 372317896
.long 486414872
.long 372316696
.long 486416072
.long 350690558
.long 458234004
.long 350689428
.long 458235134
.long 315628056
.long 412358175
.long 315627039
.long 412359192
.long 268375601
.long 350687952
.long 268374736
.long 350688817
.long 315628056
.long 412358175
.long 315627039
.long 412359192
.long 350690558
.long 458234004
.long 350689428
.long 458235134
.long 372317896
.long 486414872
.long 372316696
.long 486416072
.align 4
.type c4, at object
.size c4,16
c4:
.long 1518492290
.long 1518492290
.long 1518492290
.long 1518492290
.align 4
.type a0, at object
.size a0,16
a0:
.long 889533701
.long 889533701
.long 889533701
.long 889533701
.align 4
.type a1, at object
.size a1,16
a1:
.long 427170166
.long 427170166
.long 427170166
.long 427170166
.align 4
.type a2, at object
.size a2,16
a2:
.long 1434932615
.long 1434932615
.long 1434932615
.long 1434932615
.align 4
.type mc4, at object
.size mc4,16
mc4:
.long -1518426754
.long -1518426754
.long -1518426754
.long -1518426754
.align 4
.type ma2, at object
.size ma2,16
ma2:
.long -1434867079
.long -1434867079
.long -1434867079
.long -1434867079
.align 4
.type zero, at object
.size zero,16
zero:
.long 0
.long 0
.long 0
.long 0
.lcomm buf.45,128,16
.align 4
.LC0:
.long 427170166
.long 427170166
.long 427170166
.long 427170166
.align 4
.LC1:
.long 1434932615
.long 1434932615
.long 1434932615
.long 1434932615
.align 4
.LC2:
.long -1434867079
.long -1434867079
.long -1434867079
.long -1434867079
.align 4
.LC3:
.long 889533701
.long 889533701
.long 889533701
.long 889533701
.align 4
.LC4:
.long 1518492290
.long 1518492290
.long 1518492290
.long 1518492290
.align 4
.LC5:
.long -1518426754
.long -1518426754
.long -1518426754
.long -1518426754
.section ".text"
.align 2
.globl idct_block_copy_altivec
.type idct_block_copy_altivec, at function
idct_block_copy_altivec:
.section ".data"
.align 2
.LP0:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP0 at ha
stw %r0,4(%r1)
la %r0,.LP0 at l(%r12)
bl _mcount
stwu %r1,-352(%r1)
stw %r19,300(%r1)
stw %r20,304(%r1)
stw %r21,308(%r1)
stw %r22,312(%r1)
stw %r23,316(%r1)
stw %r24,320(%r1)
stw %r25,324(%r1)
stw %r26,328(%r1)
stw %r27,332(%r1)
stw %r28,336(%r1)
stw %r29,340(%r1)
stw %r30,344(%r1)
stw %r31,348(%r1)
addi %r0,%r0,272
stvx %v31,%r1,%r0
lis %r10,PreScale at ha
lvx %v1,0,%r3
vspltisw %v4,0
la %r10,PreScale at l(%r10)
lvx %v0,0,%r10
addi %r9,%r3,16
lvx %v7,0,%r9
addi %r11,%r10,16
lvx %v13,0,%r11
addi %r9,%r3,32
lvx %v8,0,%r9
addi %r11,%r10,32
lvx %v12,0,%r11
vmhraddshs %v1,%v1,%v0,%v4
addi %r9,%r10,48
lvx %v0,0,%r9
addi %r8,%r3,48
addi %r11,%r3,64
lvx %v10,0,%r8
vmhraddshs %v7,%v7,%v13,%v4
addi %r9,%r10,64
lvx %v11,0,%r11
lvx %v9,0,%r9
addi %r11,%r3,80
vmhraddshs %v8,%v8,%v12,%v4
addi %r9,%r10,80
lvx %v13,0,%r11
lvx %v12,0,%r9
vmhraddshs %v10,%v10,%v0,%v4
addi %r21,%r1,16
addi %r9,%r3,96
lvx %v0,0,%r9
addi %r11,%r10,96
vmhraddshs %v11,%v11,%v9,%v4
stvx %v1,0,%r21
lvx %v9,0,%r11
vmhraddshs %v13,%v13,%v12,%v4
addi %r3,%r3,112
lvx %v12,0,%r3
addi %r26,%r1,32
addi %r10,%r10,112
stvx %v7,0,%r26
lvx %v1,0,%r10
vmhraddshs %v0,%v0,%v9,%v4
addi %r27,%r1,48
stvx %v8,0,%r27
addi %r25,%r1,64
stvx %v10,0,%r25
vmhraddshs %v12,%v12,%v1,%v4
addi %r24,%r1,80
stvx %v11,0,%r24
addi %r23,%r1,96
stvx %v13,0,%r23
addi %r22,%r1,112
lis %r9,.LC0 at ha
stvx %v0,0,%r22
addi %r19,%r1,128
la %r9,.LC0 at l(%r9)
stvx %v12,0,%r19
lvx %v18,0,%r9
lvx %v0,0,%r26
lis %r9,.LC2 at ha
la %r9,.LC2 at l(%r9)
lvx %v11,0,%r23
lvx %v16,0,%r9
lis %r11,.LC1 at ha
lvx %v1,0,%r25
la %r11,.LC1 at l(%r11)
lvx %v17,0,%r11
vmhraddshs %v14,%v18,%v0,%v4
lis %r9,.LC3 at ha
la %r9,.LC3 at l(%r9)
lvx %v13,0,%r27
vmhraddshs %v5,%v18,%v12,%v0
lvx %v19,0,%r9
addi %r6,%r1,144
vmhraddshs %v8,%v16,%v1,%v11
lvx %v9,0,%r22
lis %r11,.LC4 at ha
vmhraddshs %v6,%v17,%v11,%v1
lvx %v10,0,%r21
la %r11,.LC4 at l(%r11)
vsubshs %v1,%v14,%v12
lvx %v0,0,%r24
lis %r9,.LC5 at ha
vmhraddshs %v14,%v19,%v13,%v4
la %r9,.LC5 at l(%r9)
vmhraddshs %v15,%v19,%v9,%v13
addi %r28,%r1,256
vaddshs %v31,%v1,%v8
addi %r10,%r1,160
vsubshs %v8,%v1,%v8
addi %r29,%r1,240
vsubshs %v1,%v5,%v6
addi %r8,%r1,176
vaddshs %v7,%v10,%v0
addi %r3,%r1,224
vaddshs %v5,%v5,%v6
addi %r7,%r1,192
vaddshs %v6,%v7,%v15
addi %r20,%r1,208
vsubshs %v12,%v14,%v9
vsubshs %v11,%v10,%v0
vaddshs %v0,%v6,%v5
vsubshs %v15,%v7,%v15
stvx %v0,0,%r6
vaddshs %v7,%v11,%v12
lvx %v3,0,%r11
vsubshs %v11,%v11,%v12
lvx %v2,0,%r9
vsubshs %v12,%v1,%v8
li %r9,4
vaddshs %v8,%v1,%v8
vsubshs %v0,%v6,%v5
vmhraddshs %v1,%v3,%v8,%v7
stvx %v0,0,%r28
vmhraddshs %v13,%v2,%v8,%v7
stvx %v1,0,%r10
vmhraddshs %v0,%v3,%v12,%v11
stvx %v13,0,%r29
vmhraddshs %v12,%v2,%v12,%v11
stvx %v0,0,%r8
vaddshs %v1,%v15,%v31
stvx %v12,0,%r3
vsubshs %v0,%v15,%v31
stvx %v1,0,%r7
stvx %v0,0,%r20
lvx %v9,0,%r3
lvx %v12,0,%r10
lvx %v8,0,%r29
lvx %v5,0,%r28
lvx %v11,0,%r6
lvx %v6,0,%r8
vmrghh %v10,%v12,%v9
lvx %v7,0,%r7
vmrglh %v12,%v12,%v9
vmrghh %v1,%v11,%v0
vmrghh %v13,%v6,%v8
vmrghh %v9,%v7,%v5
vmrglh %v6,%v6,%v8
vmrglh %v11,%v11,%v0
vmrghh %v8,%v10,%v9
vmrghh %v0,%v1,%v13
vmrglh %v1,%v1,%v13
vmrghh %v13,%v0,%v8
stvx %v13,0,%r21
vmrglh %v7,%v7,%v5
vmrglh %v10,%v10,%v9
vmrglh %v0,%v0,%v8
stvx %v0,0,%r26
vmrghh %v9,%v12,%v7
vmrghh %v13,%v11,%v6
vmrghh %v0,%v1,%v10
stvx %v0,0,%r27
vmrglh %v1,%v1,%v10
stvx %v1,0,%r25
vmrglh %v12,%v12,%v7
vmrghh %v0,%v13,%v9
vmrglh %v11,%v11,%v6
stvx %v0,0,%r24
vmrglh %v13,%v13,%v9
stvx %v13,0,%r23
vmrghh %v0,%v11,%v12
stvx %v0,0,%r22
vmrglh %v11,%v11,%v12
stvx %v11,0,%r19
lvx %v0,0,%r26
lvx %v13,0,%r23
lvx %v1,0,%r25
lvx %v12,0,%r27
vmhraddshs %v14,%v18,%v0,%v4
lvx %v9,0,%r22
vmhraddshs %v5,%v18,%v11,%v0
lvx %v10,0,%r21
vmhraddshs %v8,%v16,%v1,%v13
lvx %v0,0,%r24
vmhraddshs %v6,%v17,%v13,%v1
vmhraddshs %v15,%v19,%v9,%v12
vsubshs %v1,%v14,%v11
vmhraddshs %v14,%v19,%v12,%v4
vaddshs %v31,%v1,%v8
vsubshs %v8,%v1,%v8
vsubshs %v1,%v5,%v6
vaddshs %v7,%v10,%v0
vaddshs %v5,%v5,%v6
vaddshs %v6,%v7,%v15
vsubshs %v11,%v10,%v0
vsubshs %v12,%v14,%v9
vsubshs %v15,%v7,%v15
vaddshs %v7,%v11,%v12
vsubshs %v11,%v11,%v12
vsubshs %v12,%v1,%v8
vaddshs %v8,%v1,%v8
vaddshs %v0,%v6,%v5
vmhraddshs %v13,%v3,%v8,%v7
stvx %v0,0,%r6
vsubshs %v1,%v6,%v5
vmhraddshs %v0,%v2,%v8,%v7
stvx %v1,0,%r28
stvx %v13,0,%r10
vmhraddshs %v3,%v3,%v12,%v11
stvx %v0,0,%r29
vmhraddshs %v2,%v2,%v12,%v11
stvx %v3,0,%r8
vaddshs %v1,%v15,%v31
stvx %v2,0,%r3
vsubshs %v0,%v15,%v31
stvx %v1,0,%r7
stvx %v0,0,%r20
lvx %v9,0,%r3
lvx %v11,0,%r10
lvx %v8,0,%r29
lvx %v12,0,%r6
lvx %v6,0,%r8
lvx %v7,0,%r7
vmrghh %v10,%v11,%v9
lvx %v5,0,%r28
vmrglh %v11,%v11,%v9
vmrghh %v1,%v12,%v0
vmrghh %v13,%v6,%v8
vmrglh %v12,%v12,%v0
vmrghh %v9,%v7,%v5
vmrglh %v6,%v6,%v8
vmrghh %v8,%v10,%v9
vmrghh %v0,%v1,%v13
vmrglh %v1,%v1,%v13
vmrghh %v13,%v0,%v8
stvx %v13,0,%r21
vmrglh %v10,%v10,%v9
vmrglh %v7,%v7,%v5
vmrglh %v0,%v0,%v8
stvx %v0,0,%r26
vmrghh %v13,%v12,%v6
vmrghh %v9,%v11,%v7
vmrghh %v0,%v1,%v10
stvx %v0,0,%r27
vmrglh %v1,%v1,%v10
stvx %v1,0,%r25
vmrghh %v0,%v13,%v9
vmrglh %v12,%v12,%v6
stvx %v0,0,%r24
vmrglh %v11,%v11,%v7
vmrglh %v13,%v13,%v9
stvx %v13,0,%r23
vmrghh %v0,%v12,%v11
stvx %v0,0,%r22
vmrglh %v12,%v12,%v11
stvx %v12,0,%r19
lvx %v0,0,%r21
vpkshus %v0,%v0,%v4
stvx %v0,0,%r6
lvx %v1,0,%r26
vpkshus %v1,%v1,%v4
stvx %v1,0,%r10
lvx %v0,0,%r27
vpkshus %v0,%v0,%v4
stvx %v0,0,%r8
lvx %v1,0,%r25
vpkshus %v1,%v1,%v4
stvx %v1,0,%r7
lvx %v0,0,%r24
vpkshus %v0,%v0,%v4
stvx %v0,0,%r20
lvx %v1,0,%r23
vpkshus %v1,%v1,%v4
stvx %v1,0,%r3
lvx %v0,0,%r22
vpkshus %v0,%v0,%v4
stvx %v0,0,%r29
lvx %v1,0,%r19
vpkshus %v1,%v1,%v4
stvx %v1,0,%r28
lvx %v0,0,%r6
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r6
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lvx %v0,0,%r10
add %r4,%r4,%r5
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r10
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lvx %v0,0,%r8
add %r4,%r4,%r5
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r8
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lvx %v0,0,%r7
add %r4,%r4,%r5
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r7
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lvx %v0,0,%r20
add %r4,%r4,%r5
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r20
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lvx %v0,0,%r3
add %r4,%r4,%r5
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r3
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lvx %v0,0,%r29
add %r4,%r4,%r5
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r29
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lvx %v0,0,%r28
add %r4,%r4,%r5
vspltw %v0,%v0,0
stvewx %v0,0,%r4
lvx %v0,0,%r28
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
lwz %r19,300(%r1)
lwz %r20,304(%r1)
lwz %r21,308(%r1)
lwz %r22,312(%r1)
lwz %r23,316(%r1)
lwz %r24,320(%r1)
lwz %r25,324(%r1)
lwz %r26,328(%r1)
lwz %r27,332(%r1)
lwz %r28,336(%r1)
lwz %r29,340(%r1)
lwz %r30,344(%r1)
lwz %r31,348(%r1)
addi %r0,%r0,272
lvx %v31,%r1,%r0
la %r1,352(%r1)
blr
.Lfe1:
.size idct_block_copy_altivec,.Lfe1-idct_block_copy_altivec
.section ".rodata"
.align 4
.LC6:
.long 427170166
.long 427170166
.long 427170166
.long 427170166
.align 4
.LC7:
.long 1434932615
.long 1434932615
.long 1434932615
.long 1434932615
.align 4
.LC8:
.long -1434867079
.long -1434867079
.long -1434867079
.long -1434867079
.align 4
.LC9:
.long 889533701
.long 889533701
.long 889533701
.long 889533701
.align 4
.LC10:
.long 1518492290
.long 1518492290
.long 1518492290
.long 1518492290
.align 4
.LC11:
.long -1518426754
.long -1518426754
.long -1518426754
.long -1518426754
.section ".text"
.align 2
.globl idct_block_add_altivec
.type idct_block_add_altivec, at function
idct_block_add_altivec:
.section ".data"
.align 2
.LP1:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP1 at ha
stw %r0,4(%r1)
la %r0,.LP1 at l(%r12)
bl _mcount
stwu %r1,-352(%r1)
stw %r18,296(%r1)
stw %r19,300(%r1)
stw %r20,304(%r1)
stw %r21,308(%r1)
stw %r22,312(%r1)
stw %r23,316(%r1)
stw %r24,320(%r1)
stw %r25,324(%r1)
stw %r26,328(%r1)
stw %r27,332(%r1)
stw %r28,336(%r1)
stw %r29,340(%r1)
stw %r30,344(%r1)
stw %r31,348(%r1)
addi %r0,%r0,272
stvx %v31,%r1,%r0
lis %r10,PreScale at ha
lvx %v1,0,%r3
vspltisw %v4,0
la %r10,PreScale at l(%r10)
lvx %v0,0,%r10
addi %r9,%r3,16
vsldoi %v31,%v4,%v4,0
lvx %v7,0,%r9
addi %r11,%r10,16
lvx %v13,0,%r11
addi %r9,%r3,32
lvx %v8,0,%r9
addi %r11,%r10,32
lvx %v12,0,%r11
vmhraddshs %v1,%v1,%v0,%v4
addi %r9,%r10,48
lvx %v0,0,%r9
addi %r8,%r3,48
addi %r11,%r3,64
lvx %v10,0,%r8
vmhraddshs %v7,%v7,%v13,%v4
addi %r9,%r10,64
lvx %v11,0,%r11
lvx %v9,0,%r9
vmhraddshs %v8,%v8,%v12,%v4
addi %r11,%r3,80
addi %r9,%r10,80
lvx %v13,0,%r11
lvx %v12,0,%r9
vmhraddshs %v10,%v10,%v0,%v4
addi %r26,%r1,16
addi %r9,%r3,96
lvx %v0,0,%r9
vmhraddshs %v11,%v11,%v9,%v4
addi %r11,%r10,96
stvx %v1,0,%r26
lvx %v9,0,%r11
vmhraddshs %v13,%v13,%v12,%v4
addi %r3,%r3,112
lvx %v12,0,%r3
addi %r25,%r1,32
addi %r10,%r10,112
stvx %v7,0,%r25
lvx %v1,0,%r10
vmhraddshs %v0,%v0,%v9,%v4
addi %r24,%r1,48
stvx %v8,0,%r24
addi %r23,%r1,64
stvx %v10,0,%r23
vmhraddshs %v12,%v12,%v1,%v4
addi %r22,%r1,80
stvx %v11,0,%r22
addi %r21,%r1,96
stvx %v13,0,%r21
addi %r20,%r1,112
lis %r9,.LC6 at ha
stvx %v0,0,%r20
addi %r19,%r1,128
la %r9,.LC6 at l(%r9)
stvx %v12,0,%r19
lvx %v18,0,%r9
lvx %v0,0,%r25
lis %r9,.LC8 at ha
la %r9,.LC8 at l(%r9)
lvx %v11,0,%r21
lvx %v16,0,%r9
lis %r11,.LC7 at ha
lvx %v1,0,%r23
la %r11,.LC7 at l(%r11)
lvx %v17,0,%r11
vmhraddshs %v15,%v18,%v0,%v4
lis %r9,.LC9 at ha
la %r9,.LC9 at l(%r9)
lvx %v13,0,%r24
vmhraddshs %v6,%v18,%v12,%v0
lvx %v19,0,%r9
addi %r27,%r1,144
vmhraddshs %v8,%v16,%v1,%v11
lvx %v9,0,%r20
lis %r11,.LC10 at ha
vmhraddshs %v7,%v17,%v11,%v1
lvx %v0,0,%r22
la %r11,.LC10 at l(%r11)
vsubshs %v1,%v15,%v12
lvx %v10,0,%r26
lis %r9,.LC11 at ha
vmhraddshs %v15,%v19,%v13,%v4
la %r9,.LC11 at l(%r9)
vmhraddshs %v5,%v19,%v9,%v13
addi %r28,%r1,256
vaddshs %v14,%v1,%v8
addi %r6,%r1,160
vsubshs %v8,%v1,%v8
addi %r3,%r1,240
vsubshs %v1,%v6,%v7
addi %r7,%r1,176
vaddshs %v11,%v10,%v0
addi %r10,%r1,224
vaddshs %v6,%v6,%v7
addi %r8,%r1,192
vaddshs %v7,%v11,%v5
addi %r18,%r1,208
vsubshs %v12,%v15,%v9
lis %r29,zero at ha
vsubshs %v10,%v10,%v0
la %r29,zero at l(%r29)
vaddshs %v0,%v7,%v6
li %r0,8
vsubshs %v5,%v11,%v5
stvx %v0,0,%r27
mtctr %r0
vaddshs %v11,%v10,%v12
lvx %v2,0,%r11
vsubshs %v10,%v10,%v12
lvx %v3,0,%r9
mr %r11,%r26
vsubshs %v12,%v1,%v8
vaddshs %v8,%v1,%v8
vsubshs %v0,%v7,%v6
vmhraddshs %v1,%v2,%v8,%v11
stvx %v0,0,%r28
vmhraddshs %v13,%v3,%v8,%v11
stvx %v1,0,%r6
vmhraddshs %v0,%v2,%v12,%v10
stvx %v13,0,%r3
vmhraddshs %v12,%v3,%v12,%v10
stvx %v0,0,%r7
vaddshs %v1,%v5,%v14
stvx %v12,0,%r10
vsubshs %v0,%v5,%v14
stvx %v1,0,%r8
stvx %v0,0,%r18
lvx %v9,0,%r10
lvx %v12,0,%r6
lvx %v8,0,%r3
lvx %v5,0,%r28
lvx %v11,0,%r27
lvx %v6,0,%r7
vmrghh %v10,%v12,%v9
lvx %v7,0,%r8
vmrglh %v12,%v12,%v9
vmrghh %v1,%v11,%v0
vmrghh %v13,%v6,%v8
vmrghh %v9,%v7,%v5
vmrglh %v6,%v6,%v8
vmrglh %v11,%v11,%v0
vmrghh %v8,%v10,%v9
vmrghh %v0,%v1,%v13
vmrglh %v1,%v1,%v13
vmrghh %v13,%v0,%v8
stvx %v13,0,%r26
vmrglh %v7,%v7,%v5
vmrglh %v10,%v10,%v9
vmrglh %v0,%v0,%v8
stvx %v0,0,%r25
vmrghh %v9,%v12,%v7
vmrghh %v13,%v11,%v6
vmrghh %v0,%v1,%v10
stvx %v0,0,%r24
vmrglh %v1,%v1,%v10
stvx %v1,0,%r23
vmrglh %v12,%v12,%v7
vmrghh %v0,%v13,%v9
vmrglh %v11,%v11,%v6
stvx %v0,0,%r22
vmrglh %v13,%v13,%v9
stvx %v13,0,%r21
vmrghh %v0,%v11,%v12
stvx %v0,0,%r20
vmrglh %v11,%v11,%v12
stvx %v11,0,%r19
lvx %v0,0,%r25
lvx %v13,0,%r21
lvx %v1,0,%r23
lvx %v12,0,%r24
vmhraddshs %v15,%v18,%v0,%v4
lvx %v9,0,%r20
vmhraddshs %v6,%v18,%v11,%v0
lvx %v10,0,%r26
vmhraddshs %v8,%v16,%v1,%v13
lvx %v0,0,%r22
vmhraddshs %v7,%v17,%v13,%v1
vmhraddshs %v5,%v19,%v9,%v12
vsubshs %v1,%v15,%v11
vmhraddshs %v15,%v19,%v12,%v4
vaddshs %v14,%v1,%v8
vsubshs %v8,%v1,%v8
vsubshs %v1,%v6,%v7
vaddshs %v11,%v10,%v0
vaddshs %v6,%v6,%v7
vaddshs %v7,%v11,%v5
vsubshs %v12,%v15,%v9
vsubshs %v10,%v10,%v0
vsubshs %v5,%v11,%v5
vaddshs %v11,%v10,%v12
vsubshs %v10,%v10,%v12
vsubshs %v12,%v1,%v8
vaddshs %v8,%v1,%v8
vaddshs %v0,%v7,%v6
vmhraddshs %v13,%v2,%v8,%v11
stvx %v0,0,%r27
vsubshs %v1,%v7,%v6
vmhraddshs %v0,%v3,%v8,%v11
stvx %v1,0,%r28
stvx %v13,0,%r6
vmhraddshs %v2,%v2,%v12,%v10
stvx %v0,0,%r3
vmhraddshs %v3,%v3,%v12,%v10
lvx %v4,0,%r29
stvx %v2,0,%r7
vaddshs %v1,%v5,%v14
stvx %v3,0,%r10
vsubshs %v0,%v5,%v14
stvx %v1,0,%r8
stvx %v0,0,%r18
lvx %v9,0,%r10
lvx %v11,0,%r6
lvx %v8,0,%r3
lvx %v12,0,%r27
lvx %v6,0,%r7
lvx %v7,0,%r8
vmrghh %v10,%v11,%v9
lvx %v5,0,%r28
vmrglh %v11,%v11,%v9
vmrghh %v1,%v12,%v0
vmrghh %v13,%v6,%v8
vmrglh %v12,%v12,%v0
vmrghh %v9,%v7,%v5
vmrglh %v6,%v6,%v8
vmrghh %v8,%v10,%v9
vmrghh %v0,%v1,%v13
vmrglh %v1,%v1,%v13
vmrghh %v13,%v0,%v8
stvx %v13,0,%r26
vmrglh %v10,%v10,%v9
vmrglh %v7,%v7,%v5
vmrglh %v0,%v0,%v8
stvx %v0,0,%r25
vmrghh %v13,%v12,%v6
vmrghh %v9,%v11,%v7
vmrghh %v0,%v1,%v10
stvx %v0,0,%r24
vmrglh %v1,%v1,%v10
stvx %v1,0,%r23
vmrghh %v0,%v13,%v9
vmrglh %v12,%v12,%v6
stvx %v0,0,%r22
vmrglh %v11,%v11,%v7
vmrglh %v13,%v13,%v9
stvx %v13,0,%r21
vmrghh %v0,%v12,%v11
stvx %v0,0,%r20
vmrglh %v12,%v12,%v11
stvx %v12,0,%r19
.L28:
lvx %v13,0,%r4
lvx %v1,0,%r11
lvsl %v0,0,%r4
li %r9,4
vperm %v0,%v13,%v13,%v0
addi %r11,%r11,16
vmrghb %v0,%v4,%v0
vaddshs %v0,%v0,%v1
vpkshus %v0,%v0,%v31
vspltw %v13,%v0,0
stvewx %v13,0,%r4
vspltw %v0,%v0,1
stvewx %v0,%r9,%r4
add %r4,%r4,%r5
bdnz .L28
lwz %r18,296(%r1)
lwz %r19,300(%r1)
lwz %r20,304(%r1)
lwz %r21,308(%r1)
lwz %r22,312(%r1)
lwz %r23,316(%r1)
lwz %r24,320(%r1)
lwz %r25,324(%r1)
lwz %r26,328(%r1)
lwz %r27,332(%r1)
lwz %r28,336(%r1)
lwz %r29,340(%r1)
lwz %r30,344(%r1)
lwz %r31,348(%r1)
addi %r0,%r0,272
lvx %v31,%r1,%r0
la %r1,352(%r1)
blr
.Lfe2:
.size idct_block_add_altivec,.Lfe2-idct_block_add_altivec
.ident "GCC: (GNU) 2.95.3 20010315 (release)"
-------------- next part --------------
.file "motion_comp_altivec.c"
gcc2_compiled.:
cror 0,0,0
.section ".rodata"
.align 4
.type zero, at object
.size zero,16
zero:
.long 0
.long 0
.long 0
.long 0
.align 4
.type ones, at object
.size ones,16
ones:
.long 16843009
.long 16843009
.long 16843009
.long 16843009
.align 4
.type shorttwos, at object
.size shorttwos,16
shorttwos:
.long 131074
.long 131074
.long 131074
.long 131074
.align 4
.type inttwos, at object
.size inttwos,16
inttwos:
.long 2
.long 2
.long 2
.long 2
.align 4
.type permvec1, at object
.size permvec1,16
permvec1:
.long 1049620
.long 17892629
.long 34735638
.long 51578647
.align 4
.type permvec11, at object
.size permvec11,16
permvec11:
.long 69649
.long 67441685
.long 134813721
.long 202185757
.section ".text"
.align 2
.type MC_put_8_altivec, at function
MC_put_8_altivec:
.section ".data"
.align 2
.LP0:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP0 at ha
stw %r0,4(%r1)
la %r0,.LP0 at l(%r12)
bl _mcount
cmpwi %cr0,%r6,8
bc 12,2,.L13
cmpwi %cr0,%r6,4
bc 12,2,.L15
lwz %r0,0(%r4)
stw %r0,0(%r3)
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
add %r4,%r4,%r5
add %r3,%r3,%r5
.L13:
lwz %r0,0(%r4)
stw %r0,0(%r3)
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
add %r4,%r4,%r5
add %r3,%r3,%r5
.L15:
lwz %r0,0(%r4)
stw %r0,0(%r3)
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
lwzux %r0,%r4,%r5
stwux %r0,%r3,%r5
lwz %r9,4(%r4)
stw %r9,4(%r3)
blr
.Lfe1:
.size MC_put_8_altivec,.Lfe1-MC_put_8_altivec
.align 2
.type MC_avg_x8_altivec, at function
MC_avg_x8_altivec:
.section ".data"
.align 2
.LP1:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP1 at ha
stw %r0,4(%r1)
la %r0,.LP1 at l(%r12)
bl _mcount
mtctr %r6
.L45:
lbz %r0,1(%r4)
lbz %r9,0(%r4)
lbz %r11,0(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,0(%r3)
lbz %r0,2(%r4)
lbz %r11,1(%r4)
lbz %r9,1(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,1(%r3)
lbz %r0,3(%r4)
lbz %r9,2(%r4)
lbz %r11,2(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,2(%r3)
lbz %r0,4(%r4)
lbz %r11,3(%r4)
lbz %r9,3(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,3(%r3)
lbz %r0,5(%r4)
lbz %r9,4(%r4)
lbz %r11,4(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,4(%r3)
lbz %r0,6(%r4)
lbz %r11,5(%r4)
lbz %r9,5(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,5(%r3)
lbz %r0,7(%r4)
lbz %r9,6(%r4)
lbz %r11,6(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,6(%r3)
lbz %r11,7(%r4)
lbz %r0,8(%r4)
lbz %r9,7(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,7(%r3)
add %r4,%r4,%r5
add %r3,%r3,%r5
bdnz .L45
blr
.Lfe2:
.size MC_avg_x8_altivec,.Lfe2-MC_avg_x8_altivec
.align 2
.type MC_avg_y8_altivec, at function
MC_avg_y8_altivec:
.section ".data"
.align 2
.LP2:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP2 at ha
stw %r0,4(%r1)
la %r0,.LP2 at l(%r12)
bl _mcount
mtctr %r6
add %r10,%r4,%r5
.L65:
lbz %r0,0(%r10)
lbz %r9,0(%r4)
lbz %r11,0(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,0(%r3)
lbz %r0,1(%r10)
lbz %r11,1(%r4)
lbz %r9,1(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,1(%r3)
lbz %r0,2(%r10)
lbz %r9,2(%r4)
lbz %r11,2(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,2(%r3)
lbz %r0,3(%r10)
lbz %r11,3(%r4)
lbz %r9,3(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,3(%r3)
lbz %r0,4(%r10)
lbz %r9,4(%r4)
lbz %r11,4(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,4(%r3)
lbz %r0,5(%r10)
lbz %r11,5(%r4)
lbz %r9,5(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,5(%r3)
lbz %r0,6(%r10)
lbz %r9,6(%r4)
lbz %r11,6(%r3)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
add %r9,%r9,%r11
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,6(%r3)
lbz %r0,7(%r10)
lbz %r11,7(%r4)
lbz %r9,7(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
add %r11,%r11,%r9
addi %r11,%r11,1
srawi %r11,%r11,1
mr %r0,%r10
stb %r11,7(%r3)
mr %r4,%r0
add %r10,%r10,%r5
add %r3,%r3,%r5
bdnz .L65
blr
.Lfe3:
.size MC_avg_y8_altivec,.Lfe3-MC_avg_y8_altivec
.align 2
.type MC_put_xy8_altivec, at function
MC_put_xy8_altivec:
.section ".data"
.align 2
.LP3:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP3 at ha
stw %r0,4(%r1)
la %r0,.LP3 at l(%r12)
bl _mcount
mtctr %r6
add %r8,%r4,%r5
.L76:
lbz %r0,1(%r4)
lbz %r9,0(%r4)
lbz %r10,0(%r8)
lbz %r11,1(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
addi %r9,%r9,2
srawi %r9,%r9,2
stb %r9,0(%r3)
lbz %r0,2(%r4)
lbz %r11,1(%r4)
lbz %r10,1(%r8)
lbz %r9,2(%r8)
add %r11,%r11,%r0
add %r11,%r11,%r10
add %r11,%r11,%r9
addi %r11,%r11,2
srawi %r11,%r11,2
stb %r11,1(%r3)
lbz %r0,3(%r4)
lbz %r9,2(%r4)
lbz %r10,2(%r8)
lbz %r11,3(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
addi %r9,%r9,2
srawi %r9,%r9,2
stb %r9,2(%r3)
lbz %r0,4(%r4)
lbz %r11,3(%r4)
lbz %r10,3(%r8)
lbz %r9,4(%r8)
add %r11,%r11,%r0
add %r11,%r11,%r10
add %r11,%r11,%r9
addi %r11,%r11,2
srawi %r11,%r11,2
stb %r11,3(%r3)
lbz %r0,5(%r4)
lbz %r9,4(%r4)
lbz %r10,4(%r8)
lbz %r11,5(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
addi %r9,%r9,2
srawi %r9,%r9,2
stb %r9,4(%r3)
lbz %r0,6(%r4)
lbz %r11,5(%r4)
lbz %r10,5(%r8)
lbz %r9,6(%r8)
add %r11,%r11,%r0
add %r11,%r11,%r10
add %r11,%r11,%r9
addi %r11,%r11,2
srawi %r11,%r11,2
stb %r11,5(%r3)
lbz %r0,7(%r4)
lbz %r9,6(%r4)
lbz %r10,6(%r8)
lbz %r11,7(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
addi %r9,%r9,2
srawi %r9,%r9,2
stb %r9,6(%r3)
lbz %r11,8(%r4)
lbz %r9,7(%r4)
lbz %r10,7(%r8)
lbz %r0,8(%r8)
add %r9,%r9,%r11
add %r9,%r9,%r10
add %r9,%r9,%r0
addi %r9,%r9,2
srawi %r9,%r9,2
mr %r0,%r8
stb %r9,7(%r3)
mr %r4,%r0
add %r8,%r8,%r5
add %r3,%r3,%r5
bdnz .L76
blr
.Lfe4:
.size MC_put_xy8_altivec,.Lfe4-MC_put_xy8_altivec
.align 2
.type MC_avg_xy8_altivec, at function
MC_avg_xy8_altivec:
.section ".data"
.align 2
.LP4:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP4 at ha
stw %r0,4(%r1)
la %r0,.LP4 at l(%r12)
bl _mcount
mtctr %r6
add %r8,%r4,%r5
.L87:
lbz %r0,1(%r4)
lbz %r9,0(%r4)
lbz %r10,0(%r8)
lbz %r11,1(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
lbz %r0,0(%r3)
addi %r9,%r9,2
srawi %r9,%r9,2
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,0(%r3)
lbz %r0,2(%r4)
lbz %r11,1(%r4)
lbz %r10,1(%r8)
lbz %r9,2(%r8)
add %r11,%r11,%r0
add %r11,%r11,%r10
add %r11,%r11,%r9
lbz %r0,1(%r3)
addi %r11,%r11,2
srawi %r11,%r11,2
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,1(%r3)
lbz %r0,3(%r4)
lbz %r9,2(%r4)
lbz %r10,2(%r8)
lbz %r11,3(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
lbz %r0,2(%r3)
addi %r9,%r9,2
srawi %r9,%r9,2
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,2(%r3)
lbz %r0,4(%r4)
lbz %r11,3(%r4)
lbz %r10,3(%r8)
lbz %r9,4(%r8)
add %r11,%r11,%r0
add %r11,%r11,%r10
add %r11,%r11,%r9
lbz %r0,3(%r3)
addi %r11,%r11,2
srawi %r11,%r11,2
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,3(%r3)
lbz %r0,5(%r4)
lbz %r9,4(%r4)
lbz %r10,4(%r8)
lbz %r11,5(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
lbz %r0,4(%r3)
addi %r9,%r9,2
srawi %r9,%r9,2
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,4(%r3)
lbz %r0,6(%r4)
lbz %r11,5(%r4)
lbz %r10,5(%r8)
lbz %r9,6(%r8)
add %r11,%r11,%r0
add %r11,%r11,%r10
add %r11,%r11,%r9
lbz %r0,5(%r3)
addi %r11,%r11,2
srawi %r11,%r11,2
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,5(%r3)
lbz %r0,7(%r4)
lbz %r9,6(%r4)
lbz %r10,6(%r8)
lbz %r11,7(%r8)
add %r9,%r9,%r0
add %r9,%r9,%r10
add %r9,%r9,%r11
lbz %r0,6(%r3)
addi %r9,%r9,2
srawi %r9,%r9,2
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,6(%r3)
lbz %r11,8(%r4)
lbz %r9,7(%r4)
lbz %r10,7(%r8)
lbz %r0,8(%r8)
add %r9,%r9,%r11
add %r9,%r9,%r10
add %r9,%r9,%r0
lbz %r0,7(%r3)
addi %r9,%r9,2
srawi %r9,%r9,2
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
mr %r0,%r8
stb %r9,7(%r3)
mr %r4,%r0
add %r8,%r8,%r5
add %r3,%r3,%r5
bdnz .L87
blr
.Lfe5:
.size MC_avg_xy8_altivec,.Lfe5-MC_avg_xy8_altivec
.globl mc_functions_altivec
.section ".data"
.align 2
.type mc_functions_altivec, at object
.size mc_functions_altivec,64
mc_functions_altivec:
.long MC_put_16_altivec
.long MC_put_x16_altivec
.long MC_put_y16_altivec
.long MC_put_xy16_altivec
.long MC_put_8_altivec
.long MC_put_x8_altivec
.long MC_put_y8_altivec
.long MC_put_xy8_altivec
.long MC_avg_16_altivec
.long MC_avg_x16_altivec
.long MC_avg_y16_altivec
.long MC_avg_xy16_altivec
.long MC_avg_8_altivec
.long MC_avg_x8_altivec
.long MC_avg_y8_altivec
.long MC_avg_xy8_altivec
.lcomm alignbuf,16,16
.section ".text"
.align 2
.type MC_put_16_altivec, at function
MC_put_16_altivec:
.section ".data"
.align 2
.LP5:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP5 at ha
stw %r0,4(%r1)
la %r0,.LP5 at l(%r12)
bl _mcount
mtctr %r6
.L10:
li %r9,16
lvx %v0,0,%r4
lvx %v13,%r9,%r4
lvsl %v1,0,%r4
add %r4,%r4,%r5
vperm %v0,%v0,%v13,%v1
stvx %v0,0,%r3
add %r3,%r3,%r5
bdnz .L10
blr
.Lfe6:
.size MC_put_16_altivec,.Lfe6-MC_put_16_altivec
.align 2
.type MC_avg_16_altivec, at function
MC_avg_16_altivec:
.section ".data"
.align 2
.LP6:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP6 at ha
stw %r0,4(%r1)
la %r0,.LP6 at l(%r12)
bl _mcount
mtctr %r6
.L20:
li %r9,16
lvx %v0,0,%r4
lvx %v13,%r9,%r4
lvsl %v1,0,%r4
lvx %v12,0,%r3
vperm %v0,%v0,%v13,%v1
add %r4,%r4,%r5
vavgub %v0,%v0,%v12
stvx %v0,0,%r3
add %r3,%r3,%r5
bdnz .L20
blr
.Lfe7:
.size MC_avg_16_altivec,.Lfe7-MC_avg_16_altivec
.align 2
.type MC_avg_8_altivec, at function
MC_avg_8_altivec:
.section ".data"
.align 2
.LP7:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP7 at ha
stw %r0,4(%r1)
la %r0,.LP7 at l(%r12)
bl _mcount
mtctr %r6
.L25:
lbz %r11,0(%r4)
lbz %r0,0(%r3)
lbz %r10,1(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,0(%r3)
lbz %r9,1(%r4)
lbz %r0,2(%r3)
add %r9,%r9,%r10
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,1(%r3)
lbz %r11,2(%r4)
lbz %r10,3(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,2(%r3)
lbz %r9,3(%r4)
lbz %r0,4(%r3)
add %r9,%r9,%r10
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,3(%r3)
lbz %r11,4(%r4)
lbz %r10,5(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,4(%r3)
lbz %r9,5(%r4)
lbz %r0,6(%r3)
add %r9,%r9,%r10
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,5(%r3)
lbz %r11,6(%r4)
lbz %r10,7(%r3)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,6(%r3)
lbz %r9,7(%r4)
add %r4,%r4,%r5
add %r9,%r9,%r10
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,7(%r3)
add %r3,%r3,%r5
bdnz .L25
blr
.Lfe8:
.size MC_avg_8_altivec,.Lfe8-MC_avg_8_altivec
.align 2
.type MC_put_x16_altivec, at function
MC_put_x16_altivec:
.section ".data"
.align 2
.LP8:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP8 at ha
stw %r0,4(%r1)
la %r0,.LP8 at l(%r12)
bl _mcount
mtctr %r6
vspltisb %v11,1
.L30:
li %r9,16
lvx %v13,0,%r4
lvx %v12,%r9,%r4
lvsl %v0,0,%r4
add %r4,%r4,%r5
vperm %v1,%v13,%v12,%v0
vaddubs %v0,%v0,%v11
vperm %v13,%v13,%v12,%v0
vavgub %v1,%v1,%v13
stvx %v1,0,%r3
add %r3,%r3,%r5
bdnz .L30
blr
.Lfe9:
.size MC_put_x16_altivec,.Lfe9-MC_put_x16_altivec
.align 2
.type MC_put_x8_altivec, at function
MC_put_x8_altivec:
.section ".data"
.align 2
.LP9:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP9 at ha
stw %r0,4(%r1)
la %r0,.LP9 at l(%r12)
bl _mcount
mtctr %r6
vspltisb %v11,1
.L35:
li %r9,16
lvx %v13,%r9,%r4
lvx %v12,0,%r4
lvsl %v0,0,%r4
li %r9,4
vperm %v1,%v12,%v13,%v0
add %r4,%r4,%r5
vaddubs %v0,%v0,%v11
vperm %v0,%v12,%v13,%v0
vavgub %v1,%v1,%v0
vspltw %v13,%v1,0
stvewx %v13,0,%r3
vspltw %v12,%v1,1
stvewx %v12,%r9,%r3
add %r3,%r3,%r5
bdnz .L35
blr
.Lfe10:
.size MC_put_x8_altivec,.Lfe10-MC_put_x8_altivec
.align 2
.type MC_avg_x16_altivec, at function
MC_avg_x16_altivec:
.section ".data"
.align 2
.LP10:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP10 at ha
stw %r0,4(%r1)
la %r0,.LP10 at l(%r12)
bl _mcount
mtctr %r6
vspltisb %v10,1
.L40:
li %r9,16
lvx %v13,0,%r4
lvx %v12,%r9,%r4
lvsl %v0,0,%r4
lvx %v11,0,%r3
vperm %v1,%v13,%v12,%v0
add %r4,%r4,%r5
vaddubs %v0,%v0,%v10
vperm %v13,%v13,%v12,%v0
vavgub %v1,%v1,%v13
vavgub %v1,%v1,%v11
stvx %v1,0,%r3
add %r3,%r3,%r5
bdnz .L40
blr
.Lfe11:
.size MC_avg_x16_altivec,.Lfe11-MC_avg_x16_altivec
.align 2
.type MC_put_y16_altivec, at function
MC_put_y16_altivec:
.section ".data"
.align 2
.LP11:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP11 at ha
stw %r0,4(%r1)
la %r0,.LP11 at l(%r12)
bl _mcount
li %r9,16
mtctr %r6
lvx %v13,0,%r4
lvsl %v1,0,%r4
lvx %v0,%r9,%r4
vperm %v12,%v13,%v0,%v1
.L50:
add %r4,%r4,%r5
li %r9,16
lvx %v0,0,%r4
lvx %v13,%r9,%r4
lvsl %v1,0,%r4
vperm %v0,%v0,%v13,%v1
vavgub %v12,%v12,%v0
stvx %v12,0,%r3
vsldoi %v12,%v0,%v0,0
add %r3,%r3,%r5
bdnz .L50
blr
.Lfe12:
.size MC_put_y16_altivec,.Lfe12-MC_put_y16_altivec
.align 2
.type MC_put_y8_altivec, at function
MC_put_y8_altivec:
.section ".data"
.align 2
.LP12:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP12 at ha
stw %r0,4(%r1)
la %r0,.LP12 at l(%r12)
bl _mcount
mtctr %r6
add %r8,%r4,%r5
.L55:
lbz %r0,0(%r8)
lbz %r11,0(%r4)
mr %r10,%r8
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,0(%r3)
lbz %r0,1(%r8)
lbz %r9,1(%r4)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,1(%r3)
lbz %r0,2(%r8)
lbz %r11,2(%r4)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,2(%r3)
lbz %r0,3(%r8)
lbz %r9,3(%r4)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,3(%r3)
lbz %r0,4(%r8)
lbz %r11,4(%r4)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,4(%r3)
lbz %r0,5(%r8)
lbz %r9,5(%r4)
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,5(%r3)
lbz %r0,6(%r8)
lbz %r11,6(%r4)
add %r11,%r11,%r0
addi %r11,%r11,1
srawi %r11,%r11,1
stb %r11,6(%r3)
lbz %r9,7(%r4)
lbz %r0,7(%r8)
mr %r4,%r10
add %r9,%r9,%r0
addi %r9,%r9,1
srawi %r9,%r9,1
stb %r9,7(%r3)
add %r8,%r8,%r5
add %r3,%r3,%r5
bdnz .L55
blr
.Lfe13:
.size MC_put_y8_altivec,.Lfe13-MC_put_y8_altivec
.align 2
.type MC_avg_y16_altivec, at function
MC_avg_y16_altivec:
.section ".data"
.align 2
.LP13:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP13 at ha
stw %r0,4(%r1)
la %r0,.LP13 at l(%r12)
bl _mcount
li %r9,16
mtctr %r6
lvx %v13,0,%r4
lvsl %v1,0,%r4
lvx %v0,%r9,%r4
vperm %v11,%v13,%v0,%v1
.L60:
add %r4,%r4,%r5
li %r9,16
lvx %v1,0,%r4
lvx %v13,%r9,%r4
lvsl %v0,0,%r4
lvx %v12,0,%r3
vperm %v1,%v1,%v13,%v0
vavgub %v11,%v11,%v1
vavgub %v11,%v11,%v12
stvx %v11,0,%r3
vsldoi %v11,%v1,%v1,0
add %r3,%r3,%r5
bdnz .L60
blr
.Lfe14:
.size MC_avg_y16_altivec,.Lfe14-MC_avg_y16_altivec
.section ".rodata"
.align 4
.LC4:
.long 69649
.long 67441685
.long 134813721
.long 202185757
.align 4
.LC5:
.long 1049620
.long 17892629
.long 34735638
.long 51578647
.section ".text"
.align 2
.type MC_put_xy16_altivec, at function
MC_put_xy16_altivec:
.section ".data"
.align 2
.LP14:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP14 at ha
stw %r0,4(%r1)
la %r0,.LP14 at l(%r12)
bl _mcount
lis %r11,.LC5 at ha
vspltisb %v1,8
vxor %v13,%v13,%v13
lis %r9,.LC4 at ha
vspltisb %v0,2
mtctr %r6
la %r11,.LC5 at l(%r11)
la %r9,.LC4 at l(%r9)
lvx %v8,0,%r11
lvx %v9,0,%r9
lvx %v10,0,%r4
li %r9,16
lvsl %v12,0,%r4
lvx %v11,%r9,%r4
vaddubs %v3,%v8,%v1
vaddubs %v4,%v9,%v0
vperm %v1,%v10,%v11,%v12
vcmpequb. %v13,%v1,%v13
bclr 12,24
vspltisb %v0,1
vor %v19,%v8,%v8
vsldoi %v5,%v9,%v9,0
vspltish %v6,2
vaddubs %v12,%v12,%v0
vsldoi %v2,%v0,%v0,0
vspltisw %v9,2
vperm %v0,%v10,%v11,%v12
vperm %v7,%v1,%v0,%v3
vperm %v8,%v1,%v0,%v8
.L71:
add %r4,%r4,%r5
li %r9,16
lvx %v10,0,%r4
lvx %v11,%r9,%r4
lvsl %v12,0,%r4
vperm %v1,%v10,%v11,%v12
vaddubs %v12,%v12,%v2
vperm %v0,%v10,%v11,%v12
vperm %v11,%v1,%v0,%v3
vperm %v13,%v1,%v0,%v19
vperm %v10,%v7,%v11,%v4
vperm %v12,%v8,%v13,%v4
vperm %v1,%v8,%v13,%v5
vsum4ubs %v10,%v10,%v9
vperm %v0,%v7,%v11,%v5
vsum4ubs %v12,%v12,%v9
vsum4ubs %v1,%v1,%v9
vsum4ubs %v0,%v0,%v9
vsldoi %v8,%v13,%v13,0
vor %v7,%v11,%v11
vpkuwus %v1,%v1,%v12
vpkuwus %v0,%v0,%v10
vsrh %v1,%v1,%v6
vsrh %v0,%v0,%v6
vpkuhus %v1,%v1,%v0
stvx %v1,0,%r3
add %r3,%r3,%r5
bdnz .L71
blr
.Lfe15:
.size MC_put_xy16_altivec,.Lfe15-MC_put_xy16_altivec
.section ".rodata"
.align 4
.LC6:
.long 69649
.long 67441685
.long 134813721
.long 202185757
.align 4
.LC7:
.long 1049620
.long 17892629
.long 34735638
.long 51578647
.section ".text"
.align 2
.type MC_avg_xy16_altivec, at function
MC_avg_xy16_altivec:
.section ".data"
.align 2
.LP15:
.long 0
.section ".text"
mflr %r0
lis %r12,.LP15 at ha
stw %r0,4(%r1)
la %r0,.LP15 at l(%r12)
bl _mcount
lis %r9,.LC6 at ha
vxor %v13,%v13,%v13
vspltisb %v0,2
la %r9,.LC6 at l(%r9)
vspltisb %v1,8
mtctr %r6
lvx %v7,0,%r9
lis %r11,.LC7 at ha
li %r9,16
la %r11,.LC7 at l(%r11)
lvx %v8,0,%r4
lvx %v12,0,%r11
lvsl %v11,0,%r4
vaddubs %v2,%v7,%v0
lvx %v10,%r9,%r4
vperm %v9,%v8,%v10,%v11
vaddubs %v19,%v12,%v1
vcmpequb. %v13,%v9,%v13
bclr 12,24
vspltisb %v0,1
vor %v3,%v7,%v7
vsldoi %v17,%v12,%v12,0
vspltisw %v7,2
vaddubs %v11,%v11,%v0
vsldoi %v18,%v0,%v0,0
vspltish %v4,2
vperm %v0,%v8,%v10,%v11
vperm %v5,%v9,%v0,%v19
vperm %v6,%v9,%v0,%v12
.L82:
add %r4,%r4,%r5
li %r9,16
lvx %v10,%r9,%r4
lvx %v8,0,%r4
lvsl %v11,0,%r4
vperm %v9,%v8,%v10,%v11
vaddubs %v11,%v11,%v18
vperm %v0,%v8,%v10,%v11
vperm %v11,%v9,%v0,%v19
vperm %v12,%v9,%v0,%v17
vperm %v10,%v5,%v11,%v2
lvx %v9,0,%r3
vperm %v13,%v6,%v12,%v2
vperm %v0,%v6,%v12,%v3
vsum4ubs %v10,%v10,%v7
vperm %v1,%v5,%v11,%v3
vsum4ubs %v13,%v13,%v7
vsum4ubs %v0,%v0,%v7
vsum4ubs %v1,%v1,%v7
vsldoi %v6,%v12,%v12,0
vor %v5,%v11,%v11
vpkuwus %v0,%v0,%v13
vpkuwus %v1,%v1,%v10
vsrh %v0,%v0,%v4
vsrh %v1,%v1,%v4
vpkuhus %v0,%v0,%v1
vavgub %v0,%v0,%v9
stvx %v0,0,%r3
add %r3,%r3,%r5
bdnz .L82
blr
.Lfe16:
.size MC_avg_xy16_altivec,.Lfe16-MC_avg_xy16_altivec
.ident "GCC: (GNU) 2.95.3 20010315 (release)"
More information about the MPlayer-dev-eng
mailing list