On Thu, Sep 10, 2020 at 03:31:53PM +0000, David Laight wrote: > > > asm volatile ("" : "+r" (eax)); > > > // So here eax must contain the value set by the "xxxxx" instructions. > > > > No, the register eax will contain the value of the eax variable. In the > > asm; it might well be there before or after the asm as well, but none of > > that is guaranteed. > > Perhaps not 'guaranteed', but very unlikely to be wrong. > It doesn't give gcc much scope for not generating the desired code. Wanna bet? :-) Correct is correct. Anything else is not. Segher