1  /* PR target/82260 */
       2  /* { dg-do compile { target lp64 } } */
       3  /* { dg-options "-Os -mtune=generic -masm=att -mno-bmi2" } */
       4  /* movl %esi, %ecx is shorter than movb %sil, %cl.  While
       5     movl %edx, %ecx is the same size as movb %dl, %cl and
       6     movl %r8d, %ecx is the same size as movb %r8b, %cl, movl
       7     is faster on contemporary CPUs.  */
       8  /* { dg-final { scan-assembler-not {\mmovb\M} } } */
       9  
      10  int
      11  foo (int x, int c)
      12  {
      13    return x >> c;
      14  }
      15  
      16  int
      17  bar (int x, int y, int z)
      18  {
      19    return x >> z;
      20  }
      21  
      22  int
      23  baz (int x, int y, int z, int u, int v)
      24  {
      25    return x >> v;
      26  }