/* { dg-options "-O2" } */

int
load (int *arr)
{
  return arr[527] << 1 + arr[400] << 1 + arr[401] << 1 + arr[528] << 1;
}

/* { dg-final { scan-assembler-times "ldp\tw\[0-9\]+, w\[0-9\]+, " 2 } } */

float
load_float (float *arr)
{
  return arr[404] + arr[403] + arr[400] + arr[401];
}

/* { dg-final { scan-assembler-times "ldp\ts\[0-9\]+, s\[0-9\]+, " 2 } } */

long long
load_long (long long int *arr)
{
  return arr[400] << 1 + arr[401] << 1 + arr[403] << 1 + arr[404] << 1;
}

/* { dg-final { scan-assembler-times "ldp\tx\[0-9\]+, x\[0-9\]+, " 2 } } */

double
load_double (double *arr)
{
  return arr[200] + arr[201] + arr[263] + arr[264];
}

/* { dg-final { scan-assembler-times "ldp\td\[0-9\]+, d\[0-9\]+, " 2 } } */
