.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)"