57
register
int
misal = (
unsigned
long) blocks & 0x00000010, i = 0;
60
((
unsigned
long
*) blocks)[0] = 0
L
;
61
((
unsigned
long
*) blocks)[1] = 0
L
;
62
((
unsigned
long
*) blocks)[2] = 0
L
;
63
((
unsigned
long
*) blocks)[3] = 0
L
;
66
for
(; i <
sizeof
(int16_t) * 6 * 64 - 31; i += 32)
67
__asm__
volatile
(
"dcbz %0,%1"
::
"b"
(blocks),
"r"
(i) :
"memory"
);
69
((
unsigned
long
*) blocks)[188] = 0
L
;
70
((
unsigned
long
*) blocks)[189] = 0
L
;
71
((
unsigned
long
*) blocks)[190] = 0
L
;
72
((
unsigned
long
*) blocks)[191] = 0
L
;
82
register
int
misal = (
unsigned
long) blocks & 0x0000007f, i = 0;
88
memset(blocks, 0,
sizeof
(int16_t) * 6 * 64);
90
for
(; i <
sizeof
(int16_t) * 6 * 64; i += 128)
91
__asm__
volatile
(
"dcbzl %0,%1"
::
"b"
(blocks),
"r"
(i) :
"memory"
);
94
memset(blocks, 0,
sizeof
(int16_t) * 6 * 64);
106
register
char
*fakedata =
av_malloc
(1024);
107
register
char
*fakedata_middle;
108
register
long
zero
= 0, i = 0;
113
fakedata_middle = fakedata + 512;
115
memset(fakedata, 0xFF, 1024);
119
__asm__
volatile
(
"dcbzl %0, %1"
::
"b"
(fakedata_middle),
"r"
(zero));
121
for
(i = 0; i < 1024; i++)
122
if
(fakedata[i] == (
char
) 0)
132
static
void
clear_block_altivec(int16_t *
block
)
void(* clear_block)(int16_t *block)
Memory handling functions.
static long check_dcbzl_effect(void)
void(* clear_blocks)(int16_t *blocks)
Macro definitions for various function/variable attributes.
#define PPC_ALTIVEC(flags)
static void clear_blocks_dcbz128_ppc(int16_t *blocks)
static void clear_blocks_dcbz32_ppc(int16_t *blocks)
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
av_cold void ff_blockdsp_init_ppc(BlockDSPContext *c)