summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/arc/naked-1.c
blob: e45f433f73cdf807559daee0462eacccb7ce064a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* { dg-do compile } */
/* { dg-options "-O0" } */
/* Check that naked functions don't place arguments on the stack at
   optimisation level '-O0'.  */
extern void bar (int);

void __attribute__((naked))
foo (int n, int m)
{
  bar (n + m);
}
/* { dg-final { scan-assembler "\tbl @bar" } } */

/* Look for things that would appear in a non-naked function, but which
   should not appear in a naked function.  */
/* { dg-final { scan-assembler-not "\tj.* \\\[blink\\\]" } } */
/* { dg-final { scan-assembler-not "\tst.* " } } */
/* { dg-final { scan-assembler-not "\tmov fp,sp" } } */