Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/5281

Change subject: x86: Fix VEX instruction decoding.
......................................................................

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.

Change-Id: I6d4bdabfa03411704c48d905c50c7b23072fc615
---
M src/arch/x86/decoder.cc
1 file changed, 1 insertion(+), 0 deletions(-)



diff --git a/src/arch/x86/decoder.cc b/src/arch/x86/decoder.cc
index 930c2b9..9c4997d 100644
--- a/src/arch/x86/decoder.cc
+++ b/src/arch/x86/decoder.cc
@@ -355,6 +355,7 @@
     DPRINTF(Decoder, "Found VEX opcode %#x.\n", nextByte);

     emi.opcode.op = nextByte;
+    consumeByte();

     switch (emi.opcode.type) {
       case TwoByteOpcode:

--
To view, visit https://gem5-review.googlesource.com/5281
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6d4bdabfa03411704c48d905c50c7b23072fc615
Gerrit-Change-Number: 5281
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <gabebl...@google.com>
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to