[llvm-commits] [llvm] r115021 - in /llvm/trunk: lib/Target/X86/X86MCCodeEmitter.cpp test/MC/AsmParser/X86/x86_instructions.s
Chris Lattner
sabre at nondot.org
Tue Sep 28 22:16:37 PDT 2010
On Sep 28, 2010, at 10:15 PM, Eli Friedman wrote:
> On Tue, Sep 28, 2010 at 8:33 PM, Chris Lattner <sabre at nondot.org> wrote:
>> +// rdar://8482675 - 32-bit mem operand support in 64-bit mode (0x67 prefix)
>> +leal 8(%eax), %esi
>> +// CHECK: leal 8(%eax), %esi
>> +// CHECK: encoding: [0x67,0x8d,0x70,0x08]
>> +leaq 8(%eax), %rsi
>> +// CHECK: leaq 8(%eax), %rsi
>> +// CHECK: encoding: [0x67,0x48,0x8d,0x70,0x08]
>
> Wow, does anyone actually use constructs like this? As far as I can
> tell, they're longer than the forms without any prefixes and don't
> have any benefit I can think of.
the lea one is apparently used by people writing inline assembly. I don't think the compiler should ever generate it, but the assembler has to support the weird things that people do. I really don't like x86 at this point ;-)
-Chris
More information about the llvm-commits
mailing list