fp.isa (3586:c5cc95fc5a61) fp.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

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

288 }
289}};
290
291// General format for floating-point operate instructions:
292// - Checks trapping and rounding mode flags. Trapping modes
293// currently unimplemented (will fail).
294// - Generates NOP if FC == 31.
295def format FloatingPointOperate(code, *opt_args) {{
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

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

288 }
289}};
290
291// General format for floating-point operate instructions:
292// - Checks trapping and rounding mode flags. Trapping modes
293// currently unimplemented (will fail).
294// - Generates NOP if FC == 31.
295def format FloatingPointOperate(code, *opt_args) {{
296 iop = InstObjParams(name, Name, 'AlphaFP', CodeBlock(code), opt_args)
296 iop = InstObjParams(name, Name, 'AlphaFP', code, opt_args)
297 decode_block = FloatingPointDecode.subst(iop)
298 header_output = BasicDeclare.subst(iop)
299 decoder_output = BasicConstructor.subst(iop)
300 exec_output = FloatingPointExecute.subst(iop)
301}};
302
303// Special format for cvttq where rounding mode is pre-decoded
304def format FPFixedRounding(code, class_suffix, *opt_args) {{
305 Name += class_suffix
297 decode_block = FloatingPointDecode.subst(iop)
298 header_output = BasicDeclare.subst(iop)
299 decoder_output = BasicConstructor.subst(iop)
300 exec_output = FloatingPointExecute.subst(iop)
301}};
302
303// Special format for cvttq where rounding mode is pre-decoded
304def format FPFixedRounding(code, class_suffix, *opt_args) {{
305 Name += class_suffix
306 iop = InstObjParams(name, Name, 'AlphaFP', CodeBlock(code), opt_args)
306 iop = InstObjParams(name, Name, 'AlphaFP', code, opt_args)
307 decode_block = FloatingPointDecode.subst(iop)
308 header_output = BasicDeclare.subst(iop)
309 decoder_output = BasicConstructor.subst(iop)
310 exec_output = FPFixedRoundingExecute.subst(iop)
311}};
312
307 decode_block = FloatingPointDecode.subst(iop)
308 header_output = BasicDeclare.subst(iop)
309 decoder_output = BasicConstructor.subst(iop)
310 exec_output = FPFixedRoundingExecute.subst(iop)
311}};
312