On 23/03/20 20:30, Nick Desaulniers wrote: > <ndesaulniers@xxxxxxxxxx> wrote: >> So maybe we can find why >> commit 76b043848fd2 ("x86/retpoline: Add initial retpoline support") >> added THUNK_TARGET with and without "m" constraint, and either: >> - remove "m" from THUNK_TARGET. (Maybe this doesn't compile somewhere) >> or >> - use my above recommendation locally avoiding THUNK_TARGET. We can >> use "r" rather than "a" (what Clang would have picked) or "b (what GCC >> would have picked) to give the compilers maximal flexibility. > So I've sent a patch for the latter; my reason for not pursuing the former is: > 1. I assume that the thunk target could be spilled, or a pointer, and > we'd like to keep flexibility for the general case of inline asm that > doesn't modify the stack pointer. > 2. `entry` is local to `handle_external_interrupt_irqoff`; it's not > being passed in via pointer as a function parameter. > 3. register pressure is irrelevant if the resulting code is incorrect. Yes, this is fair enough. I've queued your patch and will send it shortly to Linus. Paolo