1 /* { dg-do compile } */
2 /* { dg-options "-O2 -funit-at-a-time" } */
3 /* { dg-final { scan-assembler "magic\[^\\n\]*eax" { target ia32 } } } */
4 /* { dg-final { scan-assembler "magic\[^\\n\]*(edi|ecx)" { target { ! { ia32 } } } } } */
5 
6 /* Verify that local calling convention is used.  */
7 static t(int) __attribute__ ((noinline));
8 extern volatile int i;
9 
m(void)10 void m(void)
11 {
12 	t(i);
13 }
14 
t(int a)15 static t(int a)
16 {
17 	asm("magic %0"::"g"(a));
18 }
19