@ -74,9 +74,9 @@ static void clear_blocks_dcbz32_ppc(int16_t *blocks)
/* Same as above, when dcbzl clears a whole 128 bytes cache line
* i . e . the PPC970 AKA G5 . */
# if HAVE_DCBZL
static void clear_blocks_dcbz128_ppc ( int16_t * blocks )
{
# if HAVE_DCBZL
register int misal = ( unsigned long ) blocks & 0x0000007f ;
register int i = 0 ;
@ -89,26 +89,23 @@ static void clear_blocks_dcbz128_ppc(int16_t *blocks)
for ( ; i < sizeof ( int16_t ) * 6 * 64 ; i + = 128 )
__asm__ volatile ( " dcbzl %0,%1 " : : " b " ( blocks ) , " r " ( i ) : " memory " ) ;
}
}
# else
static void clear_blocks_dcbz128_ppc ( int16_t * blocks )
{
memset ( blocks , 0 , sizeof ( int16_t ) * 6 * 64 ) ;
}
# endif
}
# if HAVE_DCBZL
/* Check dcbz report how many bytes are set to 0 by dcbz. */
/* update 24/06/2003: Replace dcbz by dcbzl to get the intended effect
* ( Apple " fixed " dcbz ) . Unfortunately this cannot be used unless the
* assembler knows about dcbzl . . . */
static long check_dcbzl_effect ( void )
{
long count = 0 ;
# if HAVE_DCBZL
register char * fakedata = av_malloc ( 1024 ) ;
register char * fakedata_middle ;
register long zero = 0 ;
register long i = 0 ;
long count = 0 ;
if ( ! fakedata )
return 0L ;
@ -126,15 +123,10 @@ static long check_dcbzl_effect(void)
count + + ;
av_free ( fakedata ) ;
# endif
return count ;
}
# else
static long check_dcbzl_effect ( void )
{
return 0 ;
}
# endif
av_cold void ff_dsputil_init_ppc ( DSPContext * c , AVCodecContext * avctx )
{