int.isa (3951:727778d649ae) int.isa (3954:d689b611d9dc)
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

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

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) {{
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

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

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
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) {{
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)
243 code += 'HI = val<63:32>;\n'
244 code += 'LO = val<31:0>;\n'
245
246 iop = InstObjParams(name, Name, 'HiLoOp', code, opt_flags)
247 header_output = BasicDeclare.subst(iop)
248 decoder_output = BasicConstructor.subst(iop)
249 decode_block = BasicDecode.subst(iop)
250 exec_output = HiLoExecute.subst(iop)
251}};
252
253def format HiLoMiscOp(code, *opt_flags) {{
254 iop = InstObjParams(name, Name, 'HiLoMiscOp', code, opt_flags)
255 header_output = BasicDeclare.subst(iop)
256 decoder_output = BasicConstructor.subst(iop)
257 decode_block = BasicDecode.subst(iop)
263 exec_output = HiLoExecute.subst(iop)
258 exec_output = BasicExecute.subst(iop)
264}};
265
266
267
268
269
259}};
260
261
262
263
264