But for this case, I think we can come up with a macro that selects the appropriate register for each of them. Should be easy to do now that the code is merged.
Note that each get_user() backend is ~10 lines or so. If you add
that many macros you might end up with more code than if you just keep them separate.
While I admit I am also partly to blame for some asm macro
mess, e.g. in entry.S, I relented and would now advocate
to minimize macro use in assembler. It simply makes it much
harder to understand and to change.
-Andi