summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/alpha/pr42269-1.c
blob: 5d4ef1c258fc29d4979280c400ef2e9a86a2bc1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler-not "addl" } } */

unsigned
parity (unsigned x)
{
  x ^= x >> 16;
  x ^= x >> 8;
  x ^= x >> 4;
  x &= 0xf;
  return (0x6996 >> x) & 1;
}