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