(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
aarch64/
asm-adder-no-clobber-lr.c
       1  extern void abort (void);
       2  
       3  int
       4  adder (int a, int b)
       5  {
       6    int result;
       7    __asm__ ("add %w0,%w1,%w2" : "=r"(result) : "r"(a), "r"(b) : );
       8    return result;
       9  }
      10  
      11  int
      12  main (int argc, char** argv)
      13  {
      14    int i;
      15    int total = argc;
      16    for (i = 0; i < 20; i++)
      17      total = adder (total, i);
      18  
      19    if (total != (190 + argc))
      20      abort ();
      21  
      22    return 0;
      23  }