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

Ramkumar Ramachandra artagnon at gmail.com
Wed Jul 10 22:29:32 PDT 2013


Jim Grosbach wrote:
> That does raise a clarifying question here. Is the code you’re interested in
> using Intel or AT&T syntax?
>
> Also note that the question isn’t whether we should support the btr/bts
> instructions. We absolutely must (and do). The question is whether we are
> properly handling the un-suffixed mnemonic form of the assembly syntax.
>
> Perhaps you can help by clarifying via explicit example what code you
> believe should work but does that. Descriptions are great, but specifics are
> better once we’re this deep into the details.

I don't know!  This is the first time I'm hearing about differences
between Intel and AT&T syntax; I have absolutely no clue how btr/bts
_should_ be implemented, and the only specifics I have are real-world
examples: linux.git/gas.  Does looking at bitops.h in the kernel tree
help?

For the record, I don't think matching linux.git/gas is a problem:
they're very authoritative pieces of software that have been around
for a _really_ long time.  What matters to me is that real-world
software works as expected, even if it violates some transcendental
(but unimplemented) authoritative standard [1].  If other mainstream
assemblers handle btr/bts differently, I would see a cause for worry;
otherwise, no.

Eli Friedman wrote:
> The reason it's the right thing to do is that the mem/imm forms of
> btsw and btsl have exactly the same semantics.

Not sure I understand this.

[1]: Especially considering that we can't seem to find one.




More information about the llvm-dev mailing list