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