From: Gabe Black Date: Thu, 19 Oct 2006 00:48:08 +0000 (-0400) Subject: Fixed a compiler error, disassembly output, and corrected the address calculation. X-Git-Tag: m5_2.0_beta2~87 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=849d5e2efb24c177bb15a6c4d2c5e3a6a8dba349;p=gem5.git Fixed a compiler error, disassembly output, and corrected the address calculation. --HG-- extra : convert_revision : d34b3c0443064addb6f454ac70fbaeda0678e329 --- diff --git a/src/arch/sparc/isa/formats/blockmem.isa b/src/arch/sparc/isa/formats/blockmem.isa index a273f07e3..4a2a14a15 100644 --- a/src/arch/sparc/isa/formats/blockmem.isa +++ b/src/arch/sparc/isa/formats/blockmem.isa @@ -105,11 +105,11 @@ output decoder {{ printMnemonic(response, mnemonic); if(save) { - printReg(response, _srcRegIdx[0]); + printReg(response, _srcRegIdx[1]); ccprintf(response, ", "); } ccprintf(response, "[ "); - printReg(response, _srcRegIdx[!save ? 0 : 1]); + printReg(response, _srcRegIdx[0]); if(imm >= 0) ccprintf(response, " + 0x%x ]", imm); else @@ -282,8 +282,8 @@ def template MicroLoadExecute {{ }}; def template MicroStoreExecute {{ - Fault %(class_name)s_%(micro_pc)s::execute(%(CPU_exec_context)s *xc, - Trace::InstRecord *traceData) const + Fault %(class_name)s::%(class_name)s_%(micro_pc)s::execute( + %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const { Fault fault = NoFault; uint64_t write_result = 0; @@ -323,8 +323,8 @@ let {{ if(EA & 0x3f) return new MemAddressNotAligned; ''' - addrCalcReg = 'EA = Rs1 + Rs2 + offset * 8;' - addrCalcImm = 'EA = Rs1 + imm + offset * 8;' + addrCalcReg = 'EA = Rs1 + Rs2 + offset;' + addrCalcImm = 'EA = Rs1 + imm + offset;' iop = InstObjParams(name, Name, 'BlockMem', code, opt_flags) iop_imm = InstObjParams(name, Name + 'Imm', 'BlockMemImm', code, opt_flags) header_output = BlockMemDeclare.subst(iop) + BlockMemDeclare.subst(iop_imm)