1 /* { dg-do compile } */
2 /* { dg-skip-if "Not available for ARCv1" { arc700 || arc6xx } } */
3 /* { dg-options "-O2 -mirq-ctrl-saved=r0-r3,blink" } */
4
5 /* Check if the registers R0-R3,blink are automatically saved. */
6
7 extern int bar (void *);
8
9 void __attribute__ ((interrupt("ilink")))
10 foo(void)
11 {
12 bar (0);
13 __asm__ volatile ( "" : : : "r0","r1","r2","r3");
14 }
15 /* { dg-final { scan-assembler-not "st.*r0,\\\[sp" } } */
16 /* { dg-final { scan-assembler-not "st.*r1,\\\[sp" } } */
17 /* { dg-final { scan-assembler-not "st.*r2,\\\[sp" } } */
18 /* { dg-final { scan-assembler-not "st.*r3,\\\[sp" } } */
19 /* { dg-final { scan-assembler-not "push_s blink" } } */