1 /* PR tree-optimization/94800 */
2 /* { dg-do compile } */
3 /* { dg-require-effective-target popcount } */
4 /* { dg-require-effective-target int32plus } */
5 /* { dg-options "-O2 -fdump-tree-optimized" } */
7 const unsigned m1
= 0x55555555UL
;
8 const unsigned m2
= 0x33333333UL
;
9 const unsigned m4
= 0x0F0F0F0FUL
;
12 int popcount64c(unsigned x
)
15 x
= (x
& m2
) + ((x
>> 2) & m2
);
16 x
= (x
+ (x
>> 4)) & m4
;
22 /* { dg-final { scan-tree-dump-times "\.POPCOUNT" 1 "optimized" } } */