On Sun, Jan 14, 2018 at 08:41:54AM -0800, H.J. Lu wrote: > They are used in asm statements in kernel: > > extern void (*func_p) (void); > > void > foo (void) > { > asm ("call __x86_indirect_thunk_%V0" : : "a" (func_p));
Well, using it just with a single register classes wouldn't make much sense, then you can just use "call __x86_indirect_thunk_rax" or "call __x86_indirect_thunk_eax" depending on __x86_64__, you wouldn't need to extend anything. But supposedly if you use it with "r" or "q" or similar class this will be different. Jakub