Skip to content

Commit

Permalink
Addressing mode am_V fix for high numbered floating point registers
Browse files Browse the repository at this point in the history
  • Loading branch information
John Detter committed Jun 3, 2016
1 parent 9e7aa55 commit 32b78fe
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions common/src/arch-x86.C
Original file line number Diff line number Diff line change
Expand Up @@ -9846,7 +9846,7 @@ bool ia32_decode_prefixes(const unsigned char* addr, ia32_prefixes& pref,
pref.vex_m_mmmm = VEX3GET_M(pref.vex_prefix[0]);
pref.vex_w = VEX3GET_W(pref.vex_prefix[1]);
pref.vex_V = 0;
pref.vex_r = VEXGET_R(pref.vex_prefix[0]);
pref.vex_r = ~VEXGET_R(pref.vex_prefix[0]);
pref.vex_x = VEX3GET_X(pref.vex_prefix[0]);
pref.vex_b = VEX3GET_B(pref.vex_prefix[0]);
pref.count += 3;
Expand Down Expand Up @@ -9878,11 +9878,12 @@ bool ia32_decode_prefixes(const unsigned char* addr, ia32_prefixes& pref,
pref.vex_prefix[0] = addr[1]; /* Only 1 byte for VEX2 */
pref.vex_sse_mult = 0;
pref.vex_vvvv_reg = VEXGET_VVVV(pref.vex_prefix[0]);

pref.vex_ll = VEXGET_L(pref.vex_prefix[0]);
pref.vex_pp = VEXGET_PP(pref.vex_prefix[0]);
pref.vex_m_mmmm = -1; /* No W bit for VEX2 */
pref.vex_w = -1; /* No W bit for VEX2 */
pref.vex_r = VEXGET_R(pref.vex_prefix[0]);
pref.vex_r = ~VEXGET_R(pref.vex_prefix[0]);
pref.count += 2;

switch(pref.vex_pp)
Expand Down

0 comments on commit 32b78fe

Please sign in to comment.