bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/16083] objdump provides wrong disassemble for MULSD instru


From: yulyugin at gmail dot com
Subject: [Bug binutils/16083] objdump provides wrong disassemble for MULSD instruction when used with an unusual combination of prefixes
Date: Fri, 25 Oct 2013 07:57:38 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=16083

--- Comment #2 from Evgeny <yulyugin at gmail dot com> ---
(In reply to Grigory Rechistov from comment #1)
> The problem is present not just for MULSD but for many x86 instructions that
> are encoded with a mandatory prefix (e.g. 0xF2), but also are allowed to
> have optional prefixes like 0x66 to be inserted between opcode and mandatory
> prefix. Hardware does not pay attention to prefixes order.

Little correction. Harware look at prefixes order but not in all cases.

Examples with mul** instructions:
66 f3 f2 0f 59 ff     is mulsd %%xmm7, %%xmm7 (mandatory prefix is f2)
66 f2 f3 0f 59 ff     is mulss %%xmm7, %%xmm7 (mandatory prefix is f3)
66 0f 59 ff           is mulpd %%xmm7, %%xmm7 (mandatory prefix is 66)
f2 66 0f 59 ff        is mulsd %%xmm7, %%xmm7 (mandatory prefix is f2)

If both f2 and f3 prefixes present last of it is mandatory. But 66 prefix is
mandatory only if f2 and f3 prefixes is not present in this insturction.

-- 
You are receiving this mail because:
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]