# HG changeset patch # User lu_zero # Date 1155674165 0 # Node ID 562758eaf7bf38ec1479d61d762ff1220829bdb3 # Parent 6310389a96883b43118cbf4c35c5eb4cd959a14f 10l, thanks to Emanuele Giaquinta for testing and finding the issue diff -r 6310389a9688 -r 562758eaf7bf ppc/float_altivec.c --- a/ppc/float_altivec.c Tue Aug 15 14:59:27 2006 +0000 +++ b/ppc/float_altivec.c Tue Aug 15 20:36:05 2006 +0000 @@ -138,8 +138,8 @@ s2 = vec_ld(0, src2+i); edges = vec_perm(t1 ,t0, mask); d = vec_madd(s0,s1,s2); - t0 = vec_perm(edges, d, align); - t1 = vec_perm(d, edges, align); + t0 = vec_perm(d, edges, align); + t1 = vec_perm(edges, d, align); vec_st(t0, 0, dst+i); vec_st(t1, 15, dst+i); t0 = t1; @@ -166,8 +166,8 @@ d = vec_packs(t0,t1); d1 = vec_perm(d1, d0, vec_lvsl(0,dst+i)); align = vec_lvsr(0, dst+i); - d0 = vec_perm(d1, d, align); - d1 = vec_perm(d, d1, align); + d0 = vec_perm(d, d1, align); + d1 = vec_perm(d1, d, align); vec_st(d0, 0, dst+i); vec_st(d1,15, dst+i); } diff -r 6310389a9688 -r 562758eaf7bf ppc/h264_altivec.c --- a/ppc/h264_altivec.c Tue Aug 15 14:59:27 2006 +0000 +++ b/ppc/h264_altivec.c Tue Aug 15 20:36:05 2006 +0000 @@ -207,11 +207,11 @@ align = vec_lvsr(0, dst); - tmp1 = vec_perm(edges, d, align); - tmp2 = vec_perm(d, edges, align); + tmp1 = vec_perm(d, edges, align); + tmp2 = vec_perm(edges, d, align); + vec_st(tmp1, 0 , dst); vec_st(tmp2, 15, dst); - vec_st(tmp1, 0 , dst); dst += dst_stride; } @@ -249,11 +249,11 @@ align = vec_lvsr(0, dst); - tmp1 = vec_perm(edges, d, align); - tmp2 = vec_perm(d, edges, align); + tmp1 = vec_perm(d, edges, align); + tmp2 = vec_perm(edges, d, align); + vec_st(tmp1, 0 , dst); vec_st(tmp2, 15, dst); - vec_st(tmp1, 0 , dst); dst += dst_stride; }