Changeset 101 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_allocation.cpp
- Timestamp:
- Jan 15, 2009, 6:19:08 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Front_end/Front_end/Decod_unit/Decod/src/Decod_allocation.cpp
r95 r101 23 23 void Decod::allocation ( 24 24 #ifdef STATISTICS 25 25 morpheo::behavioural::Parameters_Statistics * param_statistics 26 26 #else 27 27 void 28 28 #endif 29 29 ) 30 30 { 31 31 log_printf(FUNC,Decod,FUNCTION,"Begin"); … … 34 34 35 35 Entity * entity = _component->set_entity (_name 36 36 ,"Decod" 37 37 #ifdef POSITION 38 38 ,COMBINATORY 39 39 #endif 40 40 ); 41 41 42 42 _interfaces = entity->set_interfaces(); … … 46 46 Interface * interface = _interfaces->set_interface("" 47 47 #ifdef POSITION 48 49 50 48 ,IN 49 ,SOUTH, 50 "Generalist interface" 51 51 #endif 52 52 ); 53 53 54 54 in_CLOCK = interface->set_signal_clk ("clock" ,1, CLOCK_VHDL_YES); … … 77 77 } 78 78 79 // ~~~~~[ Interface : "decod" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 79 // ~~~~~[ Interface : "decod" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 80 { 81 81 ALLOC1_INTERFACE("decod", OUT, EAST, "Instructiont decoded", _param->_nb_inst_decod); … … 129 129 130 130 ALLOC1_SIGNAL_IN (in_CONTEXT_DECOD_ENABLE,"decod_enable",Tcontrol_t,1); 131 ALLOC1_SIGNAL_IN (in_CONTEXT_DEPTH_VAL ,"depth_val" ,Tcontrol_t,1); 131 132 ALLOC1_SIGNAL_IN (in_CONTEXT_DEPTH ,"depth" ,Tdepth_t ,_param->_size_depth); 132 133 } 133 134 134 // ~~~~~[ Interface : "context_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 // ~~~~~[ Interface : "context_event" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 136 { 136 137 ALLOC_INTERFACE("context_event", OUT, NORTH, "context's evenement"); … … 164 165 // ~~~~~[ Component ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 165 166 _priority = new generic::priority::Priority (_name+"_priority" , 166 167 168 169 170 167 _param->_priority , 168 _param->_load_balancing, 169 _param->_nb_context , 170 _param->_nb_inst_fetch , 171 _param->_nb_context_select); 171 172 172 173 const uint32_t nb_opcod_type = 14; 173 174 const uint32_t tab_opcod_type [] = {MAX_OPCOD_0, 174 175 176 177 178 179 180 181 182 183 184 185 186 175 MAX_OPCOD_1 , 176 MAX_OPCOD_2 , 177 MAX_OPCOD_3 , 178 MAX_OPCOD_4 , 179 MAX_OPCOD_5 , 180 MAX_OPCOD_6 , 181 MAX_OPCOD_7 , 182 MAX_OPCOD_8 , 183 MAX_OPCOD_9 , 184 MAX_OPCOD_10, 185 MAX_OPCOD_11, 186 MAX_OPCOD_12, 187 MAX_OPCOD_13}; 187 188 188 189 _function_decod = new function_decod_t *** [_param->_nb_context]; … … 190 191 for (uint32_t i=0; i<_param->_nb_context; i++) 191 192 { 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 _function_decod[i][0][OPCOD_2 ] = &(instruction_decod_type_2 ); // Instruction ORVDX64208 _function_decod[i][0][OPCOD_3 ] = &(instruction_decod_type_3 ); // Instructions Register-Register209 210 211 212 _function_decod[i][0][OPCOD_7 ] = &(instruction_decod_type_7 ); // Instructions multiply with HI-LO213 _function_decod[i][0][OPCOD_8 ] = &(instruction_decod_type_8 ); // Instructions acces at HI-LO214 _function_decod[i][0][OPCOD_9 ] = &(instruction_decod_type_9 ); // Instructions special215 _function_decod[i][0][OPCOD_10] = &(instruction_decod_type_10); // Instructions no operation216 217 _function_decod[i][3][OPCOD_12] = &(instruction_decod_type_12); // Instructions extend218 _function_decod[i][3][OPCOD_13] = &(instruction_decod_type_13); // Instructions extend (64b)219 220 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADD ]) _function_decod[i][ 3][OPCOD_L_ADD ] = &(instruction_l_add);221 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADDC ]) _function_decod[i][ 3][OPCOD_L_ADDC ] = &(instruction_l_addc);222 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADDI ]) _function_decod[i][ 0][OPCOD_L_ADDI ] = &(instruction_l_addi);223 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADDIC ]) _function_decod[i][ 0][OPCOD_L_ADDIC ] = &(instruction_l_addic);224 if (_param->_instruction_implemeted[i][INSTRUCTION_L_AND ]) _function_decod[i][ 3][OPCOD_L_AND ] = &(instruction_l_and);225 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ANDI ]) _function_decod[i][ 0][OPCOD_L_ANDI ] = &(instruction_l_andi);226 if (_param->_instruction_implemeted[i][INSTRUCTION_L_BF ]) _function_decod[i][ 0][OPCOD_L_BF ] = &(instruction_l_bf);227 if (_param->_instruction_implemeted[i][INSTRUCTION_L_BNF ]) _function_decod[i][ 0][OPCOD_L_BNF ] = &(instruction_l_bnf);228 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CMOV ]) _function_decod[i][ 3][OPCOD_L_CMOV ] = &(instruction_l_cmov);229 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CSYNC ]) _function_decod[i][ 9][OPCOD_L_CSYNC ] = &(instruction_l_csync);230 if (_param->_instruction_implemeted[i][INSTRUCTION_L_DIV ]) _function_decod[i][ 3][OPCOD_L_DIV ] = &(instruction_l_div);231 if (_param->_instruction_implemeted[i][INSTRUCTION_L_DIVU ]) _function_decod[i][ 3][OPCOD_L_DIVU ] = &(instruction_l_divu);232 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTBS ]) _function_decod[i][12][OPCOD_L_EXTBS ] = &(instruction_l_extbs);233 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTBZ ]) _function_decod[i][12][OPCOD_L_EXTBZ ] = &(instruction_l_extbz);234 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTHS ]) _function_decod[i][12][OPCOD_L_EXTHS ] = &(instruction_l_exths);235 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTHZ ]) _function_decod[i][12][OPCOD_L_EXTHZ ] = &(instruction_l_exthz);236 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTWS ]) _function_decod[i][13][OPCOD_L_EXTWS ] = &(instruction_l_extws);237 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTWZ ]) _function_decod[i][13][OPCOD_L_EXTWZ ] = &(instruction_l_extwz);238 if (_param->_instruction_implemeted[i][INSTRUCTION_L_FF1 ]) _function_decod[i][ 3][OPCOD_L_FF1 ] = &(instruction_l_ff1);239 if (_param->_instruction_implemeted[i][INSTRUCTION_L_FL1 ]) _function_decod[i][ 3][OPCOD_L_FL1 ] = &(instruction_l_fl1);240 if (_param->_instruction_implemeted[i][INSTRUCTION_L_J ]) _function_decod[i][ 0][OPCOD_L_J ] = &(instruction_l_j);241 if (_param->_instruction_implemeted[i][INSTRUCTION_L_JAL ]) _function_decod[i][ 0][OPCOD_L_JAL ] = &(instruction_l_jal);242 if (_param->_instruction_implemeted[i][INSTRUCTION_L_JALR ]) _function_decod[i][ 0][OPCOD_L_JALR ] = &(instruction_l_jalr);243 if (_param->_instruction_implemeted[i][INSTRUCTION_L_JR ]) _function_decod[i][ 0][OPCOD_L_JR ] = &(instruction_l_jr);244 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LBS ]) _function_decod[i][ 0][OPCOD_L_LBS ] = &(instruction_l_lbs);245 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LBZ ]) _function_decod[i][ 0][OPCOD_L_LBZ ] = &(instruction_l_lbz);246 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LD ]) _function_decod[i][ 0][OPCOD_L_LD ] = &(instruction_l_ld);247 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LHS ]) _function_decod[i][ 0][OPCOD_L_LHS ] = &(instruction_l_lhs);248 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LHZ ]) _function_decod[i][ 0][OPCOD_L_LHZ ] = &(instruction_l_lhz);249 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LWS ]) _function_decod[i][ 0][OPCOD_L_LWS ] = &(instruction_l_lws);250 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LWZ ]) _function_decod[i][ 0][OPCOD_L_LWZ ] = &(instruction_l_lwz);251 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MAC ]) _function_decod[i][ 7][OPCOD_L_MAC ] = &(instruction_l_mac);252 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MACI ]) _function_decod[i][ 0][OPCOD_L_MACI ] = &(instruction_l_maci);253 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MACRC ]) _function_decod[i][ 8][OPCOD_L_MACRC ] = &(instruction_l_macrc);254 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MFSPR ]) _function_decod[i][ 0][OPCOD_L_MFSPR ] = &(instruction_l_mfspr);255 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MOVHI ]) _function_decod[i][ 8][OPCOD_L_MOVHI ] = &(instruction_l_movhi);256 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MSB ]) _function_decod[i][ 7][OPCOD_L_MSB ] = &(instruction_l_msb);257 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MSYNC ]) _function_decod[i][ 9][OPCOD_L_MSYNC ] = &(instruction_l_msync);258 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MTSPR ]) _function_decod[i][ 0][OPCOD_L_MTSPR ] = &(instruction_l_mtspr);259 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MUL ]) _function_decod[i][ 3][OPCOD_L_MUL ] = &(instruction_l_mul);260 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MULI ]) _function_decod[i][ 0][OPCOD_L_MULI ] = &(instruction_l_muli);261 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MULU ]) _function_decod[i][ 3][OPCOD_L_MULU ] = &(instruction_l_mulu);262 if (_param->_instruction_implemeted[i][INSTRUCTION_L_NOP ]) _function_decod[i][10][OPCOD_L_NOP ] = &(instruction_l_nop);263 if (_param->_instruction_implemeted[i][INSTRUCTION_L_OR ]) _function_decod[i][ 3][OPCOD_L_OR ] = &(instruction_l_or);264 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ORI ]) _function_decod[i][ 0][OPCOD_L_ORI ] = &(instruction_l_ori);265 if (_param->_instruction_implemeted[i][INSTRUCTION_L_PSYNC ]) _function_decod[i][ 9][OPCOD_L_PSYNC ] = &(instruction_l_psync);266 if (_param->_instruction_implemeted[i][INSTRUCTION_L_RFE ]) _function_decod[i][ 0][OPCOD_L_RFE ] = &(instruction_l_rfe);267 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ROR ]) _function_decod[i][11][OPCOD_L_ROR ] = &(instruction_l_ror);268 if (_param->_instruction_implemeted[i][INSTRUCTION_L_RORI ]) _function_decod[i][ 6][OPCOD_L_RORI ] = &(instruction_l_rori);269 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SB ]) _function_decod[i][ 0][OPCOD_L_SB ] = &(instruction_l_sb);270 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SD ]) _function_decod[i][ 0][OPCOD_L_SD ] = &(instruction_l_sd);271 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFEQ ]) _function_decod[i][ 4][OPCOD_L_SFEQ ] = &(instruction_l_sfeq);272 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFEQI ]) _function_decod[i][ 5][OPCOD_L_SFEQI ] = &(instruction_l_sfeqi);273 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGES ]) _function_decod[i][ 4][OPCOD_L_SFGES ] = &(instruction_l_sfges);274 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGESI ]) _function_decod[i][ 5][OPCOD_L_SFGESI ] = &(instruction_l_sfgesi);275 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGEU ]) _function_decod[i][ 4][OPCOD_L_SFGEU ] = &(instruction_l_sfgeu);276 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGEUI ]) _function_decod[i][ 5][OPCOD_L_SFGEUI ] = &(instruction_l_sfgeui);277 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTS ]) _function_decod[i][ 4][OPCOD_L_SFGTS ] = &(instruction_l_sfgts);278 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTSI ]) _function_decod[i][ 5][OPCOD_L_SFGTSI ] = &(instruction_l_sfgtsi);279 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTU ]) _function_decod[i][ 4][OPCOD_L_SFGTU ] = &(instruction_l_sfgtu);280 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTUI ]) _function_decod[i][ 5][OPCOD_L_SFGTUI ] = &(instruction_l_sfgtui);281 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLES ]) _function_decod[i][ 4][OPCOD_L_SFLES ] = &(instruction_l_sfles);282 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLESI ]) _function_decod[i][ 5][OPCOD_L_SFLESI ] = &(instruction_l_sflesi);283 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLEU ]) _function_decod[i][ 4][OPCOD_L_SFLEU ] = &(instruction_l_sfleu);284 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLEUI ]) _function_decod[i][ 5][OPCOD_L_SFLEUI ] = &(instruction_l_sfleui);285 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTS ]) _function_decod[i][ 4][OPCOD_L_SFLTS ] = &(instruction_l_sflts);286 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTSI ]) _function_decod[i][ 5][OPCOD_L_SFLTSI ] = &(instruction_l_sfltsi);287 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTU ]) _function_decod[i][ 4][OPCOD_L_SFLTU ] = &(instruction_l_sfltu);288 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTUI ]) _function_decod[i][ 5][OPCOD_L_SFLTUI ] = &(instruction_l_sfltui);289 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFNE ]) _function_decod[i][ 4][OPCOD_L_SFNE ] = &(instruction_l_sfne);290 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFNEI ]) _function_decod[i][ 5][OPCOD_L_SFNEI ] = &(instruction_l_sfnei);291 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SH ]) _function_decod[i][ 0][OPCOD_L_SH ] = &(instruction_l_sh);292 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SLL ]) _function_decod[i][11][OPCOD_L_SLL ] = &(instruction_l_sll);293 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SLLI ]) _function_decod[i][ 6][OPCOD_L_SLLI ] = &(instruction_l_slli);294 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRA ]) _function_decod[i][11][OPCOD_L_SRA ] = &(instruction_l_sra);295 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRAI ]) _function_decod[i][ 6][OPCOD_L_SRAI ] = &(instruction_l_srai);296 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRL ]) _function_decod[i][11][OPCOD_L_SRL ] = &(instruction_l_srl);297 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRLI ]) _function_decod[i][ 6][OPCOD_L_SRLI ] = &(instruction_l_srli);298 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SUB ]) _function_decod[i][ 3][OPCOD_L_SUB ] = &(instruction_l_sub);299 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SW ]) _function_decod[i][ 0][OPCOD_L_SW ] = &(instruction_l_sw);300 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SYS ]) _function_decod[i][ 9][OPCOD_L_SYS ] = &(instruction_l_sys);301 if (_param->_instruction_implemeted[i][INSTRUCTION_L_TRAP ]) _function_decod[i][ 9][OPCOD_L_TRAP ] = &(instruction_l_trap);302 if (_param->_instruction_implemeted[i][INSTRUCTION_L_XOR ]) _function_decod[i][ 3][OPCOD_L_XOR ] = &(instruction_l_xor);303 if (_param->_instruction_implemeted[i][INSTRUCTION_L_XORI ]) _function_decod[i][ 0][OPCOD_L_XORI ] = &(instruction_l_xori);304 // 305 // 306 // 307 // 308 // 309 // 310 // 311 // 312 // 313 // 314 // 315 // 316 // 317 // 318 // 319 // 320 // 321 // 322 // 323 // 324 // 325 // 326 // 327 // 328 // 329 // 330 // 331 // 332 // 333 // 334 // 335 // 336 // 337 // 338 // 339 // 340 // 341 // 342 // 343 // 344 // 345 // 346 // 347 // 348 // 349 // 350 // 351 // 352 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_AND ]) _function_decod[i][ 2][OPCOD_LV_AND ] = &(instruction_lv_and);353 // 354 // 355 // 356 // 357 // 358 // 359 // 360 // 361 // 362 // 363 // 364 // 365 // 366 // 367 // 368 // 369 // 370 // 371 // 372 // 373 // 374 // 375 // 376 // 377 // 378 // 379 // 380 // 381 // 382 // 383 // 384 // 385 // 386 // 387 // 388 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_NAND ]) _function_decod[i][ 2][OPCOD_LV_NAND ] = &(instruction_lv_nand);389 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_NOR ]) _function_decod[i][ 2][OPCOD_LV_NOR ] = &(instruction_lv_nor);390 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_OR ]) _function_decod[i][ 2][OPCOD_LV_OR ] = &(instruction_lv_or);391 // 392 // 393 // 394 // 395 // 396 // 397 // 398 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_RL_B ]) _function_decod[i][ 2][OPCOD_LV_RL_B ] = &(instruction_lv_rl_b);399 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_RL_H ]) _function_decod[i][ 2][OPCOD_LV_RL_H ] = &(instruction_lv_rl_h);400 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SLL ]) _function_decod[i][ 2][OPCOD_LV_SLL ] = &(instruction_lv_sll);401 // 402 // 403 // 404 // 405 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SRL ]) _function_decod[i][ 2][OPCOD_LV_SRL ] = &(instruction_lv_srl);406 // 407 // 408 // 409 // 410 // 411 // 412 // 413 // 414 // 415 // 416 // 417 // 418 // 419 420 421 422 423 424 425 426 427 428 429 // 430 // 431 // 432 // 433 // 434 // 435 436 437 438 439 440 441 442 443 444 // 445 // 446 // 447 // 448 // 449 // 193 _function_decod [i] = new function_decod_t ** [nb_opcod_type]; 194 _function_custom [i] = new function_decod_t ** [nb_opcod_type]; 195 for (uint32_t j=0; j<nb_opcod_type; j++) 196 { 197 _function_decod [i][j] = new function_decod_t * [tab_opcod_type[j]]; 198 _function_custom [i][j] = new function_decod_t * [tab_opcod_type[j]]; 199 for (uint32_t k=0; k<tab_opcod_type[j]; k++) 200 { 201 _function_decod [i][j][k] = &(instruction_illegal); 202 _function_custom [i][j][k] = &(instruction_illegal); 203 } 204 } 205 206 // Create indirection 207 _function_decod[i][0][OPCOD_1 ] = &(instruction_decod_type_1 ); // Instruction ORFPX32/64 208 _function_decod[i][0][OPCOD_2 ] = &(instruction_decod_type_2 ); // Instruction ORVDX64 209 _function_decod[i][0][OPCOD_3 ] = &(instruction_decod_type_3 ); // Instructions Register-Register 210 _function_decod[i][0][OPCOD_4 ] = &(instruction_decod_type_4 ); // Instructions "set flag" with register 211 _function_decod[i][0][OPCOD_5 ] = &(instruction_decod_type_5 ); // Instructions "set flag" with immediat 212 _function_decod[i][0][OPCOD_6 ] = &(instruction_decod_type_6 ); // Instruction Shift/Rotate with immediat 213 _function_decod[i][0][OPCOD_7 ] = &(instruction_decod_type_7 ); // Instructions multiply with HI-LO 214 _function_decod[i][0][OPCOD_8 ] = &(instruction_decod_type_8 ); // Instructions acces at HI-LO 215 _function_decod[i][0][OPCOD_9 ] = &(instruction_decod_type_9 ); // Instructions special 216 _function_decod[i][0][OPCOD_10] = &(instruction_decod_type_10); // Instructions no operation 217 _function_decod[i][3][OPCOD_11] = &(instruction_decod_type_11); // Instruction Shift/Rotate with register 218 _function_decod[i][3][OPCOD_12] = &(instruction_decod_type_12); // Instructions extend 219 _function_decod[i][3][OPCOD_13] = &(instruction_decod_type_13); // Instructions extend (64b) 220 221 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADD ]) _function_decod[i][ 3][OPCOD_L_ADD ] = &(instruction_l_add ); 222 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADDC ]) _function_decod[i][ 3][OPCOD_L_ADDC ] = &(instruction_l_addc ); 223 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADDI ]) _function_decod[i][ 0][OPCOD_L_ADDI ] = &(instruction_l_addi ); 224 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ADDIC ]) _function_decod[i][ 0][OPCOD_L_ADDIC ] = &(instruction_l_addic ); 225 if (_param->_instruction_implemeted[i][INSTRUCTION_L_AND ]) _function_decod[i][ 3][OPCOD_L_AND ] = &(instruction_l_and ); 226 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ANDI ]) _function_decod[i][ 0][OPCOD_L_ANDI ] = &(instruction_l_andi ); 227 if (_param->_instruction_implemeted[i][INSTRUCTION_L_BF ]) _function_decod[i][ 0][OPCOD_L_BF ] = &(instruction_l_bf ); 228 if (_param->_instruction_implemeted[i][INSTRUCTION_L_BNF ]) _function_decod[i][ 0][OPCOD_L_BNF ] = &(instruction_l_bnf ); 229 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CMOV ]) _function_decod[i][ 3][OPCOD_L_CMOV ] = &(instruction_l_cmov ); 230 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CSYNC ]) _function_decod[i][ 9][OPCOD_L_CSYNC ] = &(instruction_l_csync ); 231 if (_param->_instruction_implemeted[i][INSTRUCTION_L_DIV ]) _function_decod[i][ 3][OPCOD_L_DIV ] = &(instruction_l_div ); 232 if (_param->_instruction_implemeted[i][INSTRUCTION_L_DIVU ]) _function_decod[i][ 3][OPCOD_L_DIVU ] = &(instruction_l_divu ); 233 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTBS ]) _function_decod[i][12][OPCOD_L_EXTBS ] = &(instruction_l_extbs ); 234 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTBZ ]) _function_decod[i][12][OPCOD_L_EXTBZ ] = &(instruction_l_extbz ); 235 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTHS ]) _function_decod[i][12][OPCOD_L_EXTHS ] = &(instruction_l_exths ); 236 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTHZ ]) _function_decod[i][12][OPCOD_L_EXTHZ ] = &(instruction_l_exthz ); 237 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTWS ]) _function_decod[i][13][OPCOD_L_EXTWS ] = &(instruction_l_extws ); 238 if (_param->_instruction_implemeted[i][INSTRUCTION_L_EXTWZ ]) _function_decod[i][13][OPCOD_L_EXTWZ ] = &(instruction_l_extwz ); 239 if (_param->_instruction_implemeted[i][INSTRUCTION_L_FF1 ]) _function_decod[i][ 3][OPCOD_L_FF1 ] = &(instruction_l_ff1 ); 240 if (_param->_instruction_implemeted[i][INSTRUCTION_L_FL1 ]) _function_decod[i][ 3][OPCOD_L_FL1 ] = &(instruction_l_fl1 ); 241 if (_param->_instruction_implemeted[i][INSTRUCTION_L_J ]) _function_decod[i][ 0][OPCOD_L_J ] = &(instruction_l_j ); 242 if (_param->_instruction_implemeted[i][INSTRUCTION_L_JAL ]) _function_decod[i][ 0][OPCOD_L_JAL ] = &(instruction_l_jal ); 243 if (_param->_instruction_implemeted[i][INSTRUCTION_L_JALR ]) _function_decod[i][ 0][OPCOD_L_JALR ] = &(instruction_l_jalr ); 244 if (_param->_instruction_implemeted[i][INSTRUCTION_L_JR ]) _function_decod[i][ 0][OPCOD_L_JR ] = &(instruction_l_jr ); 245 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LBS ]) _function_decod[i][ 0][OPCOD_L_LBS ] = &(instruction_l_lbs ); 246 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LBZ ]) _function_decod[i][ 0][OPCOD_L_LBZ ] = &(instruction_l_lbz ); 247 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LD ]) _function_decod[i][ 0][OPCOD_L_LD ] = &(instruction_l_ld ); 248 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LHS ]) _function_decod[i][ 0][OPCOD_L_LHS ] = &(instruction_l_lhs ); 249 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LHZ ]) _function_decod[i][ 0][OPCOD_L_LHZ ] = &(instruction_l_lhz ); 250 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LWS ]) _function_decod[i][ 0][OPCOD_L_LWS ] = &(instruction_l_lws ); 251 if (_param->_instruction_implemeted[i][INSTRUCTION_L_LWZ ]) _function_decod[i][ 0][OPCOD_L_LWZ ] = &(instruction_l_lwz ); 252 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MAC ]) _function_decod[i][ 7][OPCOD_L_MAC ] = &(instruction_l_mac ); 253 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MACI ]) _function_decod[i][ 0][OPCOD_L_MACI ] = &(instruction_l_maci ); 254 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MACRC ]) _function_decod[i][ 8][OPCOD_L_MACRC ] = &(instruction_l_macrc ); 255 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MFSPR ]) _function_decod[i][ 0][OPCOD_L_MFSPR ] = &(instruction_l_mfspr ); 256 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MOVHI ]) _function_decod[i][ 8][OPCOD_L_MOVHI ] = &(instruction_l_movhi ); 257 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MSB ]) _function_decod[i][ 7][OPCOD_L_MSB ] = &(instruction_l_msb ); 258 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MSYNC ]) _function_decod[i][ 9][OPCOD_L_MSYNC ] = &(instruction_l_msync ); 259 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MTSPR ]) _function_decod[i][ 0][OPCOD_L_MTSPR ] = &(instruction_l_mtspr ); 260 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MUL ]) _function_decod[i][ 3][OPCOD_L_MUL ] = &(instruction_l_mul ); 261 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MULI ]) _function_decod[i][ 0][OPCOD_L_MULI ] = &(instruction_l_muli ); 262 if (_param->_instruction_implemeted[i][INSTRUCTION_L_MULU ]) _function_decod[i][ 3][OPCOD_L_MULU ] = &(instruction_l_mulu ); 263 if (_param->_instruction_implemeted[i][INSTRUCTION_L_NOP ]) _function_decod[i][10][OPCOD_L_NOP ] = &(instruction_l_nop ); 264 if (_param->_instruction_implemeted[i][INSTRUCTION_L_OR ]) _function_decod[i][ 3][OPCOD_L_OR ] = &(instruction_l_or ); 265 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ORI ]) _function_decod[i][ 0][OPCOD_L_ORI ] = &(instruction_l_ori ); 266 if (_param->_instruction_implemeted[i][INSTRUCTION_L_PSYNC ]) _function_decod[i][ 9][OPCOD_L_PSYNC ] = &(instruction_l_psync ); 267 if (_param->_instruction_implemeted[i][INSTRUCTION_L_RFE ]) _function_decod[i][ 0][OPCOD_L_RFE ] = &(instruction_l_rfe ); 268 if (_param->_instruction_implemeted[i][INSTRUCTION_L_ROR ]) _function_decod[i][11][OPCOD_L_ROR ] = &(instruction_l_ror ); 269 if (_param->_instruction_implemeted[i][INSTRUCTION_L_RORI ]) _function_decod[i][ 6][OPCOD_L_RORI ] = &(instruction_l_rori ); 270 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SB ]) _function_decod[i][ 0][OPCOD_L_SB ] = &(instruction_l_sb ); 271 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SD ]) _function_decod[i][ 0][OPCOD_L_SD ] = &(instruction_l_sd ); 272 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFEQ ]) _function_decod[i][ 4][OPCOD_L_SFEQ ] = &(instruction_l_sfeq ); 273 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFEQI ]) _function_decod[i][ 5][OPCOD_L_SFEQI ] = &(instruction_l_sfeqi ); 274 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGES ]) _function_decod[i][ 4][OPCOD_L_SFGES ] = &(instruction_l_sfges ); 275 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGESI ]) _function_decod[i][ 5][OPCOD_L_SFGESI ] = &(instruction_l_sfgesi ); 276 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGEU ]) _function_decod[i][ 4][OPCOD_L_SFGEU ] = &(instruction_l_sfgeu ); 277 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGEUI ]) _function_decod[i][ 5][OPCOD_L_SFGEUI ] = &(instruction_l_sfgeui ); 278 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTS ]) _function_decod[i][ 4][OPCOD_L_SFGTS ] = &(instruction_l_sfgts ); 279 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTSI ]) _function_decod[i][ 5][OPCOD_L_SFGTSI ] = &(instruction_l_sfgtsi ); 280 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTU ]) _function_decod[i][ 4][OPCOD_L_SFGTU ] = &(instruction_l_sfgtu ); 281 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFGTUI ]) _function_decod[i][ 5][OPCOD_L_SFGTUI ] = &(instruction_l_sfgtui ); 282 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLES ]) _function_decod[i][ 4][OPCOD_L_SFLES ] = &(instruction_l_sfles ); 283 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLESI ]) _function_decod[i][ 5][OPCOD_L_SFLESI ] = &(instruction_l_sflesi ); 284 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLEU ]) _function_decod[i][ 4][OPCOD_L_SFLEU ] = &(instruction_l_sfleu ); 285 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLEUI ]) _function_decod[i][ 5][OPCOD_L_SFLEUI ] = &(instruction_l_sfleui ); 286 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTS ]) _function_decod[i][ 4][OPCOD_L_SFLTS ] = &(instruction_l_sflts ); 287 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTSI ]) _function_decod[i][ 5][OPCOD_L_SFLTSI ] = &(instruction_l_sfltsi ); 288 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTU ]) _function_decod[i][ 4][OPCOD_L_SFLTU ] = &(instruction_l_sfltu ); 289 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFLTUI ]) _function_decod[i][ 5][OPCOD_L_SFLTUI ] = &(instruction_l_sfltui ); 290 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFNE ]) _function_decod[i][ 4][OPCOD_L_SFNE ] = &(instruction_l_sfne ); 291 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SFNEI ]) _function_decod[i][ 5][OPCOD_L_SFNEI ] = &(instruction_l_sfnei ); 292 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SH ]) _function_decod[i][ 0][OPCOD_L_SH ] = &(instruction_l_sh ); 293 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SLL ]) _function_decod[i][11][OPCOD_L_SLL ] = &(instruction_l_sll ); 294 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SLLI ]) _function_decod[i][ 6][OPCOD_L_SLLI ] = &(instruction_l_slli ); 295 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRA ]) _function_decod[i][11][OPCOD_L_SRA ] = &(instruction_l_sra ); 296 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRAI ]) _function_decod[i][ 6][OPCOD_L_SRAI ] = &(instruction_l_srai ); 297 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRL ]) _function_decod[i][11][OPCOD_L_SRL ] = &(instruction_l_srl ); 298 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SRLI ]) _function_decod[i][ 6][OPCOD_L_SRLI ] = &(instruction_l_srli ); 299 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SUB ]) _function_decod[i][ 3][OPCOD_L_SUB ] = &(instruction_l_sub ); 300 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SW ]) _function_decod[i][ 0][OPCOD_L_SW ] = &(instruction_l_sw ); 301 if (_param->_instruction_implemeted[i][INSTRUCTION_L_SYS ]) _function_decod[i][ 9][OPCOD_L_SYS ] = &(instruction_l_sys ); 302 if (_param->_instruction_implemeted[i][INSTRUCTION_L_TRAP ]) _function_decod[i][ 9][OPCOD_L_TRAP ] = &(instruction_l_trap ); 303 if (_param->_instruction_implemeted[i][INSTRUCTION_L_XOR ]) _function_decod[i][ 3][OPCOD_L_XOR ] = &(instruction_l_xor ); 304 if (_param->_instruction_implemeted[i][INSTRUCTION_L_XORI ]) _function_decod[i][ 0][OPCOD_L_XORI ] = &(instruction_l_xori ); 305 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_ADD_D ]) _function_decod[i][ 1][OPCOD_LF_ADD_D ] = &(instruction_lf_add_d ); 306 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_ADD_S ]) _function_decod[i][ 1][OPCOD_LF_ADD_S ] = &(instruction_lf_add_s ); 307 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_DIV_D ]) _function_decod[i][ 1][OPCOD_LF_DIV_D ] = &(instruction_lf_div_d ); 308 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_DIV_S ]) _function_decod[i][ 1][OPCOD_LF_DIV_S ] = &(instruction_lf_div_s ); 309 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_FTOI_D ]) _function_decod[i][ 1][OPCOD_LF_FTOI_D ] = &(instruction_lf_ftoi_d ); 310 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_FTOI_S ]) _function_decod[i][ 1][OPCOD_LF_FTOI_S ] = &(instruction_lf_ftoi_s ); 311 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_ITOF_D ]) _function_decod[i][ 1][OPCOD_LF_ITOF_D ] = &(instruction_lf_itof_d ); 312 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_ITOF_S ]) _function_decod[i][ 1][OPCOD_LF_ITOF_S ] = &(instruction_lf_itof_s ); 313 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_MADD_D ]) _function_decod[i][ 1][OPCOD_LF_MADD_D ] = &(instruction_lf_madd_d ); 314 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_MADD_S ]) _function_decod[i][ 1][OPCOD_LF_MADD_S ] = &(instruction_lf_madd_s ); 315 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_MUL_D ]) _function_decod[i][ 1][OPCOD_LF_MUL_D ] = &(instruction_lf_mul_d ); 316 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_MUL_S ]) _function_decod[i][ 1][OPCOD_LF_MUL_S ] = &(instruction_lf_mul_s ); 317 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_REM_D ]) _function_decod[i][ 1][OPCOD_LF_REM_D ] = &(instruction_lf_rem_d ); 318 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_REM_S ]) _function_decod[i][ 1][OPCOD_LF_REM_S ] = &(instruction_lf_rem_s ); 319 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFEQ_D ]) _function_decod[i][ 1][OPCOD_LF_SFEQ_D ] = &(instruction_lf_sfeq_d ); 320 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFEQ_S ]) _function_decod[i][ 1][OPCOD_LF_SFEQ_S ] = &(instruction_lf_sfeq_s ); 321 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFGE_D ]) _function_decod[i][ 1][OPCOD_LF_SFGE_D ] = &(instruction_lf_sfge_d ); 322 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFGE_S ]) _function_decod[i][ 1][OPCOD_LF_SFGE_S ] = &(instruction_lf_sfge_s ); 323 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFGT_D ]) _function_decod[i][ 1][OPCOD_LF_SFGT_D ] = &(instruction_lf_sfgt_d ); 324 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFGT_S ]) _function_decod[i][ 1][OPCOD_LF_SFGT_S ] = &(instruction_lf_sfgt_s ); 325 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFLE_D ]) _function_decod[i][ 1][OPCOD_LF_SFLE_D ] = &(instruction_lf_sfle_d ); 326 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFLE_S ]) _function_decod[i][ 1][OPCOD_LF_SFLE_S ] = &(instruction_lf_sfle_s ); 327 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFLT_D ]) _function_decod[i][ 1][OPCOD_LF_SFLT_D ] = &(instruction_lf_sflt_d ); 328 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFLT_S ]) _function_decod[i][ 1][OPCOD_LF_SFLT_S ] = &(instruction_lf_sflt_s ); 329 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFNE_D ]) _function_decod[i][ 1][OPCOD_LF_SFNE_D ] = &(instruction_lf_sfne_d ); 330 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SFNE_S ]) _function_decod[i][ 1][OPCOD_LF_SFNE_S ] = &(instruction_lf_sfne_s ); 331 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SUB_D ]) _function_decod[i][ 1][OPCOD_LF_SUB_D ] = &(instruction_lf_sub_d ); 332 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_SUB_S ]) _function_decod[i][ 1][OPCOD_LF_SUB_S ] = &(instruction_lf_sub_s ); 333 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADD_B ]) _function_decod[i][ 2][OPCOD_LV_ADD_B ] = &(instruction_lv_add_b ); 334 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADD_H ]) _function_decod[i][ 2][OPCOD_LV_ADD_H ] = &(instruction_lv_add_h ); 335 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADDS_B ]) _function_decod[i][ 2][OPCOD_LV_ADDS_B ] = &(instruction_lv_adds_b ); 336 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADDS_H ]) _function_decod[i][ 2][OPCOD_LV_ADDS_H ] = &(instruction_lv_adds_h ); 337 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADDU_B ]) _function_decod[i][ 2][OPCOD_LV_ADDU_B ] = &(instruction_lv_addu_b ); 338 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADDU_H ]) _function_decod[i][ 2][OPCOD_LV_ADDU_H ] = &(instruction_lv_addu_h ); 339 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADDUS_B ]) _function_decod[i][ 2][OPCOD_LV_ADDUS_B ] = &(instruction_lv_addus_b ); 340 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ADDUS_H ]) _function_decod[i][ 2][OPCOD_LV_ADDUS_H ] = &(instruction_lv_addus_h ); 341 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_EQ_B]) _function_decod[i][ 2][OPCOD_LV_ALL_EQ_B] = &(instruction_lv_all_eq_b ); 342 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_EQ_H]) _function_decod[i][ 2][OPCOD_LV_ALL_EQ_H] = &(instruction_lv_all_eq_h ); 343 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_GE_B]) _function_decod[i][ 2][OPCOD_LV_ALL_GE_B] = &(instruction_lv_all_ge_b ); 344 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_GE_H]) _function_decod[i][ 2][OPCOD_LV_ALL_GE_H] = &(instruction_lv_all_ge_h ); 345 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_GT_B]) _function_decod[i][ 2][OPCOD_LV_ALL_GT_B] = &(instruction_lv_all_gt_b ); 346 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_GT_H]) _function_decod[i][ 2][OPCOD_LV_ALL_GT_H] = &(instruction_lv_all_gt_h ); 347 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_LE_B]) _function_decod[i][ 2][OPCOD_LV_ALL_LE_B] = &(instruction_lv_all_le_b ); 348 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_LE_H]) _function_decod[i][ 2][OPCOD_LV_ALL_LE_H] = &(instruction_lv_all_le_h ); 349 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_LT_B]) _function_decod[i][ 2][OPCOD_LV_ALL_LT_B] = &(instruction_lv_all_lt_b ); 350 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_LT_H]) _function_decod[i][ 2][OPCOD_LV_ALL_LT_H] = &(instruction_lv_all_lt_h ); 351 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_NE_B]) _function_decod[i][ 2][OPCOD_LV_ALL_NE_B] = &(instruction_lv_all_ne_b ); 352 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ALL_NE_H]) _function_decod[i][ 2][OPCOD_LV_ALL_NE_H] = &(instruction_lv_all_ne_h ); 353 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_AND ]) _function_decod[i][ 2][OPCOD_LV_AND ] = &(instruction_lv_and ); 354 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_EQ_B]) _function_decod[i][ 2][OPCOD_LV_ANY_EQ_B] = &(instruction_lv_any_eq_b ); 355 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_EQ_H]) _function_decod[i][ 2][OPCOD_LV_ANY_EQ_H] = &(instruction_lv_any_eq_h ); 356 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_GE_B]) _function_decod[i][ 2][OPCOD_LV_ANY_GE_B] = &(instruction_lv_any_ge_b ); 357 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_GE_H]) _function_decod[i][ 2][OPCOD_LV_ANY_GE_H] = &(instruction_lv_any_ge_h ); 358 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_GT_B]) _function_decod[i][ 2][OPCOD_LV_ANY_GT_B] = &(instruction_lv_any_gt_b ); 359 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_GT_H]) _function_decod[i][ 2][OPCOD_LV_ANY_GT_H] = &(instruction_lv_any_gt_h ); 360 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_LE_B]) _function_decod[i][ 2][OPCOD_LV_ANY_LE_B] = &(instruction_lv_any_le_b ); 361 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_LE_H]) _function_decod[i][ 2][OPCOD_LV_ANY_LE_H] = &(instruction_lv_any_le_h ); 362 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_LT_B]) _function_decod[i][ 2][OPCOD_LV_ANY_LT_B] = &(instruction_lv_any_lt_b ); 363 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_LT_H]) _function_decod[i][ 2][OPCOD_LV_ANY_LT_H] = &(instruction_lv_any_lt_h ); 364 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_NE_B]) _function_decod[i][ 2][OPCOD_LV_ANY_NE_B] = &(instruction_lv_any_ne_b ); 365 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_ANY_NE_H]) _function_decod[i][ 2][OPCOD_LV_ANY_NE_H] = &(instruction_lv_any_ne_h ); 366 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_AVG_B ]) _function_decod[i][ 2][OPCOD_LV_AVG_B ] = &(instruction_lv_avg_b ); 367 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_AVG_H ]) _function_decod[i][ 2][OPCOD_LV_AVG_H ] = &(instruction_lv_avg_h ); 368 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_EQ_B]) _function_decod[i][ 2][OPCOD_LV_CMP_EQ_B] = &(instruction_lv_cmp_eq_b ); 369 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_EQ_H]) _function_decod[i][ 2][OPCOD_LV_CMP_EQ_H] = &(instruction_lv_cmp_eq_h ); 370 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_GE_B]) _function_decod[i][ 2][OPCOD_LV_CMP_GE_B] = &(instruction_lv_cmp_ge_b ); 371 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_GE_H]) _function_decod[i][ 2][OPCOD_LV_CMP_GE_H] = &(instruction_lv_cmp_ge_h ); 372 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_GT_B]) _function_decod[i][ 2][OPCOD_LV_CMP_GT_B] = &(instruction_lv_cmp_gt_b ); 373 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_GT_H]) _function_decod[i][ 2][OPCOD_LV_CMP_GT_H] = &(instruction_lv_cmp_gt_h ); 374 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_LE_B]) _function_decod[i][ 2][OPCOD_LV_CMP_LE_B] = &(instruction_lv_cmp_le_b ); 375 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_LE_H]) _function_decod[i][ 2][OPCOD_LV_CMP_LE_H] = &(instruction_lv_cmp_le_h ); 376 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_LT_B]) _function_decod[i][ 2][OPCOD_LV_CMP_LT_B] = &(instruction_lv_cmp_lt_b ); 377 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_LT_H]) _function_decod[i][ 2][OPCOD_LV_CMP_LT_H] = &(instruction_lv_cmp_lt_h ); 378 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_NE_B]) _function_decod[i][ 2][OPCOD_LV_CMP_NE_B] = &(instruction_lv_cmp_ne_b ); 379 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CMP_NE_H]) _function_decod[i][ 2][OPCOD_LV_CMP_NE_H] = &(instruction_lv_cmp_ne_h ); 380 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MADDS_H ]) _function_decod[i][ 2][OPCOD_LV_MADDS_H ] = &(instruction_lv_madds_h ); 381 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MAX_B ]) _function_decod[i][ 2][OPCOD_LV_MAX_B ] = &(instruction_lv_max_b ); 382 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MAX_H ]) _function_decod[i][ 2][OPCOD_LV_MAX_H ] = &(instruction_lv_max_h ); 383 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MERGE_B ]) _function_decod[i][ 2][OPCOD_LV_MERGE_B ] = &(instruction_lv_merge_b ); 384 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MERGE_H ]) _function_decod[i][ 2][OPCOD_LV_MERGE_H ] = &(instruction_lv_merge_h ); 385 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MIN_B ]) _function_decod[i][ 2][OPCOD_LV_MIN_B ] = &(instruction_lv_min_b ); 386 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MIN_H ]) _function_decod[i][ 2][OPCOD_LV_MIN_H ] = &(instruction_lv_min_h ); 387 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MSUBS_H ]) _function_decod[i][ 2][OPCOD_LV_MSUBS_H ] = &(instruction_lv_msubs_h ); 388 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_MULS_H ]) _function_decod[i][ 2][OPCOD_LV_MULS_H ] = &(instruction_lv_muls_h ); 389 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_NAND ]) _function_decod[i][ 2][OPCOD_LV_NAND ] = &(instruction_lv_nand ); 390 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_NOR ]) _function_decod[i][ 2][OPCOD_LV_NOR ] = &(instruction_lv_nor ); 391 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_OR ]) _function_decod[i][ 2][OPCOD_LV_OR ] = &(instruction_lv_or ); 392 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_PACK_B ]) _function_decod[i][ 2][OPCOD_LV_PACK_B ] = &(instruction_lv_pack_b ); 393 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_PACK_H ]) _function_decod[i][ 2][OPCOD_LV_PACK_H ] = &(instruction_lv_pack_h ); 394 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_PACKS_B ]) _function_decod[i][ 2][OPCOD_LV_PACKS_B ] = &(instruction_lv_packs_b ); 395 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_PACKS_H ]) _function_decod[i][ 2][OPCOD_LV_PACKS_H ] = &(instruction_lv_packs_h ); 396 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_PACKUS_B]) _function_decod[i][ 2][OPCOD_LV_PACKUS_B] = &(instruction_lv_packus_b ); 397 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_PACKUS_H]) _function_decod[i][ 2][OPCOD_LV_PACKUS_H] = &(instruction_lv_packus_h ); 398 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_PERM_N ]) _function_decod[i][ 2][OPCOD_LV_PERM_N ] = &(instruction_lv_perm_n ); 399 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_RL_B ]) _function_decod[i][ 2][OPCOD_LV_RL_B ] = &(instruction_lv_rl_b ); 400 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_RL_H ]) _function_decod[i][ 2][OPCOD_LV_RL_H ] = &(instruction_lv_rl_h ); 401 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SLL ]) _function_decod[i][ 2][OPCOD_LV_SLL ] = &(instruction_lv_sll ); 402 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SLL_B ]) _function_decod[i][ 2][OPCOD_LV_SLL_B ] = &(instruction_lv_sll_b ); 403 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SLL_H ]) _function_decod[i][ 2][OPCOD_LV_SLL_H ] = &(instruction_lv_sll_h ); 404 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SRA_B ]) _function_decod[i][ 2][OPCOD_LV_SRA_B ] = &(instruction_lv_sra_b ); 405 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SRA_H ]) _function_decod[i][ 2][OPCOD_LV_SRA_H ] = &(instruction_lv_sra_h ); 406 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SRL ]) _function_decod[i][ 2][OPCOD_LV_SRL ] = &(instruction_lv_srl ); 407 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SRL_B ]) _function_decod[i][ 2][OPCOD_LV_SRL_B ] = &(instruction_lv_srl_b ); 408 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SRL_H ]) _function_decod[i][ 2][OPCOD_LV_SRL_H ] = &(instruction_lv_srl_h ); 409 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUB_B ]) _function_decod[i][ 2][OPCOD_LV_SUB_B ] = &(instruction_lv_sub_b ); 410 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUB_H ]) _function_decod[i][ 2][OPCOD_LV_SUB_H ] = &(instruction_lv_sub_h ); 411 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUBS_B ]) _function_decod[i][ 2][OPCOD_LV_SUBS_B ] = &(instruction_lv_subs_b ); 412 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUBS_H ]) _function_decod[i][ 2][OPCOD_LV_SUBS_H ] = &(instruction_lv_subs_h ); 413 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUBU_B ]) _function_decod[i][ 2][OPCOD_LV_SUBU_B ] = &(instruction_lv_subu_b ); 414 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUBU_H ]) _function_decod[i][ 2][OPCOD_LV_SUBU_H ] = &(instruction_lv_subu_h ); 415 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUBUS_B ]) _function_decod[i][ 2][OPCOD_LV_SUBUS_B ] = &(instruction_lv_subus_b ); 416 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_SUBUS_H ]) _function_decod[i][ 2][OPCOD_LV_SUBUS_H ] = &(instruction_lv_subus_h ); 417 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_UNPACK_B]) _function_decod[i][ 2][OPCOD_LV_UNPACK_B] = &(instruction_lv_unpack_b ); 418 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_UNPACK_H]) _function_decod[i][ 2][OPCOD_LV_UNPACK_H] = &(instruction_lv_unpack_h ); 419 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_XOR ]) _function_decod[i][ 2][OPCOD_LV_XOR ] = &(instruction_lv_xor ); 420 421 // Custom Instruction 422 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST1 ]) _function_decod [i][ 0][OPCOD_L_CUST1 ] = &(instruction_l_custom ); 423 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST2 ]) _function_decod [i][ 0][OPCOD_L_CUST2 ] = &(instruction_l_custom ); 424 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST3 ]) _function_decod [i][ 0][OPCOD_L_CUST3 ] = &(instruction_l_custom ); 425 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST4 ]) _function_decod [i][ 0][OPCOD_L_CUST4 ] = &(instruction_l_custom ); 426 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST5 ]) _function_decod [i][ 0][OPCOD_L_CUST5 ] = &(instruction_l_custom ); 427 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST6 ]) _function_decod [i][ 0][OPCOD_L_CUST6 ] = &(instruction_l_custom ); 428 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST7 ]) _function_decod [i][ 0][OPCOD_L_CUST7 ] = &(instruction_l_custom ); 429 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST8 ]) _function_decod [i][ 0][OPCOD_L_CUST8 ] = &(instruction_l_custom ); 430 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_CUST1_D ]) _function_decod [i][ 1][OPCOD_LF_CUST1_D ] = &(instruction_lf_custom); 431 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_CUST1_S ]) _function_decod [i][ 1][OPCOD_LF_CUST1_S ] = &(instruction_lf_custom); 432 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST1 ]) _function_decod [i][ 2][OPCOD_LV_CUST1 ] = &(instruction_lv_custom); 433 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST2 ]) _function_decod [i][ 2][OPCOD_LV_CUST2 ] = &(instruction_lv_custom); 434 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST3 ]) _function_decod [i][ 2][OPCOD_LV_CUST3 ] = &(instruction_lv_custom); 435 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST4 ]) _function_decod [i][ 2][OPCOD_LV_CUST4 ] = &(instruction_lv_custom); 436 437 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST1 ]) _function_custom[i][ 0][OPCOD_L_CUST1 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_1 ); 438 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST2 ]) _function_custom[i][ 0][OPCOD_L_CUST2 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_2 ); 439 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST3 ]) _function_custom[i][ 0][OPCOD_L_CUST3 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_3 ); 440 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST4 ]) _function_custom[i][ 0][OPCOD_L_CUST4 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_4 ); 441 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST5 ]) _function_custom[i][ 0][OPCOD_L_CUST5 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_5 ); 442 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST6 ]) _function_custom[i][ 0][OPCOD_L_CUST6 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_6 ); 443 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST7 ]) _function_custom[i][ 0][OPCOD_L_CUST7 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_7 ); 444 if (_param->_instruction_implemeted[i][INSTRUCTION_L_CUST8 ]) _function_custom[i][ 0][OPCOD_L_CUST8 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_L_8 ); 445 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_CUST1_D ]) _function_custom[i][ 1][OPCOD_LF_CUST1_D ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_LF_1_D); 446 // if (_param->_instruction_implemeted[i][INSTRUCTION_LF_CUST1_S ]) _function_custom[i][ 1][OPCOD_LF_CUST1_S ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_LF_1_S); 447 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST1 ]) _function_custom[i][ 2][OPCOD_LV_CUST1 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_LV_1 ); 448 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST2 ]) _function_custom[i][ 2][OPCOD_LV_CUST2 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_LV_2 ); 449 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST3 ]) _function_custom[i][ 2][OPCOD_LV_CUST3 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_LV_3 ); 450 // if (_param->_instruction_implemeted[i][INSTRUCTION_LV_CUST4 ]) _function_custom[i][ 2][OPCOD_LV_CUST4 ] = _param->_get_custom_information()._get_custom_decod(OPERATION_CUSTOM_LV_4 ); 450 451 } 451 452 … … 455 456 for (uint32_t i=0; i<_param->_nb_context; i++) 456 457 _decod_param [i] = new decod_param_t (_param->_size_general_data, 457 458 458 _function_decod [i], 459 _function_custom[i]); 459 460 460 461 #ifdef POSITION
Note: See TracChangeset
for help on using the changeset viewer.