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 |
|
|
byte_match_count2 (buf, n, xm, m1, m2, m3, m4)
|
byte_match_count2 (buf, n, xm, m1, m2, m3, m4)
|
unsigned *buf;
|
unsigned *buf;
|
unsigned n;
|
unsigned n;
|
unsigned xm;
|
unsigned xm;
|
unsigned m1, m2, m3, m4;
|
unsigned m1, m2, m3, m4;
|
{
|
{
|
unsigned w, cnt = 0;
|
unsigned w, cnt = 0;
|
unsigned *bp;
|
unsigned *bp;
|
|
|
n /= 4;
|
n /= 4;
|
|
|
bp = buf;
|
bp = buf;
|
while (bp < buf + n)
|
while (bp < buf + n)
|
{
|
{
|
w = *bp++;
|
w = *bp++;
|
w ^= xm;
|
w ^= xm;
|
cnt += ((m1 & w) == 0);
|
cnt += ((m1 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
|
|
w = *bp++;
|
w = *bp++;
|
w ^= xm;
|
w ^= xm;
|
cnt += ((m1 & w) == 0);
|
cnt += ((m1 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
|
|
w = *bp++;
|
w = *bp++;
|
w ^= xm;
|
w ^= xm;
|
cnt += ((m1 & w) == 0);
|
cnt += ((m1 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
|
|
w = *bp++;
|
w = *bp++;
|
w ^= xm;
|
w ^= xm;
|
cnt += ((m1 & w) == 0);
|
cnt += ((m1 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m2 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m3 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
cnt += ((m4 & w) == 0);
|
}
|
}
|
return cnt;
|
return cnt;
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.