1c1
< // Copyright (c) 2006-2007 The Regents of The University of Michigan
---
> // Copyright (c) 2006 The Regents of The University of Michigan
144d143
< %(fp_enable_check)s;
148c147
< DPRINTF(Sparc, "The address is 0x%x\n", EA);
---
> DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
165a165
> }};
166a167
> def template LoadInitiateAcc {{
173,175c174,175
< %(fp_enable_check)s;
< %(ea_decl)s;
< %(ea_rd)s;
---
> %(op_decl)s;
> %(op_rd)s;
176a177
> DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
183a185
> }};
184a187
> def template LoadCompleteAcc {{
189,190c192,193
< %(code_decl)s;
< %(code_rd)s;
---
> %(op_decl)s;
> %(op_rd)s;
195c198
< %(code_wb)s;
---
> %(op_wb)s;
211d213
< %(fp_enable_check)s;
215c217
< DPRINTF(Sparc, "The address is 0x%x\n", EA);
---
> DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
233a236
> }};
234a238
> def template StoreInitiateAcc {{
241d244
< %(fp_enable_check)s;
245c248
< DPRINTF(Sparc, "The address is 0x%x\n", EA);
---
> DPRINTF(Sparc, "%s: The address is 0x%x\n", mnemonic, EA);
262a266
> }};
263a268
> def template StoreCompleteAcc {{
282a288,289
> LoadFuncs = [LoadExecute, LoadInitiateAcc, LoadCompleteAcc]
> StoreFuncs = [StoreExecute, StoreInitiateAcc, StoreCompleteAcc]
291,296d297
< TwinAlignmentFaultCheck = '''
< if(RD & 0x1)
< fault = new IllegalInstruction;
< else if(EA & 0xf)
< fault = new MemAddressNotAligned;
< '''
323c324
< def doSplitExecute(code, execute, name, Name, asi, opt_flags, microParam):
---
> def doSplitExecute(execute, name, Name, asi, opt_flags, microParam):
325,337c326,328
< codeParam = microParam.copy()
< codeParam["ea_code"] = ''
< codeIop = InstObjParams(name, Name, '', code, opt_flags, codeParam)
< eaIop = InstObjParams(name, Name, '', microParam["ea_code"],
< opt_flags, microParam)
< iop = InstObjParams(name, Name, '', code, opt_flags, microParam)
< (iop.ea_decl,
< iop.ea_rd,
< iop.ea_wb) = (eaIop.op_decl, eaIop.op_rd, eaIop.op_wb)
< (iop.code_decl,
< iop.code_rd,
< iop.code_wb) = (codeIop.op_decl, codeIop.op_rd, codeIop.op_wb)
< return execute.subst(iop)
---
> iop = InstObjParams(name, Name, '', microParam, opt_flags)
> (execf, initf, compf) = execute
> return execf.subst(iop) + initf.subst(iop) + compf.subst(iop)
346,347c337,339
< microParams = {"ea_code" : eaCode, "fault_check": faultCode}
< executeCode += doSplitExecute(code, execute, name, Name,
---
> microParams = {"code": code, "ea_code": eaCode,
> "fault_check": faultCode}
> executeCode += doSplitExecute(execute, name, Name,