summaryrefslogtreecommitdiff
path: root/src/arch/x86/types.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-04-04 14:27:00 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-04-04 14:27:00 +0000
commit65fedeb5a7fd6ebb25379e20845f75635f28fdb6 (patch)
tree1c4d40eda67d7b8b27c95cdd498df05c1c313b85 /src/arch/x86/types.hh
parent6010c6ded4e6d6c2cdaf5ac08678165580a29008 (diff)
downloadgem5-65fedeb5a7fd6ebb25379e20845f75635f28fdb6.tar.xz
Made x86 ExtMachInsts distinguishable from each other by defining a real == and a real hash function.
--HG-- extra : convert_revision : 30f29a36f6ab44e67e62aaf81b685fbe1267c746
Diffstat (limited to 'src/arch/x86/types.hh')
-rw-r--r--src/arch/x86/types.hh21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/arch/x86/types.hh b/src/arch/x86/types.hh
index ca4a15d24..cdac3c00e 100644
--- a/src/arch/x86/types.hh
+++ b/src/arch/x86/types.hh
@@ -161,7 +161,26 @@ namespace X86ISA
inline static bool
operator == (const ExtMachInst &emi1, const ExtMachInst &emi2)
{
- //Since this is empty, it's always equal
+ if(emi1.legacy != emi2.legacy)
+ return false;
+ if(emi1.rex != emi2.rex)
+ return false;
+ if(emi1.opcode.num != emi2.opcode.num)
+ return false;
+ if(emi1.opcode.op != emi2.opcode.op)
+ return false;
+ if(emi1.opcode.prefixA != emi2.opcode.prefixA)
+ return false;
+ if(emi1.opcode.prefixB != emi2.opcode.prefixB)
+ return false;
+ if(emi1.modRM != emi2.modRM)
+ return false;
+ if(emi1.sib != emi2.sib)
+ return false;
+ if(emi1.immediate != emi2.immediate)
+ return false;
+ if(emi1.displacement != emi2.displacement)
+ return false;
return true;
}