x86 WBINVD prefix allocations
Maciej W. Rozycki
macro@orcam.me.uk
Mon Sep 21 08:01:03 GMT 2026
On Mon, 21 Sep 2026, Jan Beulich wrote:
> >> ... allowing combinations of these to mean anything else than "last one
> >> takes effect" is pretty much against how x86 has been working. In gas I
> >> think you couldn't even encode multiple of them "normally", i.e. without
> >> resorting to .byte or alike.
> >
> > Not an issue:
> >
> > $ cat prefix.s
> > foo:
> > es
> > fs
> > nop
>
> That's still not "normally" though. Putting these prefixes on separate
> lines of course works too (alongside .byte).
What's abnormal about this notation?
It has been supported by GAS since time immemorial; unsure if as a GNU
extension or whether in compatibility with the AT&T assembler, though I
suspect the latter, especially as I do believe at one point it used to
be the only way.
In any case it's a long-established part of the dialect and the use of
these segment prefix mnemonics is proper coding as opposed to using
`.byte' or whatever data pseudo-op to handcode machine instructions
directly.
Also I knew this syntax back in 1990s already.
Maciej
More information about the Binutils
mailing list