#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_execute_unit_execute_unit_functionnal_unit_operation_h #define morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_execute_unit_execute_unit_functionnal_unit_operation_h /* * $Id$ * * [ Description ] * */ #include "Common/include/ToString.h" #include "Common/include/Debug.h" #include "Common/include/ErrorMorpheo.h" #include "Behavioural/include/Types.h" #include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Types.h" namespace morpheo { namespace behavioural { namespace core { namespace multi_execute_loop { namespace execute_loop { namespace multi_execute_unit { namespace execute_unit { namespace functionnal_unit { void operation_unimplemented (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_add (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_addc (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sub (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); //void operation_l_mul (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); //void operation_l_mulu (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); //void operation_l_div (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); //void operation_l_divu (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_and (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_or (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_xor (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_test_f (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_test_nf (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_jalr (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sll (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sra (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_srl (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_ror (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_movhi (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_extend_s (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_extend_z (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_cmov (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_ff1 (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_fl1 (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_mfspr (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_mtspr (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfeq (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfne (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfgeu (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfgtu (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfleu (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfltu (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfges (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfgts (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sfles (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_sflts (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_mac (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_msb (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); void operation_l_macrc (execute_operation_t * op, execute_register_t * reg, execute_param_t * param); }; // end namespace functionnal_unit }; // end namespace execute_unit }; // end namespace multi_execute_unit }; // end namespace execute_loop }; // end namespace multi_execute_loop }; // end namespace core }; // end namespace behavioural }; // end namespace morpheo #endif