[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/25445] movsxd without REX_W prefix incorrectly disassemble
From: |
jbeulich at suse dot com |
Subject: |
[Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled |
Date: |
Thu, 23 Jan 2020 13:22:33 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=25445
--- Comment #5 from Jan Beulich <jbeulich at suse dot com> ---
(In reply to H.J. Lu from comment #4)
> (In reply to Jan Beulich from comment #3)
> > (In reply to H.J. Lu from comment #0)
> > > 0: 66 63 08 movslq (%rax),%cx
> >
> > Looks correct to me.
>
> movslq is AT&T syntax for 32 bits -> 64 bits. It isn't accepted by
> assembler. movsxd should be here.
MOVSXD, like MOVSX and MOVZX, is Intel syntax, and hence has nothing to do in
AT&T syntax disassembly.
> > (In reply to H.J. Lu from comment #1)
> > > Also
> > >
> > > 63 08 movslq (%rax),%ecx
> >
> > This too looks correct to me.
>
> movsxd should be here.
Same here.
> > The only anomaly I can think of because of the vendor difference would be a
> > memory operand in Intel syntax mode, which - if tagged by an operand size -
> > might want to be WORD PTR for the 16-bit case in Intel64 mode and DWORD PTR
> > in the AMD64 one.
>
> Manual can be wrong. The current Intel manual says that MOVSXD is valid
> for 32-bit. Can you double check MOVSXD on AMD processor to verify
>
> movsxd (%rax), %cx
>
> does load 4 bytes?
I did already around the time I put together
https://sourceware.org/ml/binutils/2019-12/msg00347.html
Both manuals accurately describe actual hardware behavior.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug binutils/25445] New: movsx with 0x66 prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/22
- [Bug binutils/25445] movsx without REX_W prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/22
- [Bug binutils/25445] movsx without REX_W prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/22
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/22
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled, jbeulich at suse dot com, 2020/01/23
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/23
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled,
jbeulich at suse dot com <=
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/23
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/23
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled, cvs-commit at gcc dot gnu.org, 2020/01/27
- [Bug binutils/25445] movsxd without REX_W prefix incorrectly disassembled, hjl.tools at gmail dot com, 2020/01/27