changeset 24c0a4639d17 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=24c0a4639d17
description:
        X86: Don't treat the REX prefixes as prefixes in 32 bit modes. These 
are inc/dec instructions.

diffstat:

1 file changed, 4 insertions(+), 1 deletion(-)
src/arch/x86/predecoder.cc |    5 ++++-

diffs (15 lines):

diff -r 9ed073dd5214 -r 24c0a4639d17 src/arch/x86/predecoder.cc
--- a/src/arch/x86/predecoder.cc        Fri Feb 27 09:26:01 2009 -0800
+++ b/src/arch/x86/predecoder.cc        Fri Feb 27 09:26:09 2009 -0800
@@ -136,7 +136,10 @@
     {
         uint8_t prefix = Prefixes[nextByte];
         State nextState = PrefixState;
-        if(prefix)
+        // REX prefixes are only recognized in 64 bit mode.
+        if (prefix == RexPrefix && emi.mode.submode != SixtyFourBitMode)
+            prefix = 0;
+        if (prefix)
             consumeByte();
         switch(prefix)
         {
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to