LWG 3035. std::allocator's constructors should be constexpr
[official-gcc.git] / gcc / testsuite / gcc.dg / fold-popcount-2.c
blob27557da7cb131c3ed1347300d9fda9e2875e709e
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-cddce1" } */
4 int test_andone(unsigned int a)
6 return __builtin_popcount(a&1);
9 int test_andonel(unsigned long b)
11 return __builtin_popcountl(b&1);
14 int test_andonell(unsigned long long c)
16 return __builtin_popcountll(c&1);
19 int test_oneand(unsigned int d)
21 return __builtin_popcount(1&d);
24 int test_oneandl(unsigned long e)
26 return __builtin_popcountl(1&e);
29 int test_oneandll(unsigned long long f)
31 return __builtin_popcountll(1&f);
34 /* { dg-final { scan-tree-dump-times "popcount" 0 "cddce1" } } */