x86: Fix VEX instruction decoding.
When decoding VEX prefixed instructions, the x86 predecoder wasn't walking past the opcode byte and so was also interpreting it as the modRM byte. Reported-by: likunxi@fas.harvard.edu Change-Id: I6d4bdabfa03411704c48d905c50c7b23072fc615 Reviewed-on: https://gem5-review.googlesource.com/5281 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
@@ -355,6 +355,7 @@ Decoder::doVexOpcodeState(uint8_t nextByte)
|
||||
DPRINTF(Decoder, "Found VEX opcode %#x.\n", nextByte);
|
||||
|
||||
emi.opcode.op = nextByte;
|
||||
consumeByte();
|
||||
|
||||
switch (emi.opcode.type) {
|
||||
case TwoByteOpcode:
|
||||
|
||||
Reference in New Issue
Block a user