diff --git a/libavcodec/sh4/dsputil_sh4.c b/libavcodec/sh4/dsputil_sh4.c index e7e2de6e19..96a33f8c50 100644 --- a/libavcodec/sh4/dsputil_sh4.c +++ b/libavcodec/sh4/dsputil_sh4.c @@ -26,8 +26,6 @@ static void memzero_align8(void *dst,size_t size) { #if defined(__SH4__) || defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) - (char*)dst+=size; - size/=8*4; __asm__( #if defined(__SH4__) " fschg\n" //single float mode @@ -45,7 +43,7 @@ static void memzero_align8(void *dst,size_t size) #if defined(__SH4_SINGLE__) || defined(__SH4_SINGLE_ONLY__) " fschg" //back to single #endif - : : "r"(dst),"r"(size): "memory" ); + : : "r"((char*)dst+size),"r"(size/32): "memory" ); #else double *d = dst; size/=8*4;