[PATCH] x86: Apply standalone prefixes to the following instruction

Jan Beulich JBeulich@suse.com
Fri Jul 19 08:46:00 GMT 2019


On 19.07.2019 00:26,  H.J. Lu  wrote:
> Standalone prefixes should be applied to the following instruction,
> instead of being treated as regular instructions.  An error should be
> issued when a standalone prefix is at the end of source or isn't
> followed by an instruction in the same section.

Commenting here, because commenting on the actual code fragments is
not easily possible with the patch sent as attachment.

For one, I don't agree that errors should be issued when switching
sections. Clever assembly programming can easily result in the
actual section later getting resumed, and an appropriate insn being
there.

And then I'm getting the impression that the change here is going
to break things like

static inline unsigned int find_first_set_bit(unsigned long word)
{
     asm ( "rep; bsf %1,%0" : "=r" (word) : "rm" (word) );
     return (unsigned int)word;
}

(quoted from Xen sources), being a backwards compatible
representation of tzcnt. Just like such have shown up in the past,
REP prefixes could easily obtain meaning for other insns going
forward, so tagging individual templates with RepPrefixOk is not
going to help. WBNOINVD is a pretty recent example.

Jan


More information about the Binutils mailing list