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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 115 - (download) (annotate)
Thu Apr 11 10:18:40 2002 UTC (21 years, 11 months ago) by canard
File size: 8992 byte(s)
PPC update
	.file	"sad_altivec.c"
gcc2_compiled.:
	.section	".rodata"
	.align 4
	.type	 perms,@object
	.size	 perms,32
perms:
	.long 66051
	.long 67438087
	.long 269554195
	.long 336926231
	.long 134810123
	.long 202182159
	.long 404298267
	.long 471670303
	.section	".text"
	.align 2
	.globl sad16_altivec
	.type	 sad16_altivec,@function
sad16_altivec:
	stwu %r1,-48(%r1)
	addi %r9,%r4,16
	lvx %v13,0,%r4
	lvx %v0,0,%r9
	rlwinm %r5,%r5,0,0,27
	lvx %v1,0,%r3
	lvsl %v16,0,%r4
	add %r4,%r4,%r5
	addi %r9,%r4,16
	lvx %v11,0,%r4
	vperm %v19,%v13,%v0,%v16
	lvx %v12,0,%r9
	add %r3,%r3,%r5
	lvx %v0,0,%r3
	add %r4,%r4,%r5
	vminub %v18,%v19,%v1
	addi %r9,%r4,16
	lvx %v9,0,%r4
	vmaxub %v2,%v19,%v1
	lvx %v10,0,%r9
	add %r3,%r3,%r5
	vperm %v19,%v11,%v12,%v16
	lvx %v13,0,%r3
	add %r4,%r4,%r5
	vsububm %v2,%v2,%v18
	addi %r9,%r4,16
	lvx %v11,0,%r4
	vminub %v18,%v19,%v0
	lvx %v12,0,%r9
	add %r3,%r3,%r5
	vsum4ubs %v17,%v2,%v31
	lvx %v1,0,%r3
	addi %r9,%r1,16
	vmaxub %v2,%v19,%v0
	stw %r6,16(%r1)
	vperm %v19,%v9,%v10,%v16
	lvx %v0,0,%r9
	add %r3,%r3,%r5
	vsububm %v2,%v2,%v18
	add %r4,%r4,%r5
	vminub %v18,%v19,%v13
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v13
	vspltw %v7,%v0,0
	vperm %v19,%v11,%v12,%v16
	stvx %v7,0,%r9
	vsububm %v2,%v2,%v18
	vminub %v18,%v19,%v1
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v1
	vsububm %v2,%v2,%v18
	vsum4ubs %v17,%v2,%v17
	vsumsws %v0,%v17,%v31
	vcmpgtsw. %v1,%v7,%v0
	bc 12,26,.L23
	addi %r9,%r4,16
	lvx %v1,0,%r4
	lvx %v0,0,%r9
	add %r4,%r4,%r5
	lvx %v13,0,%r3
	addi %r9,%r4,16
	lvx %v12,0,%r4
	add %r3,%r3,%r5
	lvx %v11,0,%r9
	add %r4,%r4,%r5
	vperm %v19,%v1,%v0,%v16
	lvx %v10,0,%r3
	addi %r9,%r4,16
	lvx %v8,0,%r4
	add %r3,%r3,%r5
	vminub %v18,%v19,%v13
	lvx %v9,0,%r9
	add %r4,%r4,%r5
	vmaxub %v2,%v19,%v13
	lvx %v1,0,%r3
	addi %r9,%r4,16
	vperm %v19,%v12,%v11,%v16
	lvx %v13,0,%r9
	add %r3,%r3,%r5
	vsububm %v2,%v2,%v18
	lvx %v12,0,%r4
	vminub %v18,%v19,%v10
	lvx %v0,0,%r3
	add %r4,%r4,%r5
	vsum4ubs %v17,%v2,%v17
	add %r3,%r3,%r5
	vmaxub %v2,%v19,%v10
	vperm %v19,%v8,%v9,%v16
	vsububm %v2,%v2,%v18
	vminub %v18,%v19,%v1
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v1
	vperm %v19,%v12,%v13,%v16
	vsububm %v2,%v2,%v18
	vminub %v18,%v19,%v0
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v0
	vsububm %v2,%v2,%v18
	vsum4ubs %v17,%v2,%v17
	vsumsws %v0,%v17,%v31
	vcmpgtsw. %v7,%v7,%v0
	bc 12,26,.L23
	addi %r9,%r4,16
	lvx %v1,0,%r4
	lvx %v0,0,%r9
	add %r4,%r4,%r5
	lvx %v13,0,%r3
	addi %r9,%r4,16
	lvx %v11,0,%r9
	add %r3,%r3,%r5
	lvx %v12,0,%r4
	vperm %v19,%v1,%v0,%v16
	lvx %v10,0,%r3
	add %r4,%r4,%r5
	addi %r9,%r4,16
	lvx %v9,0,%r4
	vminub %v18,%v19,%v13
	lvx %v1,0,%r9
	add %r3,%r3,%r5
	vmaxub %v2,%v19,%v13
	lvx %v0,0,%r3
	add %r4,%r4,%r5
	vperm %v19,%v12,%v11,%v16
	addi %r9,%r4,16
	vsububm %v2,%v2,%v18
	lvx %v11,0,%r4
	add %r3,%r3,%r5
	vminub %v18,%v19,%v10
	lvx %v12,0,%r9
	add %r4,%r4,%r5
	vsum4ubs %v17,%v2,%v17
	lvx %v8,0,%r3
	addi %r9,%r4,16
	vmaxub %v2,%v19,%v10
	lvx %v3,0,%r4
	add %r3,%r3,%r5
	vperm %v19,%v9,%v1,%v16
	lvx %v4,0,%r9
	add %r4,%r4,%r5
	vsububm %v2,%v2,%v18
	lvx %v10,0,%r3
	addi %r9,%r4,16
	vminub %v18,%v19,%v0
	lvx %v5,0,%r4
	add %r3,%r3,%r5
	vsum4ubs %v17,%v2,%v17
	lvx %v6,0,%r9
	add %r4,%r4,%r5
	vmaxub %v2,%v19,%v0
	lvx %v13,0,%r3
	addi %r9,%r4,16
	vperm %v19,%v11,%v12,%v16
	lvx %v7,0,%r4
	add %r3,%r3,%r5
	vsububm %v2,%v2,%v18
	lvx %v9,0,%r9
	add %r4,%r4,%r5
	vminub %v18,%v19,%v8
	lvx %v1,0,%r3
	addi %r9,%r4,16
	vsum4ubs %v17,%v2,%v17
	lvx %v11,0,%r4
	vmaxub %v2,%v19,%v8
	lvx %v12,0,%r9
	vperm %v19,%v3,%v4,%v16
	lvx %v0,%r3,%r5
	vsububm %v2,%v2,%v18
	vminub %v18,%v19,%v10
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v10
	vperm %v19,%v5,%v6,%v16
	vsububm %v2,%v2,%v18
	vminub %v18,%v19,%v13
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v13
	vperm %v19,%v7,%v9,%v16
	vsububm %v2,%v2,%v18
	vminub %v18,%v19,%v1
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v1
	vperm %v19,%v11,%v12,%v16
	vsububm %v2,%v2,%v18
	vminub %v18,%v19,%v0
	vsum4ubs %v17,%v2,%v17
	vmaxub %v2,%v19,%v0
	vsububm %v2,%v2,%v18
	vsum4ubs %v17,%v2,%v17
	vsumsws %v0,%v17,%v31
.L23:
	vspltw %v0,%v0,3
	addi %r0,%r1,32
	stvewx %v0,0,%r0
	lwz %r3,32(%r1)
	la %r1,48(%r1)
	blr
.Lfe1:
	.size	 sad16_altivec,.Lfe1-sad16_altivec
	.align 2
	.globl sad8_altivec
	.type	 sad8_altivec,@function
sad8_altivec:
	stwu %r1,-16(%r1)
	andi. %r0,%r3,8
	vsldoi %v16,%v30,%v30,0
	bc 4,2,.L26
	vsldoi %v16,%v29,%v29,0
.L26:
	srwi %r5,%r5,4
	lvx %v8,0,%r4
	vsldoi %v6,%v29,%v29,0
	slwi %r10,%r5,4
	lvx %v11,0,%r3
	add %r9,%r10,%r4
	lvx %v10,%r10,%r4
	addi %r11,%r4,16
	lvx %v0,%r10,%r3
	addi %r9,%r9,16
	lvx %v12,0,%r11
	lvx %v13,0,%r9
	lvsl %v1,0,%r4
	slwi %r0,%r5,5
	add %r4,%r4,%r0
	vperm %v18,%v11,%v0,%v16
	add %r9,%r10,%r4
	vperm %v3,%v8,%v12,%v1
	lvx %v9,0,%r4
	vperm %v17,%v10,%v13,%v1
	addi %r11,%r4,16
	lvx %v12,%r10,%r4
	addi %r9,%r9,16
	lvx %v13,0,%r11
	lvx %v0,0,%r9
	vperm %v3,%v3,%v17,%v6
	add %r3,%r3,%r0
	add %r4,%r4,%r0
	lvx %v10,0,%r3
	lvx %v11,%r10,%r3
	vminub %v19,%v18,%v3
	add %r9,%r10,%r4
	vmaxub %v2,%v18,%v3
	addi %r11,%r4,16
	vperm %v17,%v12,%v0,%v1
	addi %r9,%r9,16
	lvx %v4,0,%r11
	vperm %v3,%v9,%v13,%v1
	vsububm %v2,%v2,%v19
	lvx %v5,0,%r9
	lvx %v9,0,%r4
	vperm %v18,%v10,%v11,%v16
	add %r3,%r3,%r0
	lvx %v13,%r10,%r4
	vperm %v3,%v3,%v17,%v6
	vsum4ubs %v0,%v2,%v31
	add %r4,%r4,%r0
	lvx %v12,%r10,%r3
	lvx %v8,0,%r3
	vminub %v19,%v18,%v3
	add %r9,%r10,%r4
	vmaxub %v2,%v18,%v3
	addi %r9,%r9,16
	lvx %v7,%r10,%r4
	vperm %v17,%v13,%v5,%v1
	addi %r11,%r4,16
	lvx %v10,0,%r9
	vperm %v3,%v9,%v4,%v1
	vsububm %v2,%v2,%v19
	lvx %v11,0,%r4
	lvx %v9,0,%r11
	vperm %v18,%v8,%v12,%v16
	add %r3,%r3,%r0
	vperm %v3,%v3,%v17,%v6
	vsum4ubs %v0,%v2,%v0
	lvx %v12,%r10,%r3
	lvx %v13,0,%r3
	vperm %v17,%v7,%v10,%v1
	addi %r8,%r1,8
	vminub %v19,%v18,%v3
	vmaxub %v2,%v18,%v3
	vperm %v3,%v11,%v9,%v1
	vsububm %v2,%v2,%v19
	vperm %v18,%v13,%v12,%v16
	vperm %v3,%v3,%v17,%v6
	vsum4ubs %v0,%v2,%v0
	vminub %v19,%v18,%v3
	vmaxub %v2,%v18,%v3
	vsububm %v2,%v2,%v19
	vsum4ubs %v0,%v2,%v0
	vsumsws %v0,%v0,%v31
	vspltw %v0,%v0,3
	stvewx %v0,0,%r8
	lwz %r3,8(%r1)
	la %r1,16(%r1)
	blr
.Lfe2:
	.size	 sad8_altivec,.Lfe2-sad8_altivec
	.align 2
	.globl dev16_altivec
	.type	 dev16_altivec,@function
dev16_altivec:
	stwu %r1,-16(%r1)
	lvx %v13,0,%r3
	rlwinm %r4,%r4,0,0,27
	vspltisb %v1,14
	add %r3,%r3,%r4
	lvx %v12,0,%r3
	addi %r0,%r1,8
	add %r3,%r3,%r4
	vsum4ubs %v0,%v13,%v31
	lvx %v11,0,%r3
	add %r3,%r3,%r4
	lvx %v10,0,%r3
	add %r3,%r3,%r4
	lvx %v9,0,%r3
	vsum4ubs %v0,%v12,%v0
	add %r3,%r3,%r4
	lvx %v8,0,%r3
	add %r3,%r3,%r4
	lvx %v7,0,%r3
	add %r3,%r3,%r4
	vsum4ubs %v0,%v11,%v0
	lvx %v6,0,%r3
	add %r3,%r3,%r4
	lvx %v5,0,%r3
	add %r3,%r3,%r4
	lvx %v4,0,%r3
	vsum4ubs %v0,%v10,%v0
	add %r3,%r3,%r4
	lvx %v3,0,%r3
	add %r3,%r3,%r4
	lvx %v2,0,%r3
	add %r3,%r3,%r4
	vsum4ubs %v0,%v9,%v0
	lvx %v19,0,%r3
	add %r3,%r3,%r4
	lvx %v18,0,%r3
	add %r3,%r3,%r4
	lvx %v17,0,%r3
	vsum4ubs %v0,%v8,%v0
	lvx %v16,%r3,%r4
	vsum4ubs %v0,%v7,%v0
	vsum4ubs %v0,%v6,%v0
	vsum4ubs %v0,%v5,%v0
	vsum4ubs %v0,%v4,%v0
	vsum4ubs %v0,%v3,%v0
	vsum4ubs %v0,%v2,%v0
	vsum4ubs %v0,%v19,%v0
	vsum4ubs %v0,%v18,%v0
	vsum4ubs %v0,%v17,%v0
	vsum4ubs %v0,%v16,%v0
	vsumsws %v0,%v0,%v31
	vperm %v1,%v0,%v0,%v1
	vminub %v15,%v13,%v1
	vmaxub %v13,%v13,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v12,%v1
	vsum4ubs %v0,%v13,%v31
	vmaxub %v13,%v12,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v11,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v11,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v10,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v10,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v9,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v9,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v8,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v8,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v7,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v7,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v6,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v6,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v5,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v5,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v4,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v4,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v3,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v3,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v2,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v2,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v19,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v19,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v18,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v18,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v17,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v17,%v1
	vsububm %v13,%v13,%v15
	vminub %v15,%v16,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v16,%v1
	vsububm %v13,%v13,%v15
	vsum4ubs %v0,%v13,%v0
	vsumsws %v0,%v0,%v31
	vspltw %v0,%v0,3
	stvewx %v0,0,%r0
	lwz %r3,8(%r1)
	la %r1,16(%r1)
	blr
.Lfe3:
	.size	 dev16_altivec,.Lfe3-dev16_altivec
	.align 2
	.globl sadInit_altivec
	.type	 sadInit_altivec,@function
sadInit_altivec:
	lis %r9,perms@ha
	vspltisw %v31,0
	la %r9,perms@l(%r9)
	addi %r11,%r9,16
	lvx %v29,0,%r9
	lvx %v30,0,%r11
	blr
.Lfe4:
	.size	 sadInit_altivec,.Lfe4-sadInit_altivec
	.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