int i, c;
struct operand *opx;
int s_field_for = -1; /* No 144/154 series code encountered */
+ bool vex_ok = false;
for (i = 0; i < MAX_OPERANDS; i++) {
ins->oprs[i].segment = ins->oprs[i].disp_size =
opx->segment |= SEG_RMREG;
opx->basereg = prefix->vex_v;
+ vex_ok = true;
break;
}
if (prefix->vex_v != 0)
return false;
+ vex_ok = true;
break;
}
}
}
+ if (!vex_ok && (ins->rex & REX_V))
+ return false;
+
/* REX cannot be combined with DREX or VEX */
if ((ins->rex & (REX_D|REX_V)) && (prefix->rex & REX_P))
return false;