int.isa (5269:0bdd8bbdc79f) int.isa (8588:ef28ed90449d)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 MIPS Technologies, Inc.
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

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

352 header_output = BasicDeclare.subst(iop)
353 decoder_output = BasicConstructor.subst(iop)
354 decode_block = BasicDecode.subst(iop)
355 exec_output = HiLoRdSelExecute.subst(iop)
356}};
357
358def format HiLoRdSelValOp(code, *opt_flags) {{
359
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007 MIPS Technologies, Inc.
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

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

352 header_output = BasicDeclare.subst(iop)
353 decoder_output = BasicConstructor.subst(iop)
354 decode_block = BasicDecode.subst(iop)
355 exec_output = HiLoRdSelExecute.subst(iop)
356}};
357
358def format HiLoRdSelValOp(code, *opt_flags) {{
359
360 if '.sd' in code:
360 if '_sd' in code:
361 code = 'int64_t ' + code
361 code = 'int64_t ' + code
362 elif '.ud' in code:
362 elif '_ud' in code:
363 code = 'uint64_t ' + code
364
365 code += 'HI_RD_SEL = val<63:32>;\n'
366 code += 'LO_RD_SEL = val<31:0>;\n'
367
368 iop = InstObjParams(name, Name, 'HiLoRdSelOp', code, opt_flags)
369 header_output = BasicDeclare.subst(iop)
370 decoder_output = BasicConstructor.subst(iop)
371 decode_block = BasicDecode.subst(iop)
372 exec_output = HiLoRdSelExecute.subst(iop)
373}};
374
375def format HiLoOp(code, *opt_flags) {{
376 iop = InstObjParams(name, Name, 'HiLoOp', code, opt_flags)
377 header_output = BasicDeclare.subst(iop)
378 decoder_output = BasicConstructor.subst(iop)
379 decode_block = BasicDecode.subst(iop)
380 exec_output = HiLoExecute.subst(iop)
381}};
363 code = 'uint64_t ' + code
364
365 code += 'HI_RD_SEL = val<63:32>;\n'
366 code += 'LO_RD_SEL = val<31:0>;\n'
367
368 iop = InstObjParams(name, Name, 'HiLoRdSelOp', code, opt_flags)
369 header_output = BasicDeclare.subst(iop)
370 decoder_output = BasicConstructor.subst(iop)
371 decode_block = BasicDecode.subst(iop)
372 exec_output = HiLoRdSelExecute.subst(iop)
373}};
374
375def format HiLoOp(code, *opt_flags) {{
376 iop = InstObjParams(name, Name, 'HiLoOp', code, opt_flags)
377 header_output = BasicDeclare.subst(iop)
378 decoder_output = BasicConstructor.subst(iop)
379 decode_block = BasicDecode.subst(iop)
380 exec_output = HiLoExecute.subst(iop)
381}};