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