[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