[LLVMdev] [PATCH] x86: disambiguate unqualified btr, bts

Jim Grosbach grosbach at apple.com
Wed Jul 10 19:15:15 PDT 2013


On Jul 10, 2013, at 6:54 PM, Stephen Checkoway <s at pahtak.org> wrote:

> On Jul 10, 2013, at 17:44, Jim Grosbach <grosbach at apple.com> wrote:
>> The length specifier is, as I understand it, required when the instruction references memory but is optional (and inferred from the registers) for the register variants.
>> 
>> The best reference I know of for the AT&T syntax is: http://docs.oracle.com/cd/E19253-01/817-5477/817-5477.pdf
> 
> I'm not sure I'd use the documentation for the Solaris assembler as authoritative for AT&T syntax, but page 17 does say that if the suffix is omitted it defaults to long.

Yeah, me either. That’s part of why I’m asking for references. I’d love to know which ones other people use. Good docs for AT&T syntax are annoyingly hard to find.

> However, that isn't my experience with gas which uses register operands to disambiguate, if possible (although I'm on a phone and can't check right now).

Yep, it’s the memory reference versions which IIUC require a suffix.

I want to make sure we do the right thing here and know why we’re doing it rather than just adding some aliases because it matches gas’ behavior.

-Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130710/cee90d28/attachment.html>


More information about the llvm-dev mailing list