diff -urN x264/common/pixel.c x264-work/common/pixel.c --- x264/common/pixel.c 2005-07-20 21:32:39.742125000 -0700 +++ x264-work/common/pixel.c 2005-07-20 21:40:33.507089000 -0700 @@ -438,7 +438,10 @@ } #endif #ifdef ARCH_UltraSparc - pixf->sad[PIXEL_8x8] = x264_pixel_sad_8x8_vis; + pixf->sad[PIXEL_8x8] = x264_pixel_sad_8x8_vis; + pixf->sad[PIXEL_8x16] = x264_pixel_sad_8x16_vis; + pixf->sad[PIXEL_16x8] = x264_pixel_sad_16x8_vis; + pixf->sad[PIXEL_16x16] = x264_pixel_sad_16x16_vis; #endif } diff -urN x264/common/sparc/pixel.asm x264-work/common/sparc/pixel.asm --- x264/common/sparc/pixel.asm 2005-07-20 21:32:34.443471000 -0700 +++ x264-work/common/sparc/pixel.asm 2005-07-20 21:44:26.331776000 -0700 @@ -24,7 +24,6 @@ ! VIS optimized SAD for UltraSPARC .text -.align 4 .global x264_pixel_sad_8x8_vis x264_pixel_sad_8x8_vis: save %sp, -120, %sp @@ -148,3 +147,941 @@ ret restore + +.global x264_pixel_sad_8x16_vis +x264_pixel_sad_8x16_vis: + save %sp, -120, %sp + + fzero %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + std %f12, [%fp-24] + ld [%fp-20], %i0 + + ret + restore + +.global x264_pixel_sad_16x8_vis +x264_pixel_sad_16x8_vis: + save %sp, -120, %sp + + fzero %f12 ! zero out the accumulator used for pdist + + sub %i1, 8, %i1 ! reduce stride by 8, since we are moving forward 8 each block + sub %i3, 8, %i3 ! same here, reduce stride by 8 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + std %f12, [%fp-24] + ld [%fp-20], %i0 + + ret + restore + +.global x264_pixel_sad_16x16_vis +x264_pixel_sad_16x16_vis: + save %sp, -120, %sp + + fzero %f12 ! zero out the accumulator used for pdist + + sub %i1, 8, %i1 ! reduce stride by 8, since we are moving forward 8 each block + sub %i3, 8, %i3 ! same here, reduce stride by 8 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, 8, %i0 + add %i2, 8, %i2 + pdist %f4, %f10, %f12 + + alignaddr %i0, %g0, %l0 + ldd [%l0], %f0 + ldd [%l0+8], %f2 + faligndata %f0, %f2, %f4 + + alignaddr %i2, %g0, %l2 + ldd [%l2], %f6 + ldd [%l2+8], %f8 + faligndata %f6, %f8, %f10 + + add %i0, %i1, %i0 + add %i2, %i3, %i2 + pdist %f4, %f10, %f12 + + std %f12, [%fp-24] + ld [%fp-20], %i0 + + ret + restore diff -urN x264/common/sparc/pixel.h x264-work/common/sparc/pixel.h --- x264/common/sparc/pixel.h 2005-07-20 21:32:34.491747000 -0700 +++ x264-work/common/sparc/pixel.h 2005-07-20 21:42:58.606955000 -0700 @@ -25,5 +25,8 @@ #define _SPARC_PIXEL_H 1 int x264_pixel_sad_8x8_vis( uint8_t *, int, uint8_t *, int ); +int x264_pixel_sad_8x16_vis( uint8_t *, int, uint8_t *, int ); +int x264_pixel_sad_16x8_vis( uint8_t *, int, uint8_t *, int ); +int x264_pixel_sad_16x16_vis( uint8_t *, int, uint8_t *, int ); #endif