diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2009-04-19 03:24:51 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2009-04-19 03:24:51 -0700 |
commit | 35eea4191bdd2644112641091aaa21ec6d5defef (patch) | |
tree | 39ea31f6708e7bd40815bf921c2c1e72f501b998 /src/arch/x86/isa/microops | |
parent | bdd55ec8b6eda4b46288d8f85a5a9fa603cd6ab4 (diff) | |
download | gem5-35eea4191bdd2644112641091aaa21ec6d5defef.tar.xz |
X86: LEA calculates an address before segmentation.
Diffstat (limited to 'src/arch/x86/isa/microops')
-rw-r--r-- | src/arch/x86/isa/microops/ldstop.isa | 4 |
1 files changed, 3 insertions, 1 deletions
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) |