Deleted Added
sdiff udiff text old ( 7789:f455790bcd47 ) new ( 7894:48d31b577847 )
full compact
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

--- 87 unchanged lines hidden (view full) ---

96def template SeqOpConstructor {{
97 inline %(class_name)s::%(class_name)s(
98 ExtMachInst machInst, const char * instMnem,
99 uint64_t setFlags, uint16_t _target, uint8_t _cc) :
100 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
101 setFlags, _target, _cc)
102 {
103 %(constructor)s;
104 }
105}};
106
107output decoder {{
108 std::string SeqOpBase::generateDisassembly(Addr pc,
109 const SymbolTable *symtab) const
110 {
111 std::stringstream response;

--- 54 unchanged lines hidden (view full) ---

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": "",
189 "cond_test": "checkCondition(ccFlagBits, cc)"})
190 exec_output += SeqOpExecute.subst(iop)
191 header_output += SeqOpDeclare.subst(iop)
192 decoder_output += SeqOpConstructor.subst(iop)
193 iop = InstObjParams("eret", "Eret", "SeqOpBase",
194 {"code": "", "else_code": "",
195 "cond_test": "true"})
196 exec_output += SeqOpExecute.subst(iop)
197 header_output += SeqOpDeclare.subst(iop)
198 decoder_output += SeqOpConstructor.subst(iop)
199 microopClasses["eret"] = Eret
200}};