blob: 916dd8b7620d34a578751e1ba0c48ae394a17bce [file] [log] [blame]
/* Tests to check if mov instructions are emitted efficiently. */
/* { dg-require-effective-target codedensity } */
/* { dg-options "-Os" } */
int rule1 (void)
{
return 0x3f000000;
}
int rule2 (void)
{
return 0x3f00;
}
int rule3 (void)
{
return 0x3f0000;
}
int rule4 (void)
{
return 0x22000;
}
int rule5 (void)
{
return 0x8000001f;
}
int rule6 (void)
{
return 0x3fffff;
}
/* { dg-final { scan-assembler "ror8\\s+r0,63" } } */
/* { dg-final { scan-assembler "lsl8\\s+r0,63" } } */
/* { dg-final { scan-assembler "lsl16\\s+r0,63" } } */
/* { dg-final { scan-assembler "ror\\s+r0,63" } } */
/* { dg-final { scan-assembler "mov_s\\s+r0,17" } } */
/* { dg-final { scan-assembler "asl_s\\s+r0,r0,13" } } */
/* { dg-final { scan-assembler "mov_s\\s+r0,-1" } } */
/* { dg-final { scan-assembler "bmsk_s\\s+r0,r0,21" } } */