blob: 582771ba1c288a98d5bacc6ed6334a9b308fef33 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler-not "\[us\]xtw\t" } } */
/* { dg-final { scan-assembler-not "\[us\]bfiz\t" } } */
/* { dg-final { scan-assembler-not "lsl\t" } } */
int
load_scaled_sxtw (int *arr, int i)
{
return arr[arr[i]];
}
unsigned int
load_scaled_uxtw (unsigned int *arr, unsigned int i)
{
return arr[arr[i]];
}
void
store_scaled_sxtw (int *arr, int i)
{
arr[arr[i]] = 0;
}
void
store_scaled_uxtw (unsigned int *arr, unsigned int i)
{
arr[arr[i]] = 0;
}
int
load_unscaled_sxtw (signed char *arr, int i)
{
return arr[arr[i]];
}
unsigned int
load_unscaled_uxtw (unsigned char *arr, unsigned int i)
{
return arr[arr[i]];
}
void
store_unscaled_sxtw (signed char *arr, int i)
{
arr[arr[i]] = 0;
}
void
store_unscaled_uxtw (unsigned char *arr, unsigned int i)
{
arr[arr[i]] = 0;
}
int
load_scaled_tmp_sxtw (int *arr, int i)
{
int j = arr[i];
return arr[j];
}
unsigned int
load_scaled_tmp_uxtw (unsigned int *arr, unsigned int i)
{
unsigned int j = arr[i];
return arr[j];
}
void
store_scaled_tmp_sxtw (int *arr, int i)
{
int j = arr[i];
arr[j] = 0;
}
void
store_scaled_tmp_uxtw (unsigned int *arr, unsigned int i)
{
unsigned int j = arr[i];
arr[j] = 0;
}
int
load_unscaled_tmp_sxtw (signed char *arr, int i)
{
signed char j = arr[i];
return arr[j];
}
unsigned int
load_unscaled_tmp_uxtw (unsigned char *arr, unsigned int i)
{
unsigned char j = arr[i];
return arr[j];
}
void
store_unscaled_tmp_sxtw (signed char *arr, int i)
{
signed char j = arr[i];
arr[j] = 0;
}
void
store_unscaled_tmp_uxtw (unsigned char *arr, unsigned int i)
{
unsigned char j = arr[i];
arr[j] = 0;
}