// { dg-do assemble { target i?86-*-linux* i?86-*-gnu* x86_64-*-linux* } } // We'd use ebx with 32-bit pic code, so skip. // { dg-skip-if "" { ilp32 && { ! nonpic } } { "*" } { "" } } // Origin: "Weidmann, Nicholas" template int foo(int v) { __asm__ __volatile__("addl %1, %0" : "=a" (v) : "b" (i)); return v; } int bar(int i) { return foo<123>(i); }