/* Check that loads from volatile mems utilize post-increment addressing
   modes and do not result in redundant sign extensions. */
/* { dg-do compile }  */
/* { dg-options "-O1" } */
/* { dg-final { scan-assembler-times "@r\[0-9\]\+\\+," 3 } } */
/* { dg-final { scan-assembler-not "exts" } } */

volatile char*
test_00 (volatile char* x)
{
  int xx = *x++;
  return x;
}

volatile short*
test_01 (volatile short* x)
{
  int xx = *x++;
  return x;
}

volatile int*
test_02 (volatile int* x)
{
  int xx = *x++;
  return x;
}
