Add a bitfield to decode based on what prefixes are used.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 20 Jul 2007 21:57:04 +0000 (14:57 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 20 Jul 2007 21:57:04 +0000 (14:57 -0700)
--HG--
extra : convert_revision : 7ff4998b3249ccfe86ae9cbcc63fb910683707f5

src/arch/x86/isa/bitfields.isa
src/arch/x86/types.hh

index 8707bbb4c8a1a12bbf6182cf1a18926f6b0bc807..43fee5fef2abc2f658232060b1ac18d230bf0959 100644 (file)
@@ -67,11 +67,12 @@ def bitfield REX_B rex.b;
 
 //Legacy prefixes
 def bitfield LEGACY legacy;
+def bitfield LEGACY_DECODEVAL legacy.decodeVal;
 def bitfield LEGACY_REPNE legacy.repne;
 def bitfield LEGACY_REP legacy.rep;
 def bitfield LEGACY_LOCK legacy.lock;
-def bitfield LEGACY_ADDR legacy.addr;
 def bitfield LEGACY_OP legacy.op;
+def bitfield LEGACY_ADDR legacy.addr;
 def bitfield LEGACY_SEG legacy.seg;
 
 // Pieces of the opcode
index 9d927679db1c769cf3e895031690a67f06ed9977..a509ff57a219fc81be3fd9d7c21c9999f4be5595 100644 (file)
@@ -86,11 +86,12 @@ namespace X86ISA
     };
 
     BitUnion8(LegacyPrefixVector)
+        Bitfield<7, 4> decodeVal;
         Bitfield<7> repne;
         Bitfield<6> rep;
         Bitfield<5> lock;
-        Bitfield<4> addr;
-        Bitfield<3> op;
+        Bitfield<4> op;
+        Bitfield<3> addr;
         //There can be only one segment override, so they share the
         //first 3 bits in the legacyPrefixes bitfield.
         Bitfield<2,0> seg;