(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arc/
interrupt-8.c
       1  /* { dg-do compile } */
       2  /* { dg-skip-if "Not available for ARCv1" { arc700 || arc6xx } } */
       3  /* { dg-options "-O2 -mirq-ctrl-saved=r0-r17" } */
       4  
       5  /* Check if the registers R0-R17 are automatically saved.  */
       6  
       7  int a;
       8  
       9  void  __attribute__ ((interrupt("ilink")))
      10  foo(void)
      11  {
      12    __asm__ volatile ( "" : : : "r0","r1","r2","r3");
      13    __asm__ volatile ( "" : : : "r13","r14","r15","r16");
      14    a++;
      15  }
      16  /* { dg-final { scan-assembler-not "st.*r13,\\\[sp" } } */
      17  /* { dg-final { scan-assembler-not "st.*r14,\\\[sp" } } */
      18  /* { dg-final { scan-assembler-not "st.*r15,\\\[sp" } } */
      19  /* { dg-final { scan-assembler-not "st.*r16,\\\[sp" } } */
      20  /* { dg-final { scan-assembler-not "st.*r0,\\\[sp" } } */
      21  /* { dg-final { scan-assembler-not "st.*r1,\\\[sp" } } */
      22  /* { dg-final { scan-assembler-not "st.*r2,\\\[sp" } } */
      23  /* { dg-final { scan-assembler-not "st.*r3,\\\[sp" } } */
      24  /* { dg-final { scan-assembler "rtie" } } */