blob: b501b39eb8139fc7472c0805c4586a7f39022410 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Os" } */
/* Test if we restore correctly blink when using millicode. */
extern void bar (void);
void foo (void)
{
__asm__ volatile ( "" : : : "r13","r14","r15","r16","r17","r18","r20","r21");
bar();
}
void foo2 (void)
{
bar();
__asm__ volatile ( "" : : : "r13","r14","r15","r16","r17","r18","r20","r21");
}
/* { dg-final { scan-assembler-not "st.*r13,\\\[sp" } } */
/* { dg-final { scan-assembler-not "st.*r14,\\\[sp" } } */
/* { dg-final { scan-assembler-not "st.*r15,\\\[sp" } } */
/* { dg-final { scan-assembler "ld.*blink,\\\[sp,32" } } */
/* { dg-final { scan-assembler "mov_s.*r12,32" } } */