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 void t(int) __attribute__ ((noinline)); 8 extern volatile int i; 9 m(void)10void m(void) 11 { 12 t(i); 13 } 14 t(int a)15static void t(int a) 16 { 17 asm("magic %0"::"g"(a)); 18 } 19