/* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */ | |
byte_match_count2 (buf, n, xm, m1, m2, m3, m4) | |
unsigned *buf; | |
unsigned n; | |
unsigned xm; | |
unsigned m1, m2, m3, m4; | |
{ | |
unsigned w, cnt = 0; | |
unsigned *bp; | |
n /= 4; | |
bp = buf; | |
while (bp < buf + n) | |
{ | |
w = *bp++; | |
w ^= xm; | |
cnt += ((m1 & w) == 0); | |
cnt += ((m2 & w) == 0); | |
cnt += ((m3 & w) == 0); | |
cnt += ((m4 & w) == 0); | |
w = *bp++; | |
w ^= xm; | |
cnt += ((m1 & w) == 0); | |
cnt += ((m2 & w) == 0); | |
cnt += ((m3 & w) == 0); | |
cnt += ((m4 & w) == 0); | |
w = *bp++; | |
w ^= xm; | |
cnt += ((m1 & w) == 0); | |
cnt += ((m2 & w) == 0); | |
cnt += ((m3 & w) == 0); | |
cnt += ((m4 & w) == 0); | |
w = *bp++; | |
w ^= xm; | |
cnt += ((m1 & w) == 0); | |
cnt += ((m2 & w) == 0); | |
cnt += ((m3 & w) == 0); | |
cnt += ((m4 & w) == 0); | |
} | |
return cnt; | |
} |