1 /* { dg-do compile } */ 2 /* { dg-options "-O -fdump-tree-optimized-raw" } */ 3 f(unsigned i)4unsigned 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