URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 320 |
Rev 384 |
/* { dg-do compile } */
|
/* { dg-do compile } */
|
/* { dg-options "-Os -mcpu=5249" } */
|
/* { dg-options "-Os -mcpu=5249" } */
|
|
|
static inline void vect_add(int *x, int *y, int n)
|
static inline void vect_add(int *x, int *y, int n)
|
{
|
{
|
asm volatile ("nop;"
|
asm volatile ("nop;"
|
: [n] "+d" (n), [x] "+a" (x), [y] "+a" (y)
|
: [n] "+d" (n), [x] "+a" (x), [y] "+a" (y)
|
: : "%d0", "%d1", "%d2", "%d3", "%a0", "%a1", "%a2", "%a3",
|
: : "%d0", "%d1", "%d2", "%d3", "%a0", "%a1", "%a2", "%a3",
|
"cc", "memory");
|
"cc", "memory");
|
}
|
}
|
|
|
extern void vect_copy (int *, int *, int);
|
extern void vect_copy (int *, int *, int);
|
|
|
void vorbis_synthesis_blockin(int *blocksizes)
|
void vorbis_synthesis_blockin(int *blocksizes)
|
{
|
{
|
int j, *pcm, *p;
|
int j, *pcm, *p;
|
|
|
int n=blocksizes[*p]/2;
|
int n=blocksizes[*p]/2;
|
int n0=blocksizes[0]/2;
|
int n0=blocksizes[0]/2;
|
int n1=blocksizes[1]/2;
|
int n1=blocksizes[1]/2;
|
|
|
for(j=0;j<*p;j++)
|
for(j=0;j<*p;j++)
|
{
|
{
|
vect_add(p, pcm, n1);
|
vect_add(p, pcm, n1);
|
vect_add(pcm, p, n0);
|
vect_add(pcm, p, n0);
|
vect_add(p, pcm, n0);
|
vect_add(p, pcm, n0);
|
vect_add(p, pcm, n0);
|
vect_add(p, pcm, n0);
|
vect_copy(pcm, p, n);
|
vect_copy(pcm, p, n);
|
}
|
}
|
}
|
}
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.