diff --git a/libavcodec/ppc/dsputil_ppc.c b/libavcodec/ppc/dsputil_ppc.c index 217f086075..621c71ae92 100644 --- a/libavcodec/ppc/dsputil_ppc.c +++ b/libavcodec/ppc/dsputil_ppc.c @@ -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) {