int.isa (2980:eab855f06b79) int.isa (3951:727778d649ae)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2006 The Regents of The University of Michigan
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

219 ss << (int) sextImm;
220
221 return ss.str();
222 }
223
224}};
225
226def format IntOp(code, *opt_flags) {{
1// -*- mode:c++ -*-
2
3// Copyright (c) 2006 The Regents of The University of Michigan
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

219 ss << (int) sextImm;
220
221 return ss.str();
222 }
223
224}};
225
226def format IntOp(code, *opt_flags) {{
227 iop = InstObjParams(name, Name, 'IntOp', CodeBlock(code), opt_flags)
227 iop = InstObjParams(name, Name, 'IntOp', code, opt_flags)
228 header_output = BasicDeclare.subst(iop)
229 decoder_output = BasicConstructor.subst(iop)
230 decode_block = RegNopCheckDecode.subst(iop)
231 exec_output = BasicExecute.subst(iop)
232}};
233
234def format IntImmOp(code, *opt_flags) {{
228 header_output = BasicDeclare.subst(iop)
229 decoder_output = BasicConstructor.subst(iop)
230 decode_block = RegNopCheckDecode.subst(iop)
231 exec_output = BasicExecute.subst(iop)
232}};
233
234def format IntImmOp(code, *opt_flags) {{
235 iop = InstObjParams(name, Name, 'IntImmOp', CodeBlock(code), opt_flags)
235 iop = InstObjParams(name, Name, 'IntImmOp', code, opt_flags)
236 header_output = BasicDeclare.subst(iop)
237 decoder_output = BasicConstructor.subst(iop)
238 decode_block = ImmNopCheckDecode.subst(iop)
239 exec_output = BasicExecute.subst(iop)
240}};
241
242def format HiLoOp(code, *opt_flags) {{
243 if '.sd' in code:
244 code = 'int64_t ' + code
245 elif '.ud' in code:
246 code = 'uint64_t ' + code
247
248 code += 'HI = val<63:32>;\n'
249 code += 'LO = val<31:0>;\n'
250
236 header_output = BasicDeclare.subst(iop)
237 decoder_output = BasicConstructor.subst(iop)
238 decode_block = ImmNopCheckDecode.subst(iop)
239 exec_output = BasicExecute.subst(iop)
240}};
241
242def format HiLoOp(code, *opt_flags) {{
243 if '.sd' in code:
244 code = 'int64_t ' + code
245 elif '.ud' in code:
246 code = 'uint64_t ' + code
247
248 code += 'HI = val<63:32>;\n'
249 code += 'LO = val<31:0>;\n'
250
251 iop = InstObjParams(name, Name, 'HiLoOp', CodeBlock(code), opt_flags)
251 iop = InstObjParams(name, Name, 'HiLoOp', code, opt_flags)
252 header_output = BasicDeclare.subst(iop)
253 decoder_output = BasicConstructor.subst(iop)
254 decode_block = BasicDecode.subst(iop)
255 exec_output = HiLoExecute.subst(iop)
256}};
257
258def format HiLoMiscOp(code, *opt_flags) {{
252 header_output = BasicDeclare.subst(iop)
253 decoder_output = BasicConstructor.subst(iop)
254 decode_block = BasicDecode.subst(iop)
255 exec_output = HiLoExecute.subst(iop)
256}};
257
258def format HiLoMiscOp(code, *opt_flags) {{
259 iop = InstObjParams(name, Name, 'HiLoMiscOp', CodeBlock(code), opt_flags)
259 iop = InstObjParams(name, Name, 'HiLoMiscOp', code, opt_flags)
260 header_output = BasicDeclare.subst(iop)
261 decoder_output = BasicConstructor.subst(iop)
262 decode_block = BasicDecode.subst(iop)
263 exec_output = HiLoExecute.subst(iop)
264}};
265
266
267
268
269
260 header_output = BasicDeclare.subst(iop)
261 decoder_output = BasicConstructor.subst(iop)
262 decode_block = BasicDecode.subst(iop)
263 exec_output = HiLoExecute.subst(iop)
264}};
265
266
267
268
269