1 /* { dg-do compile } */
2 /* { dg-options "-O -fdump-tree-optimized-raw" } */
3 
f(unsigned i)4 unsigned f(unsigned i){
5   i >>= __SIZEOF_INT__ * __CHAR_BIT__ - 3;
6   i = ~i;
7   return i & 7;
8 }
9 
10 /* { dg-final { scan-tree-dump "bit_xor_expr" "optimized" } } */
11 /* { dg-final { scan-tree-dump-not "bit_not_expr" "optimized" } } */
12 /* { dg-final { scan-tree-dump-not "bit_and_expr" "optimized" } } */
13