This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]