On Sat, May 25, 2019 at 8:05 PM Jeffrey Walton <noloader@xxxxxxxxx> wrote: > I don't want to do the temp register that way (claiming it is an input > and an output that I want), but it is the only way to get a scratch > register according to GCC Extended ASM HowTo. Why can't you use "=&r", which means "a variable overwriting an existing value and does not overlap an input"? Both "=" and "&" are documented in the Output Operands subsection of the Extended Asm chapter of the gcc manual: https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html > How do I code this up and avoid the extra move? This change also avoids extra move as far as I can see. -- Thanks. -- Max