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