From c4ebfa850e141ae7b33184f061874f9576bf5a54 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 20 Jun 2007 19:06:08 +0000 Subject: Fix a newly introduced bug where the predecoder wasn't picking up all the displacement. --HG-- extra : convert_revision : 9202c11ee187458adcd85ba616b7f7f4bdd4eec1 --- src/arch/x86/predecoder.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/arch') diff --git a/src/arch/x86/predecoder.cc b/src/arch/x86/predecoder.cc index bbbad7dd0..49f76699b 100644 --- a/src/arch/x86/predecoder.cc +++ b/src/arch/x86/predecoder.cc @@ -277,7 +277,8 @@ namespace X86ISA displacementSize = 0; } else { //figure out 32/64 bit displacement size - if(modRM.mod == 0 && modRM.rm == 4 || modRM.mod == 2) + if(modRM.mod == 0 && (modRM.rm == 4 || modRM.rm == 5) + || modRM.mod == 2) displacementSize = 4; else if(modRM.mod == 1) displacementSize = 1; -- cgit v1.2.3