1 /* { dg-skip-if "too many arguments in function call" { bpf-*-* } } */
2 
byte_match_count2(buf,n,xm,m1,m2,m3,m4)3 byte_match_count2 (buf, n, xm, m1, m2, m3, m4)
4      unsigned *buf;
5      unsigned n;
6      unsigned xm;
7      unsigned m1, m2, m3, m4;
8 {
9   unsigned w, cnt = 0;
10   unsigned *bp;
11 
12   n /= 4;
13 
14   bp = buf;
15   while (bp < buf + n)
16     {
17       w = *bp++;
18       w ^= xm;
19       cnt += ((m1 & w) == 0);
20       cnt += ((m2 & w) == 0);
21       cnt += ((m3 & w) == 0);
22       cnt += ((m4 & w) == 0);
23 
24       w = *bp++;
25       w ^= xm;
26       cnt += ((m1 & w) == 0);
27       cnt += ((m2 & w) == 0);
28       cnt += ((m3 & w) == 0);
29       cnt += ((m4 & w) == 0);
30 
31       w = *bp++;
32       w ^= xm;
33       cnt += ((m1 & w) == 0);
34       cnt += ((m2 & w) == 0);
35       cnt += ((m3 & w) == 0);
36       cnt += ((m4 & w) == 0);
37 
38       w = *bp++;
39       w ^= xm;
40       cnt += ((m1 & w) == 0);
41       cnt += ((m2 & w) == 0);
42       cnt += ((m3 & w) == 0);
43       cnt += ((m4 & w) == 0);
44     }
45   return cnt;
46 }
47