1  /* { dg-do compile } */
       2  /* { dg-options "-O2" } */
       3  
       4  int f1(int x, int y)
       5  {
       6    return (y & 0xfffffff) | (((x <<28) & 0xf0000000));
       7  }
       8  
       9  
      10  int f2(int x, int y)
      11  {
      12    return (((x <<28) & 0xf0000000)) | (y & 0xfffffff);
      13  }
      14  
      15  /* { dg-final { scan-assembler-times {\tbfi\t} 2 } } */