On Thu, Jul 23, 2020 at 09:58:55PM +0200, peterz@xxxxxxxxxxxxx wrote: > asm ("addb %[val], %b[var];" > "cmovc %[sat], %[var];" > : [var] "+r" (tmp) > : [val] "ir" (val), [sat] "r" (sat) > ); "var" (operand 0) needs an earlyclobber ("sat" is read after "var" is written for the first time). Segher