}
/* Check if the REX prefix is used. */
- if (rex_ignored == 0 && (rex ^ rex_used) == 0)
+ if (rex_ignored == 0 && (rex ^ rex_used) == 0 && last_rex_prefix >= 0)
all_prefixes[last_rex_prefix] = 0;
/* Check if the SEG prefix is used. */
switch (bytemode)
{
case vex_vsib_d_w_dq_mode:
+ case vex_vsib_q_w_dq_mode:
case evex_x_gscat_mode:
case xmm_mdq_mode:
shift = vex.w ? 3 : 2;
break;
- case vex_vsib_q_w_dq_mode:
- shift = 3;
- break;
case x_mode:
case evex_half_bcst_xmmq_mode:
if (vex.b)