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
foo(int x,int c)11 foo (int x, int c)
12 {
13 return x >> c;
14 }
15
16 int
bar(int x,int y,int z)17 bar (int x, int y, int z)
18 {
19 return x >> z;
20 }
21
22 int
baz(int x,int y,int z,int u,int v)23 baz (int x, int y, int z, int u, int v)
24 {
25 return x >> v;
26 }
27