1// Copyright (c) 2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license
--- 155 unchanged lines hidden (view full) ---
164 def getAllocator(self, microFlags):
165 if not "IsLastMicroop" in microFlags:
166 microFlags.append("IsLastMicroop")
167 if "IsDelayedCommit" in microFlags:
168 microFlags.remove("IsDelayedCommit")
169 return super(Eret, self).getAllocator(microFlags)
170
171 iop = InstObjParams("br", "MicroBranchFlags", "SeqOpBase",
172 {"code": "nuIP = target",
173 "else_code": "nuIP = nuIP",
174 "cond_test": "checkCondition(ccFlagBits, cc)"})
175 exec_output += SeqOpExecute.subst(iop)
176 header_output += SeqOpDeclare.subst(iop)
177 decoder_output += SeqOpConstructor.subst(iop)
178 iop = InstObjParams("br", "MicroBranch", "SeqOpBase",
179 {"code": "nuIP = target",
180 "else_code": "nuIP = nuIP",
181 "cond_test": "true"})
182 exec_output += SeqOpExecute.subst(iop)
183 header_output += SeqOpDeclare.subst(iop)
184 decoder_output += SeqOpConstructor.subst(iop)
185 microopClasses["br"] = Br
186
187 iop = InstObjParams("eret", "EretFlags", "SeqOpBase",
188 {"code": "", "else_code": "",
--- 12 unchanged lines hidden ---
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license
--- 155 unchanged lines hidden (view full) ---
164 def getAllocator(self, microFlags):
165 if not "IsLastMicroop" in microFlags:
166 microFlags.append("IsLastMicroop")
167 if "IsDelayedCommit" in microFlags:
168 microFlags.remove("IsDelayedCommit")
169 return super(Eret, self).getAllocator(microFlags)
170
171 iop = InstObjParams("br", "MicroBranchFlags", "SeqOpBase",
172 {"code": "nuIP = target",
173 "else_code": "nuIP = nuIP",
174 "cond_test": "checkCondition(ccFlagBits, cc)"})
175 exec_output += SeqOpExecute.subst(iop)
176 header_output += SeqOpDeclare.subst(iop)
177 decoder_output += SeqOpConstructor.subst(iop)
178 iop = InstObjParams("br", "MicroBranch", "SeqOpBase",
179 {"code": "nuIP = target",
180 "else_code": "nuIP = nuIP",
181 "cond_test": "true"})
182 exec_output += SeqOpExecute.subst(iop)
183 header_output += SeqOpDeclare.subst(iop)
184 decoder_output += SeqOpConstructor.subst(iop)
185 microopClasses["br"] = Br
186
187 iop = InstObjParams("eret", "EretFlags", "SeqOpBase",
188 {"code": "", "else_code": "",
--- 12 unchanged lines hidden ---