/* { dg-do compile } */ | |
/* { dg-options "-O1" } */ | |
int lshift1(int v) | |
{ | |
return v << 1; | |
} | |
int lshift2(int v, int s) | |
{ | |
return v << (s * 8); | |
} | |
unsigned int lshift3(unsigned int v, int s) | |
{ | |
return v << (s * 8); | |
} | |
int rshift1(int v, int s) | |
{ | |
return v >> (s * 8); | |
} | |
unsigned int rshift2(unsigned int v, int s) | |
{ | |
return v >> (s * 8); | |
} | |
/* { dg-final { scan-assembler-not "slli" } } */ | |
/* { dg-final { scan-assembler-times "ssa8l" 2 } } */ | |
/* { dg-final { scan-assembler-times "ssa8b" 2 } } */ |