[llvm-bugs] [Bug 32809] New: [x86 disassembler] 'xchg' instruction uses two different sized register operands with data16 prefix

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Apr 26 08:41:41 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=32809

            Bug ID: 32809
           Summary: [x86 disassembler] 'xchg' instruction uses two
                    different sized register operands with data16 prefix
           Product: libraries
           Version: 3.9
          Hardware: Other
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: MC
          Assignee: unassignedbugs at nondot.org
          Reporter: nholcomb at wisc.edu
                CC: llvm-bugs at lists.llvm.org

The following xchg instruction is decoded by llvm as exchanging a 32-bit
register value with a 16-bit register value, which is incorrect. I assembled
the output of llvm using gas and recieved an error as well.

Input Bytes:    66 3e 97
LLVM Output:    xchgl %di, %eax
Error from gas: register type mismatch for `xchg'
Expected:       xchg %ax,%di

-- 
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/20170426/0e7644b4/attachment.html>


More information about the llvm-bugs mailing list