Add missing bit for SSE instr in VEX decoding
The 2-byte VEX prefix imples a leading 0Fh opcode byte. Signed-off-by: Eugene Minibaev <mail@kitsu.me> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
3bd2608db7
commit
e0014d4b3a
@ -4563,9 +4563,11 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu)
|
||||
#endif
|
||||
rex_r = (~vex2 >> 4) & 8;
|
||||
if (b == 0xc5) {
|
||||
/* 2-byte VEX prefix: RVVVVlpp, implied 0f leading opcode byte */
|
||||
vex3 = vex2;
|
||||
b = x86_ldub_code(env, s);
|
||||
b = x86_ldub_code(env, s) | 0x100;
|
||||
} else {
|
||||
/* 3-byte VEX prefix: RXBmmmmm wVVVVlpp */
|
||||
#ifdef TARGET_X86_64
|
||||
s->rex_x = (~vex2 >> 3) & 8;
|
||||
s->rex_b = (~vex2 >> 2) & 8;
|
||||
|
Loading…
x
Reference in New Issue
Block a user