https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86673
--- Comment #5 from Arnd Bergmann <arnd at linaro dot org> --- (In reply to Andreas Schwab from comment #4) > Why are you using empty constraints when a register is required? creduce did that, it had no effect on the result. The original source looks like: #define __get_user_x_64t(__r2, __p, __e, __l, __s) \ __asm__ __volatile__ ( \ __asmeq("%0", "r0") __asmeq("%1", "r2") \ __asmeq("%3", "r1") \ "bl __get_user_64t_" #__s \ : "=&r" (__e), "=r" (__r2) \ : "0" (__p), "r" (__l) \ : __GUP_CLOBBER_##__s)