24 lines
653 B
C
24 lines
653 B
C
/* { 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" } } */
|