[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 95 - (download) (annotate)
Mon Apr 1 12:06:18 2002 UTC (18 years, 3 months ago) by canard
File size: 8827 byte(s)
optimization
	.file	"sad_altivec.c"
gcc2_compiled.:
	.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
	vxor %v15,%v15,%v15
	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,%v15
	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,%v15
	vcmpgtsw. %v1,%v7,%v0
	bc 12,26,.L19
	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,%v15
	vcmpgtsw. %v7,%v7,%v0
	bc 12,26,.L19
	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,%v15
.L19:
	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
	.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 sad8_altivec
	.type	 sad8_altivec,@function
sad8_altivec:
	stwu %r1,-16(%r1)
	srwi %r5,%r5,4
	lvx %v6,0,%r4
	vxor %v2,%v2,%v2
	slwi %r8,%r5,4
	lvx %v10,0,%r3
	add %r9,%r8,%r4
	lvx %v12,%r8,%r4
	addi %r9,%r9,16
	lvx %v11,%r8,%r3
	addi %r10,%r4,16
	lvx %v0,0,%r9
	lvx %v13,0,%r10
	lis %r11,perms@ha
	la %r11,perms@l(%r11)
	rlwinm %r9,%r3,1,27,27
	lvx %v7,0,%r11
	lvsl %v1,0,%r4
	lvx %v8,%r11,%r9
	slwi %r5,%r5,5
	add %r4,%r4,%r5
	vperm %v16,%v12,%v0,%v1
	vperm %v19,%v6,%v13,%v1
	add %r9,%r8,%r4
	lvx %v9,0,%r4
	addi %r11,%r4,16
	vperm %v18,%v10,%v11,%v8
	lvx %v12,%r8,%r4
	addi %r9,%r9,16
	vperm %v19,%v19,%v16,%v7
	lvx %v13,0,%r11
	lvx %v0,0,%r9
	add %r3,%r3,%r5
	vminub %v17,%v18,%v19
	lvx %v10,0,%r3
	add %r4,%r4,%r5
	lvx %v11,%r8,%r3
	vmaxub %v18,%v18,%v19
	add %r9,%r8,%r4
	vperm %v19,%v9,%v13,%v1
	addi %r11,%r4,16
	vperm %v16,%v12,%v0,%v1
	vsububm %v17,%v18,%v17
	addi %r9,%r9,16
	lvx %v9,0,%r4
	add %r3,%r3,%r5
	vperm %v18,%v10,%v11,%v8
	lvx %v13,%r8,%r4
	vsum4ubs %v0,%v17,%v2
	vperm %v19,%v19,%v16,%v7
	lvx %v4,0,%r9
	add %r4,%r4,%r5
	lvx %v3,0,%r11
	add %r9,%r8,%r4
	vminub %v17,%v18,%v19
	lvx %v12,%r8,%r3
	addi %r9,%r9,16
	lvx %v6,0,%r3
	vmaxub %v18,%v18,%v19
	addi %r11,%r4,16
	vperm %v16,%v13,%v4,%v1
	lvx %v5,%r8,%r4
	add %r3,%r3,%r5
	vperm %v19,%v9,%v3,%v1
	vsububm %v17,%v18,%v17
	lvx %v10,0,%r9
	lvx %v9,0,%r11
	addi %r0,%r1,8
	vperm %v18,%v6,%v12,%v8
	lvx %v11,0,%r4
	vsum4ubs %v0,%v17,%v0
	vperm %v19,%v19,%v16,%v7
	lvx %v12,%r8,%r3
	lvx %v13,0,%r3
	vperm %v16,%v5,%v10,%v1
	vminub %v17,%v18,%v19
	vmaxub %v18,%v18,%v19
	vperm %v19,%v11,%v9,%v1
	vsububm %v17,%v18,%v17
	vperm %v18,%v13,%v12,%v8
	vperm %v19,%v19,%v16,%v7
	vsum4ubs %v0,%v17,%v0
	vminub %v17,%v18,%v19
	vmaxub %v18,%v18,%v19
	vsububm %v17,%v18,%v17
	vsum4ubs %v0,%v17,%v0
	vsumsws %v0,%v0,%v2
	vspltw %v0,%v0,3
	stvewx %v0,0,%r0
	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
	vxor %v15,%v15,%v15
	rlwinm %r4,%r4,0,0,27
	add %r3,%r3,%r4
	vspltisb %v1,14
	lvx %v12,0,%r3
	addi %r0,%r1,8
	add %r3,%r3,%r4
	vsum4ubs %v0,%v13,%v15
	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,%v15
	vperm %v1,%v0,%v0,%v1
	vminub %v14,%v13,%v1
	vmaxub %v13,%v13,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v12,%v1
	vsum4ubs %v0,%v13,%v15
	vmaxub %v13,%v12,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v11,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v11,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v10,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v10,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v9,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v9,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v8,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v8,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v7,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v7,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v6,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v6,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v5,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v5,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v4,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v4,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v3,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v3,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v2,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v2,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v19,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v19,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v18,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v18,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v17,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v17,%v1
	vsububm %v13,%v13,%v14
	vminub %v14,%v16,%v1
	vsum4ubs %v0,%v13,%v0
	vmaxub %v13,%v16,%v1
	vsububm %v13,%v13,%v14
	vsum4ubs %v0,%v13,%v0
	vsumsws %v0,%v0,%v15
	vspltw %v0,%v0,3
	stvewx %v0,0,%r0
	lwz %r3,8(%r1)
	la %r1,16(%r1)
	blr
.Lfe3:
	.size	 dev16_altivec,.Lfe3-dev16_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