From: Gabe Black Date: Sun, 19 Apr 2009 10:24:51 +0000 (-0700) Subject: X86: LEA calculates an address before segmentation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=35eea4191bdd2644112641091aaa21ec6d5defef;p=gem5.git X86: LEA calculates an address before segmentation. --- diff --git a/src/arch/x86/isa/microops/ldstop.isa b/src/arch/x86/isa/microops/ldstop.isa index af94cf31e..24ddd0b43 100644 --- a/src/arch/x86/isa/microops/ldstop.isa +++ b/src/arch/x86/isa/microops/ldstop.isa @@ -484,7 +484,9 @@ let {{ iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp', {"code": "Data = merge(Data, EA, dataSize);", - "ea_code": calculateEA}) + "ea_code": ''' + EA = bits(scale * Index + Base + disp, addressSize * 8 - 1, 0); + '''}) header_output += MicroLeaDeclare.subst(iop) decoder_output += MicroLdStOpConstructor.subst(iop) exec_output += MicroLeaExecute.subst(iop)