blob: 2c037d5465655a204fecf90a8bad8b3a5adafd25 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2" } */
int mul3(int v)
{
return v * 3;
}
int mul5(int v)
{
return v * 5;
}
int mul7(int v)
{
return v * 7;
}
int mul9(int v)
{
return v * 9;
}
int mul2sub(int a, int b)
{
return a * 2 - b;
}
int mul4sub(int a, int b)
{
return a * 4 - b;
}
short index2(short *p, int i)
{
return p[i];
}
int index4(int *p, int i)
{
return p[i];
}
long long index8(long long *p, int i)
{
return p[i];
}
/* { dg-final { scan-assembler-times "addx2" 2 } } */
/* { dg-final { scan-assembler-times "addx4" 2 } } */
/* { dg-final { scan-assembler-times "addx8" 2 } } */
/* { dg-final { scan-assembler-times "subx2" 1 } } */
/* { dg-final { scan-assembler-times "subx4" 1 } } */
/* { dg-final { scan-assembler-times "subx8" 1 } } */