URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
void
|
void
|
f (n, ppt, xrot)
|
f (n, ppt, xrot)
|
{
|
{
|
int tileWidth;
|
int tileWidth;
|
int nlwSrc;
|
int nlwSrc;
|
int srcx;
|
int srcx;
|
int v3, v4;
|
int v3, v4;
|
register unsigned long ca1, cx1, ca2, cx2;
|
register unsigned long ca1, cx1, ca2, cx2;
|
unsigned long *pSrcLine;
|
unsigned long *pSrcLine;
|
register unsigned long *pDst;
|
register unsigned long *pDst;
|
register unsigned long *pSrc;
|
register unsigned long *pSrc;
|
register unsigned long b, tmp;
|
register unsigned long b, tmp;
|
unsigned long tileEndMask;
|
unsigned long tileEndMask;
|
int v1, v2;
|
int v1, v2;
|
int tileEndPart;
|
int tileEndPart;
|
int needFirst;
|
int needFirst;
|
tileEndPart = 0;
|
tileEndPart = 0;
|
v1 = tileEndPart << 5;
|
v1 = tileEndPart << 5;
|
v2 = 32 - v1;
|
v2 = 32 - v1;
|
while (n--)
|
while (n--)
|
{
|
{
|
if ((srcx = (ppt - xrot) % tileWidth) < 0)
|
if ((srcx = (ppt - xrot) % tileWidth) < 0)
|
if (needFirst)
|
if (needFirst)
|
if (nlwSrc == 1)
|
if (nlwSrc == 1)
|
{
|
{
|
tmp = b;
|
tmp = b;
|
if (tileEndPart)
|
if (tileEndPart)
|
b = (*pSrc & tileEndMask) | (*pSrcLine >> v1);
|
b = (*pSrc & tileEndMask) | (*pSrcLine >> v1);
|
}
|
}
|
if (tileEndPart)
|
if (tileEndPart)
|
b = (tmp << v1) | (b >> v2);
|
b = (tmp << v1) | (b >> v2);
|
if (v4 != 32)
|
if (v4 != 32)
|
*pDst = (*pDst & ((tmp << v3) | (b >> v4) & ca1 ^ cx1)
|
*pDst = (*pDst & ((tmp << v3) | (b >> v4) & ca1 ^ cx1)
|
^ (((tmp << v3) | (b >> v4)) & ca2 ^ cx2));
|
^ (((tmp << v3) | (b >> v4)) & ca2 ^ cx2));
|
*pDst = *pDst & tmp;
|
*pDst = *pDst & tmp;
|
}
|
}
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.