From: Jan Beulich
> Sent: 03 July 2018 09:36
...
> As said there, omitting suffixes from instructions in AT&T mode is bad
> practice when operand size cannot be determined by the assembler from
> register operands, and is likely going to be warned about by upstream
> gas in the future (mine does already).
...
> -     bt      $9, EFLAGS(%rsp)                /* interrupts off? */
> +     btl     $9, EFLAGS(%rsp)                /* interrupts off? */

Hmmm....
Does the operand size make any difference at all for the bit instructions?
I'm pretty sure that the cpus (386 onwards) have always done aligned 32bit
transfers (the docs never actually said aligned).
I can't remember whether 64bit mode allows immediates above 31.

So gas accepting 'btb $n,memory' is giving a false impression of
what actually happens.

        David

Reply via email to