| /* { dg-do compile } */ |
| /* { dg-options "-O2 -fno-tree-loop-optimize -fdump-tree-optimized" } */ |
| |
| #define PREC (__CHAR_BIT__) |
| |
| __INT32_TYPE__ count1 (unsigned char b) { |
| int c = 0; |
| |
| while (b) { |
| b &= b - 1; |
| c++; |
| } |
| if (c <= PREC) |
| return 0; |
| else |
| return 34567; |
| } |
| |
| __INT32_TYPE__ count2 (unsigned char b) { |
| int c = 0; |
| |
| while (b) { |
| b &= b - 1; |
| c++; |
| } |
| if (c <= PREC - 1) |
| return 0; |
| else |
| return 76543; |
| } |
| |
| /* { dg-final { scan-tree-dump-times "34567" 0 "optimized" } } */ |
| /* { dg-final { scan-tree-dump-times "76543" 1 "optimized" } } */ |