/* PR inline-asm/11676 */ /* { dg-do run } */ /* { dg-require-effective-target ia32 } */ /* { dg-options "-O2" } */ extern void abort (void); static int bar(int x) __asm__("bar") __attribute__((regparm(1))); static int __attribute__((regparm(1), noinline, used)) bar(int x) { if (x != 0) abort (); } static int __attribute__((regparm(1), noinline)) foo(int x) { x = 0; __asm__ __volatile__("call bar" : "=a"(x) : "a"(x)); } int main() { foo(1); return 0; }