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 |