main.isa (3586:c5cc95fc5a61) | main.isa (3953:300d526414e6) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2003-2005 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 --- 324 unchanged lines hidden (view full) --- 333 334// Basic decode template, passing mnemonic in as string arg to constructor. 335def template BasicDecodeWithMnemonic {{ 336 return new %(class_name)s("%(mnemonic)s", machInst); 337}}; 338 339// The most basic instruction format... used only for a few misc. insts 340def format BasicOperate(code, *flags) {{ | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2003-2005 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 --- 324 unchanged lines hidden (view full) --- 333 334// Basic decode template, passing mnemonic in as string arg to constructor. 335def template BasicDecodeWithMnemonic {{ 336 return new %(class_name)s("%(mnemonic)s", machInst); 337}}; 338 339// The most basic instruction format... used only for a few misc. insts 340def format BasicOperate(code, *flags) {{ |
341 iop = InstObjParams(name, Name, 'AlphaStaticInst', CodeBlock(code), flags) | 341 iop = InstObjParams(name, Name, 'AlphaStaticInst', code, flags) |
342 header_output = BasicDeclare.subst(iop) 343 decoder_output = BasicConstructor.subst(iop) 344 decode_block = BasicDecode.subst(iop) 345 exec_output = BasicExecute.subst(iop) 346}}; 347 348 349 --- 69 unchanged lines hidden (view full) --- 419 i = makeNop(i); 420 } 421 return i; 422 } 423}}; 424 425// Like BasicOperate format, but generates NOP if RC/FC == 31 426def format BasicOperateWithNopCheck(code, *opt_args) {{ | 342 header_output = BasicDeclare.subst(iop) 343 decoder_output = BasicConstructor.subst(iop) 344 decode_block = BasicDecode.subst(iop) 345 exec_output = BasicExecute.subst(iop) 346}}; 347 348 349 --- 69 unchanged lines hidden (view full) --- 419 i = makeNop(i); 420 } 421 return i; 422 } 423}}; 424 425// Like BasicOperate format, but generates NOP if RC/FC == 31 426def format BasicOperateWithNopCheck(code, *opt_args) {{ |
427 iop = InstObjParams(name, Name, 'AlphaStaticInst', CodeBlock(code), 428 opt_args) | 427 iop = InstObjParams(name, Name, 'AlphaStaticInst', code, opt_args) |
429 header_output = BasicDeclare.subst(iop) 430 decoder_output = BasicConstructor.subst(iop) 431 decode_block = OperateNopCheckDecode.subst(iop) 432 exec_output = BasicExecute.subst(iop) 433}}; 434 435// Integer instruction templates, formats, etc. 436##include "int.isa" --- 27 unchanged lines hidden --- | 428 header_output = BasicDeclare.subst(iop) 429 decoder_output = BasicConstructor.subst(iop) 430 decode_block = OperateNopCheckDecode.subst(iop) 431 exec_output = BasicExecute.subst(iop) 432}}; 433 434// Integer instruction templates, formats, etc. 435##include "int.isa" --- 27 unchanged lines hidden --- |