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 |