http://sourceware.org/bugzilla/show_bug.cgi?id=13571

             Bug #: 13571
           Summary: objdump incorrectly disassembles 'movnti' as using
                    'QWORD PTR'
           Product: binutils
           Version: 2.23 (HEAD)
            Status: NEW
          Severity: normal
          Priority: P2
         Component: binutils
        AssignedTo: unassig...@sourceware.org
        ReportedBy: m...@mythic-beasts.com
    Classification: Unclassified


"objdump -M intel -d" produces the following disassembly for x86-32:

   0:    0f c3 00                 movnti QWORD PTR [eax],eax

This should be "DWORD PTR" rather than "QWORD PTR".

For comparison, the assembler gets this right and accepts "DWORD PTR" but not
"QWORD PTR":

$ cat binutils_bug.S
.intel_syntax noprefix
movnti DWORD PTR [eax], eax
movnti QWORD PTR [eax], eax
$ as --32 binutils_bug.S -o binutils_bug.o
binutils_bug.S: Assembler messages:
binutils_bug.S:3: Error: ambiguous operand size or operands invalid for
`movnti'

The AMD manual specifies the instruction as follows:

MOVNTI mem32, reg32  0F C3 /r 
MOVNTI mem64, reg64  0F C3 /r 

This happens with binutils 2.20.1 and with HEAD (as of today).

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

_______________________________________________
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils

Reply via email to