diff options
author | nikolay serdjuk <nikolay.y.serdjuk@intel.com> | 2015-04-27 17:52:57 +0600 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2015-04-29 13:13:50 +0100 |
commit | dd17bc3806e800d3b82d5cb27e85ccc1c4e2ee1d (patch) | |
tree | ba05dcae43e620e16e02a4cf4063592fbfb36fb9 /disassembler | |
parent | a81a746cad998e4cbfb7b18193879d8d1e1f8772 (diff) | |
download | art-dd17bc3806e800d3b82d5cb27e85ccc1c4e2ee1d.zip art-dd17bc3806e800d3b82d5cb27e85ccc1c4e2ee1d.tar.gz art-dd17bc3806e800d3b82d5cb27e85ccc1c4e2ee1d.tar.bz2 |
Fix for incorrect encode and parse of PEXTRW instruction
The instruction PEXTRW encoded by sequence 66 0F 3A 15
was incorrectly encoded in compiler table and incorrectly
parsed by disassembler.
Signed-off-by: nikolay serdjuk <nikolay.y.serdjuk@intel.com>
(cherry picked from commit e0705f51fdc71e9670a29f8c3a47168f50724b35)
Change-Id: I7f051e23789aa3745d6eb854c97f80c475748b74
Diffstat (limited to 'disassembler')
-rw-r--r-- | disassembler/disassembler_x86.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/disassembler/disassembler_x86.cc b/disassembler/disassembler_x86.cc index ba0c0bd..2ead4a2 100644 --- a/disassembler/disassembler_x86.cc +++ b/disassembler/disassembler_x86.cc @@ -587,6 +587,14 @@ DISASSEMBLER_ENTRY(cmp, src_reg_file = SSE; immediate_bytes = 1; break; + case 0x15: + opcode1 = "pextrw"; + prefix[2] = 0; + has_modrm = true; + store = true; + src_reg_file = SSE; + immediate_bytes = 1; + break; case 0x16: opcode1 = "pextrd"; prefix[2] = 0; |