(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
riscv/
shorten-memrefs-8.c
       1  /* { dg-options "-march=rv32imc -mabi=ilp32" } */
       2  /* { dg-skip-if "" { *-*-* } { "*" } { "-Os" } } */
       3  
       4  /* shorten_memrefs should use a correct base address*/
       5  
       6  void
       7  store (char *p, int k)
       8  {
       9    *(int *)(p + 17) = k;
      10    *(int *)(p + 21) = k;
      11    *(int *)(p + 25) = k;
      12    *(int *)(p + 29) = k;
      13  }
      14  
      15  int
      16  load (char *p)
      17  {
      18    int a = 0;
      19    a += *(int *)(p + 17);
      20    a += *(int *)(p + 21);
      21    a += *(int *)(p + 25);
      22    a += *(int *)(p + 29);
      23    return a;
      24  }
      25  
      26  /* { dg-final { scan-assembler "store:\n(\t?\\.\[^\n\]*\n)*\taddi\ta\[0-7\],a\[0-7\],1" } } */
      27  /* { dg-final { scan-assembler "load:\n(\t?\\.\[^\n\]*\n)*\taddi\ta\[0-7\],a\[0-7\],1" } } */
      28