summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target/i386/local.c
blob: 9a353d97a34722f1203d90326c3fcae59c78dd20 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/* { dg-do compile } */
/* { dg-options "-O2 -funit-at-a-time" } */
/* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ia32 } } } */
/* { dg-final { scan-assembler "magic\[^\\n\]*(edi|ecx)" { target { ! { ia32 } } } } } */

/* Verify that local calling convention is used.  */
static void t(int) __attribute__ ((noinline));
extern volatile int i;

void m(void)
{
	t(i);
}

static void t(int a)
{
	asm("magic %0"::"g"(a));
}