1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3 /* { dg-final { scan-assembler-not "addl" } } */
4
5 unsigned
parity(unsigned x)6 parity (unsigned x)
7 {
8 x ^= x >> 16;
9 x ^= x >> 8;
10 x ^= x >> 4;
11 x &= 0xf;
12 return (0x6996 >> x) & 1;
13 }
14