(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
sh/
pr50749-qihisi-postinc-4.c
       1  /* PR target/50749: Verify that post-increment addressing is generated
       2     inside a loop.  */
       3  /* { dg-do compile }  */
       4  /* { dg-options "-O2" } */
       5  /* { dg-final { scan-assembler-times "mov.b\t@r\[0-9]\+\\+,r\[0-9]\+" 3 { xfail *-*-*} } } */
       6  /* { dg-final { scan-assembler-times "mov.w\t@r\[0-9]\+\\+,r\[0-9]\+" 3 { xfail *-*-*} } } */
       7  /* { dg-final { scan-assembler-times "mov.l\t@r\[0-9]\+\\+,r\[0-9]\+" 3 { xfail *-*-*} } } */
       8  
       9  int
      10  test_func_00 (char* p, int c)
      11  {
      12    int r = 0;
      13    do
      14    {
      15      r += *p++;
      16      r += *p++;
      17      r += *p++;
      18    } while (--c);
      19    return r;
      20  }
      21  
      22  int
      23  test_func_01 (short* p, int c)
      24  {
      25    int r = 0;
      26    do
      27    {
      28      r += *p++;
      29      r += *p++;
      30      r += *p++;
      31    } while (--c);
      32    return r;
      33  }
      34  
      35  int
      36  test_func_02 (int* p, int c)
      37  {
      38    int r = 0;
      39    do
      40    {
      41      r += *p++;
      42      r += *p++;
      43      r += *p++;
      44    } while (--c);
      45    return r;
      46  }