(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arm/
pr64818.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O1" } */
       3  
       4  char temp[16];
       5  extern int foo1 (void);
       6  
       7  void foo (void)
       8  {
       9    int i;
      10    int len;
      11  
      12    while (1)
      13    {
      14      len = foo1 ();
      15      register int a asm ("r0") = 5;
      16      register char *b asm ("r1") = temp;
      17      register int c asm ("r2") = len;
      18      asm volatile ("mov %[r0], %[r0]\n  mov %[r1], %[r1]\n  mov %[r2], %[r2]\n"
      19  		   : "+m"(*b)
      20  		   : [r0]"r"(a), [r1]"r"(b), [r2]"r"(c));
      21  
      22      for (i = 0; i < len; i++)
      23      {
      24        if (temp[i] == 10)
      25        return;
      26      }
      27    }
      28  }
      29  
      30  /* { dg-final { scan-assembler "\[\\t \]+mov\ r1,\ r1" } } */