[LLVMbugs] [Bug 20091] Intel dialect x86 assembly matching is ambiguous for single memory operand instructions, resulting in 16-bit instructions

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Aug 26 13:44:13 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20091

Reid Kleckner <rnk at google.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|REOPENED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #23 from Reid Kleckner <rnk at google.com> ---
Fixed in r216481.

$ cat t.cpp
void
NS_InvokeByIndex(void* that, unsigned int methodIndex)
{
    __asm {
        mov     edx,[that]           // vtable in edx
        mov     eax,methodIndex
        call    [edx][eax*4]        // stdcall, i.e. callee cleans up stack.
    }
}

$ clang -cc1 t.cpp -S -fms-extensions -o - | grep call
        calll   *(%edx,%eax,4)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140826/ec1dad1e/attachment.html>


More information about the llvm-bugs mailing list