1// Copyright (c) 2006-2007 The Regents of The University of Michigan |
2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright 9// notice, this list of conditions and the following disclaimer in the --- 436 unchanged lines hidden (view full) --- 446 decoder_output = BlockMemConstructor.subst(iop) + BlockMemConstructor.subst(iop_imm) 447 decode_block = ROrImmDecode.subst(iop) 448 matcher = re.compile(r'Frd_N') 449 exec_output = '' 450 for microPc in range(8): 451 flag_code = '' 452 if (microPc == 7): 453 flag_code = "flags[IsLastMicroOp] = true;" |
454 elif (microPc == 0): 455 flag_code = "flags[IsDelayedCommit] = true; flags[IsFirstMicroOp] = true;" |
456 else: 457 flag_code = "flags[IsDelayedCommit] = true;" 458 pcedCode = matcher.sub("Frd_%d" % microPc, code) 459 iop = InstObjParams(name, Name, 'BlockMem', pcedCode, 460 opt_flags, {"ea_code": addrCalcReg, 461 "fault_check": faultCode, "micro_pc": microPc, 462 "set_flags": flag_code}) 463 iop_imm = InstObjParams(name, Name + 'Imm', 'BlockMemImm', pcedCode, --- 25 unchanged lines hidden (view full) --- 489 exec_output = '' 490 for microPc in range(2): 491 flag_code = '' 492 pcedCode = '' 493 if (microPc == 1): 494 flag_code = "flags[IsLastMicroOp] = true;" 495 pcedCode = matcher.sub("RdHigh", code) 496 else: |
497 flag_code = "flags[IsDelayedCommit] = true; flags[IsFirstMicroOp] = true;" |
498 pcedCode = matcher.sub("RdLow", code) 499 iop = InstObjParams(name, Name, 'TwinMem', pcedCode, 500 opt_flags, {"ea_code": addrCalcReg, 501 "fault_check": faultCode, "micro_pc": microPc, 502 "set_flags": flag_code}) 503 iop_imm = InstObjParams(name, Name + 'Imm', 'TwinMemImm', pcedCode, 504 opt_flags, {"ea_code": addrCalcImm, 505 "fault_check": faultCode, "micro_pc": microPc, --- 46 unchanged lines hidden --- |