Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
00001 /* 00002 00003 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00004 00005 This program is free software; you can redistribute it and/or modify it 00006 under the terms of version 2 of the GNU General Public License as 00007 published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it would be useful, but 00010 WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00012 00013 Further, this software is distributed without any warranty that it is 00014 free of the rightful claim of any third person regarding infringement 00015 or the like. Any license provided herein, whether implied or 00016 otherwise, applies only to this software file. Patent licenses, if 00017 any, provided herein do not apply to combinations of this program with 00018 other software, or any other product whatsoever. 00019 00020 You should have received a copy of the GNU General Public License along 00021 with this program; if not, write the Free Software Foundation, Inc., 59 00022 Temple Place - Suite 330, Boston MA 02111-1307, USA. 00023 00024 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00025 Mountain View, CA 94043, or: 00026 00027 http://www.sgi.com 00028 00029 For further information regarding this notice, see: 00030 00031 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00032 00033 */ 00034 00035 00036 // 00037 // Generate ISA bundle information 00039 00040 00041 #include <stddef.h> 00042 #include "topcode.h" 00043 #include "isa_bundle_gen.h" 00044 00045 main() 00046 { 00047 ISA_EXEC_UNIT_TYPE 00048 R_Unit, // Reserved unit type 00049 I_Unit, // Integer execution type 00050 M_Unit, // Memory execution type 00051 F_Unit, // Floating-point execution type 00052 B_Unit, // Branch execution type 00053 L_Unit, // Long immediate type 00054 B2_Unit, // specific B-unit category in which instruction can occupy 00055 // only in slot2 position. 00056 I2_Unit; // specific I-unit category for template2 specification. Only 00057 // movl, break and nop fall in this category and occupy slot2 00058 // position. 00059 00060 ISA_Bundle_Begin("ia64", 128); 00061 00062 /* ===== Specification for bundle packing ===== */ 00063 ISA_Bundle_Pack_Create(ISA_Bundle_Pack_Little_Endian); 00064 Pack_Template(0, 0, 5); 00065 Pack_Slot(0, 0, 5, 41); 00066 Pack_Slot(1, 0, 46, 41); 00067 Pack_Slot(2, 0, 87, 41); 00068 00069 /* ===== Specification for R_Unit Type ===== */ 00070 R_Unit = ISA_Exec_Unit_Type_Create("R_Unit", NULL); 00071 Instruction_Exec_Unit_Group(R_Unit, 00072 TOP_UNDEFINED); 00073 00074 /* ===== Specification for I_Unit Type ===== */ 00075 I_Unit = ISA_Exec_Unit_Type_Create("I_Unit", NULL); 00076 Instruction_Exec_Unit_Group(I_Unit, 00077 00078 // Integer: 00079 TOP_pmpyshr2, 00080 TOP_pmpyshr2_u, 00081 TOP_pmpy2_r, 00082 TOP_pmpy2_l, 00083 TOP_mix1_r, 00084 TOP_mix2_r, 00085 TOP_mix4_r, 00086 TOP_mix1_l, 00087 TOP_mix2_l, 00088 TOP_mix4_l, 00089 TOP_pack2_uss, 00090 TOP_pack2_sss, 00091 TOP_pack4_sss, 00092 TOP_unpack1_h, 00093 TOP_unpack2_h, 00094 TOP_unpack4_h, 00095 TOP_unpack1_l, 00096 TOP_unpack2_l, 00097 TOP_unpack4_l, 00098 TOP_pmin1_u, 00099 TOP_pmax1_u, 00100 TOP_pmin2, 00101 TOP_pmax2, 00102 TOP_psad1, 00103 TOP_mux1, 00104 TOP_mux2, 00105 TOP_pshr2, 00106 TOP_pshr4, 00107 TOP_shr, 00108 TOP_pshr2_u, 00109 TOP_pshr4_u, 00110 TOP_shr_u, 00111 TOP_pshr2_i, 00112 TOP_pshr4_i, 00113 TOP_pshr2_i_u, 00114 TOP_pshr4_i_u, 00115 TOP_pshl2, 00116 TOP_pshl4, 00117 TOP_shl, 00118 TOP_pshl2_i, 00119 TOP_pshl4_i, 00120 TOP_popcnt, 00121 TOP_shrp, 00122 TOP_extr_u, 00123 TOP_extr, 00124 TOP_dep_z, 00125 TOP_dep_i_z, 00126 TOP_dep_i, 00127 TOP_dep, 00128 TOP_tbit_z, 00129 TOP_tbit_z_unc, 00130 TOP_tbit_z_and, 00131 TOP_tbit_nz_and, 00132 TOP_tbit_z_or, 00133 TOP_tbit_nz_or, 00134 TOP_tbit_z_or_andcm, 00135 TOP_tbit_nz_or_andcm, 00136 TOP_tnat_z, 00137 TOP_tnat_z_unc, 00138 TOP_tnat_z_and, 00139 TOP_tnat_nz_and, 00140 TOP_tnat_z_or, 00141 TOP_tnat_nz_or, 00142 TOP_tnat_z_or_andcm, 00143 TOP_tnat_nz_or_andcm, 00144 TOP_break_i, 00145 TOP_break, 00146 TOP_nop_i, 00147 TOP_nop, 00148 TOP_chk_s_i, 00149 TOP_chk_s, 00150 TOP_mov_t_br_i, 00151 TOP_mov_t_br_ret, 00152 TOP_mov_f_br, 00153 TOP_mov_t_pr, 00154 TOP_mov_t_pr_i, 00155 TOP_mov_f_ip, 00156 TOP_mov_f_pr, 00157 TOP_mov_t_ar_r_i, 00158 TOP_mov_t_ar_r, // Simulated OP, I- or M- unit. 00159 TOP_mov_t_ar_i_i, 00160 TOP_mov_t_ar_i, 00161 TOP_mov_f_ar_i, 00162 TOP_mov_f_ar, 00163 TOP_zxt1, 00164 TOP_zxt2, 00165 TOP_zxt4, 00166 TOP_sxt1, 00167 TOP_sxt2, 00168 TOP_sxt4, 00169 TOP_czx1_l, 00170 TOP_czx2_l, 00171 TOP_czx1_r, 00172 TOP_czx2_r, 00173 TOP_mov_t_br, 00174 TOP_tbit_nz, 00175 TOP_tbit_nz_unc, 00176 TOP_tnat_nz, 00177 TOP_tnat_nz_unc, 00178 TOP_shl_i, 00179 TOP_shr_i_u, 00180 TOP_shr_i, 00181 00182 // ALU: 00183 TOP_add, 00184 TOP_add_1, 00185 TOP_sub, 00186 TOP_sub_1, 00187 TOP_addp4, 00188 TOP_and, 00189 TOP_andcm, 00190 TOP_or, 00191 TOP_xor, 00192 TOP_shladd, 00193 TOP_shladdp4, 00194 TOP_sub_i, 00195 TOP_and_i, 00196 TOP_andcm_i, 00197 TOP_or_i, 00198 TOP_xor_i, 00199 TOP_adds, 00200 TOP_addp4_i, 00201 TOP_addl, 00202 TOP_cmp_lt, 00203 TOP_cmp_ltu, 00204 TOP_cmp_eq, 00205 TOP_cmp_lt_unc, 00206 TOP_cmp_lt_and, 00207 TOP_cmp_lt_or, 00208 TOP_cmp_lt_or_andcm, 00209 TOP_cmp_le_and, 00210 TOP_cmp_le_or, 00211 TOP_cmp_le_or_andcm, 00212 TOP_cmp_ltu_unc, 00213 TOP_cmp_eq_unc, 00214 TOP_cmp_eq_and, 00215 TOP_cmp_eq_or, 00216 TOP_cmp_eq_or_andcm, 00217 TOP_cmp_gt_and, 00218 TOP_cmp_gt_or, 00219 TOP_cmp_gt_orcm, 00220 TOP_cmp_gt_andcm, 00221 TOP_cmp_gt_and_orcm, 00222 TOP_cmp_ge_orcm, 00223 TOP_cmp_ge_andcm, 00224 TOP_cmp_ge_and_orcm, 00225 TOP_cmp_gt_or_andcm, 00226 TOP_cmp_ge_and, 00227 TOP_cmp_ge_or, 00228 TOP_cmp_ge_or_andcm, 00229 TOP_cmp_ne_and, 00230 TOP_cmp_ne_or, 00231 TOP_cmp_ne_or_andcm, 00232 TOP_cmp4_lt, 00233 TOP_cmp4_lt_and, 00234 TOP_cmp4_lt_or, 00235 TOP_cmp4_lt_or_andcm, 00236 TOP_cmp_lt_orcm, 00237 TOP_cmp_lt_andcm, 00238 TOP_cmp_lt_and_orcm, 00239 TOP_cmp_le_orcm, 00240 TOP_cmp_le_andcm, 00241 TOP_cmp_le_and_orcm, 00242 TOP_cmp4_le_and, 00243 TOP_cmp4_le_or, 00244 TOP_cmp4_le_or_andcm, 00245 TOP_cmp4_gt_and, 00246 TOP_cmp4_gt_or, 00247 TOP_cmp4_gt_or_andcm, 00248 TOP_cmp4_ge_and, 00249 TOP_cmp4_ge_and, 00250 TOP_cmp4_ge_or, 00251 TOP_cmp4_ge_or_andcm, 00252 TOP_cmp4_lt_orcm, 00253 TOP_cmp4_lt_andcm, 00254 TOP_cmp4_lt_and_orcm, 00255 TOP_cmp4_le_orcm, 00256 TOP_cmp4_le_andcm, 00257 TOP_cmp4_le_and_orcm, 00258 TOP_cmp4_gt_orcm, 00259 TOP_cmp4_gt_andcm, 00260 TOP_cmp4_gt_and_orcm, 00261 TOP_cmp4_gt_and_orcm, 00262 TOP_cmp4_ge_orcm, 00263 TOP_cmp4_ge_andcm, 00264 TOP_cmp4_ge_and_orcm, 00265 TOP_cmp4_ltu, 00266 TOP_cmp4_eq, 00267 TOP_cmp4_lt_unc, 00268 TOP_cmp4_ltu_unc, 00269 TOP_cmp4_eq_unc, 00270 TOP_cmp4_eq_and, 00271 TOP_cmp4_eq_or, 00272 TOP_cmp4_eq_or_andcm, 00273 TOP_cmp4_ne_and, 00274 TOP_cmp4_ne_or, 00275 TOP_cmp4_ne_or_andcm, 00276 TOP_cmp_z1_gt_and, 00277 TOP_cmp_z1_gt_or, 00278 TOP_cmp_z1_gt_or_andcm, 00279 TOP_cmp_z1_le_and, 00280 TOP_cmp_z1_le_or, 00281 TOP_cmp_z1_le_or_andcm, 00282 TOP_cmp_z1_ge_and, 00283 TOP_cmp_z1_ge_or, 00284 TOP_cmp_z1_ge_or_andcm, 00285 TOP_cmp_z1_lt_and, 00286 TOP_cmp_z1_lt_or, 00287 TOP_cmp_z1_lt_or_andcm, 00288 TOP_cmp4_z1_gt_and, 00289 TOP_cmp4_z1_gt_or, 00290 TOP_cmp4_z1_gt_or_andcm, 00291 TOP_cmp4_z1_le_and, 00292 TOP_cmp4_z1_le_or, 00293 TOP_cmp4_z1_le_or_andcm, 00294 TOP_cmp4_z1_ge_and, 00295 TOP_cmp4_z1_ge_or, 00296 TOP_cmp4_z1_ge_or_andcm, 00297 TOP_cmp4_z1_lt_and, 00298 TOP_cmp4_z1_lt_or, 00299 TOP_cmp4_z1_lt_or_andcm, 00300 TOP_cmp_i_lt, 00301 TOP_cmp_i_ltu, 00302 TOP_cmp_i_eq, 00303 TOP_cmp_i_lt_unc, 00304 TOP_cmp_i_ltu_unc, 00305 TOP_cmp_i_eq_unc, 00306 TOP_cmp_i_eq_and, 00307 TOP_cmp_i_eq_or, 00308 TOP_cmp_i_eq_or_andcm, 00309 TOP_cmp_i_ne_and, 00310 TOP_cmp_i_ne_or, 00311 TOP_cmp_i_ne_or_andcm, 00312 TOP_cmp4_i_lt, 00313 TOP_cmp4_i_ltu, 00314 TOP_cmp4_i_eq, 00315 TOP_cmp4_i_lt_unc, 00316 TOP_cmp4_i_ltu_unc, 00317 TOP_cmp4_i_eq_unc, 00318 TOP_cmp4_i_eq_and, 00319 TOP_cmp4_i_eq_or, 00320 TOP_cmp4_i_eq_or_andcm, 00321 TOP_cmp4_i_ne_and, 00322 TOP_cmp4_i_ne_or, 00323 TOP_cmp4_i_ne_or_andcm, 00324 TOP_padd1, 00325 TOP_padd2, 00326 TOP_padd4, 00327 TOP_padd1_sss, 00328 TOP_padd2_sss, 00329 TOP_padd1_uuu, 00330 TOP_padd2_uuu, 00331 TOP_padd1_uus, 00332 TOP_padd2_uus, 00333 TOP_psub1, 00334 TOP_psub2, 00335 TOP_psub4, 00336 TOP_psub1_sss, 00337 TOP_psub2_sss, 00338 TOP_psub1_uuu, 00339 TOP_psub2_uuu, 00340 TOP_psub1_uus, 00341 TOP_psub2_uus, 00342 TOP_pavg1, 00343 TOP_pavg2, 00344 TOP_pavg1_raz, 00345 TOP_pavg2_raz, 00346 TOP_pavgsub1, 00347 TOP_pavgsub2, 00348 TOP_pcmp1_eq, 00349 TOP_pcmp2_eq, 00350 TOP_pcmp4_eq, 00351 TOP_pcmp1_gt, 00352 TOP_pcmp2_gt, 00353 TOP_pcmp4_gt, 00354 TOP_pshladd2, 00355 TOP_pshradd2, 00356 TOP_mov, 00357 TOP_mov_i, 00358 TOP_cmp_eq_and_orcm, 00359 TOP_cmp_eq_andcm, 00360 TOP_cmp_eq_orcm, 00361 TOP_cmp_ge, 00362 TOP_cmp_ge_unc, 00363 TOP_cmp_geu, 00364 TOP_cmp_geu_unc, 00365 TOP_cmp_ne, 00366 TOP_cmp_ne_and_orcm, 00367 TOP_cmp_ne_andcm, 00368 TOP_cmp_ne_orcm, 00369 TOP_cmp_ne_unc, 00370 TOP_cmp4_eq_and_orcm, 00371 TOP_cmp4_eq_andcm, 00372 TOP_cmp4_eq_orcm, 00373 TOP_cmp4_ge, 00374 TOP_cmp4_ge_unc, 00375 TOP_cmp4_geu, 00376 TOP_cmp4_geu_unc, 00377 TOP_cmp4_ne, 00378 TOP_cmp4_ne_and_orcm, 00379 TOP_cmp4_ne_orcm, 00380 TOP_cmp4_ne_andcm, 00381 TOP_cmp4_ne_unc, 00382 TOP_cmp_gt, 00383 TOP_cmp_gt_unc, 00384 TOP_cmp_gtu, 00385 TOP_cmp_gtu_unc, 00386 TOP_cmp4_gt, 00387 TOP_cmp4_gt_unc, 00388 TOP_cmp4_gtu, 00389 TOP_cmp4_gtu_unc, 00390 TOP_cmp_le, 00391 TOP_cmp_le_unc, 00392 TOP_cmp_leu, 00393 TOP_cmp_leu_unc, 00394 TOP_cmp4_le, 00395 TOP_cmp4_le_unc, 00396 TOP_cmp4_leu, 00397 TOP_cmp4_leu_unc, 00398 TOP_cmp_i_eq_and_orcm, 00399 TOP_cmp_i_eq_andcm, 00400 TOP_cmp_i_eq_orcm, 00401 TOP_cmp_i_ge, 00402 TOP_cmp_i_ge_unc, 00403 TOP_cmp_i_geu, 00404 TOP_cmp_i_geu_unc, 00405 TOP_cmp_i_ne, 00406 TOP_cmp_i_ne_and_orcm, 00407 TOP_cmp_i_ne_andcm, 00408 TOP_cmp_i_ne_orcm, 00409 TOP_cmp_i_ne_unc, 00410 TOP_cmp4_i_eq_and_orcm, 00411 TOP_cmp4_i_eq_andcm, 00412 TOP_cmp4_i_eq_orcm, 00413 TOP_cmp4_i_ge, 00414 TOP_cmp4_i_ge_unc, 00415 TOP_cmp4_i_geu, 00416 TOP_cmp4_i_geu_unc, 00417 TOP_cmp4_i_ne, 00418 TOP_cmp4_i_ne_and_orcm, 00419 TOP_cmp4_i_ne_andcm, 00420 TOP_cmp4_i_ne_orcm, 00421 TOP_cmp4_i_ne_unc, 00422 TOP_cmp_i_le, 00423 TOP_cmp_i_le_unc, 00424 TOP_cmp_i_leu, 00425 TOP_cmp_i_leu_unc, 00426 TOP_cmp4_i_le, 00427 TOP_cmp4_i_le_unc, 00428 TOP_cmp4_i_leu, 00429 TOP_cmp4_i_leu_unc, 00430 TOP_cmp_i_gt, 00431 TOP_cmp_i_gt_unc, 00432 TOP_cmp_i_gtu, 00433 TOP_cmp_i_gtu_unc, 00434 TOP_cmp4_i_gt, 00435 TOP_cmp4_i_gt_unc, 00436 TOP_cmp4_i_gtu, 00437 TOP_cmp4_i_gtu_unc, 00438 TOP_cmp_z1_gt_andcm, 00439 TOP_cmp_z1_gt_orcm, 00440 TOP_cmp_z1_gt_and_orcm, 00441 TOP_cmp_z1_le_andcm, 00442 TOP_cmp_z1_le_orcm, 00443 TOP_cmp_z1_le_and_orcm, 00444 TOP_cmp_z1_ge_andcm, 00445 TOP_cmp_z1_ge_orcm, 00446 TOP_cmp_z1_ge_and_orcm, 00447 TOP_cmp_z1_lt_andcm, 00448 TOP_cmp_z1_lt_orcm, 00449 TOP_cmp_z1_lt_and_orcm, 00450 TOP_cmp4_z1_gt_andcm, 00451 TOP_cmp4_z1_gt_orcm, 00452 TOP_cmp4_z1_gt_and_orcm, 00453 TOP_cmp4_z1_le_andcm, 00454 TOP_cmp4_z1_le_orcm, 00455 TOP_cmp4_z1_le_and_orcm, 00456 TOP_cmp4_z1_ge_andcm, 00457 TOP_cmp4_z1_ge_orcm, 00458 TOP_cmp4_z1_ge_and_orcm, 00459 TOP_cmp4_z1_lt_andcm, 00460 TOP_cmp4_z1_lt_orcm, 00461 TOP_cmp4_z1_lt_and_orcm, 00462 TOP_cmp_z2_gt_andcm, 00463 TOP_cmp_z2_gt_orcm, 00464 TOP_cmp_z2_gt_and_orcm, 00465 TOP_cmp_z2_le_andcm, 00466 TOP_cmp_z2_le_orcm, 00467 TOP_cmp_z2_le_and_orcm, 00468 TOP_cmp_z2_ge_andcm, 00469 TOP_cmp_z2_ge_orcm, 00470 TOP_cmp_z2_ge_and_orcm, 00471 TOP_cmp_z2_lt_andcm, 00472 TOP_cmp_z2_lt_orcm, 00473 TOP_cmp_z2_lt_and_orcm, 00474 TOP_cmp4_z2_gt_andcm, 00475 TOP_cmp4_z2_gt_orcm, 00476 TOP_cmp4_z2_gt_and_orcm, 00477 TOP_cmp4_z2_le_andcm, 00478 TOP_cmp4_z2_le_orcm, 00479 TOP_cmp4_z2_le_and_orcm, 00480 TOP_cmp4_z2_ge_andcm, 00481 TOP_cmp4_z2_ge_orcm, 00482 TOP_cmp4_z2_ge_and_orcm, 00483 TOP_cmp4_z2_lt_andcm, 00484 TOP_cmp4_z2_lt_orcm, 00485 TOP_cmp4_z2_lt_and_orcm, 00486 TOP_cmp_z2_gt_and, 00487 TOP_cmp_z2_gt_or, 00488 TOP_cmp_z2_gt_or_andcm, 00489 TOP_cmp_z2_le_and, 00490 TOP_cmp_z2_le_or, 00491 TOP_cmp_z2_le_or_andcm, 00492 TOP_cmp_z2_ge_and, 00493 TOP_cmp_z2_ge_or, 00494 TOP_cmp_z2_ge_or_andcm, 00495 TOP_cmp_z2_lt_and, 00496 TOP_cmp_z2_lt_or, 00497 TOP_cmp_z2_lt_or_andcm, 00498 TOP_cmp4_z2_gt_and, 00499 TOP_cmp4_z2_gt_or, 00500 TOP_cmp4_z2_gt_or_andcm, 00501 TOP_cmp4_z2_le_and, 00502 TOP_cmp4_z2_le_or, 00503 TOP_cmp4_z2_le_or_andcm, 00504 TOP_cmp4_z2_ge_and, 00505 TOP_cmp4_z2_ge_or, 00506 TOP_cmp4_z2_ge_or_andcm, 00507 TOP_cmp4_z2_lt_and, 00508 TOP_cmp4_z2_lt_or, 00509 TOP_cmp4_z2_lt_or_andcm, 00510 TOP_UNDEFINED); 00511 00512 /* ===== Specification for M_Unit Type ===== */ 00513 M_Unit = ISA_Exec_Unit_Type_Create("M_Unit", NULL); 00514 Instruction_Exec_Unit_Group(M_Unit, 00515 00516 // Memory: 00517 TOP_ld1, 00518 TOP_ld2, 00519 TOP_ld4, 00520 TOP_ld8, 00521 TOP_ld8_fill, 00522 TOP_ld1_r, 00523 TOP_ld2_r, 00524 TOP_ld4_r, 00525 TOP_ld8_r, 00526 TOP_ld8_r_fill, 00527 TOP_ld1_i, 00528 TOP_ld2_i, 00529 TOP_ld4_i, 00530 TOP_ld8_i, 00531 TOP_ld8_i_fill, 00532 TOP_st1, 00533 TOP_st2, 00534 TOP_st4, 00535 TOP_st8, 00536 TOP_st8_spill, 00537 TOP_st1_i, 00538 TOP_st2_i, 00539 TOP_st4_i, 00540 TOP_st8_i, 00541 TOP_st8_i_spill, 00542 TOP_ldfs, 00543 TOP_ldfd, 00544 TOP_ldf8, 00545 TOP_ldfe, 00546 TOP_ldf_fill, 00547 TOP_ldfs_r, 00548 TOP_ldfd_r, 00549 TOP_ldf8_r, 00550 TOP_ldfe_r, 00551 TOP_ldf_r_fill, 00552 TOP_ldfs_i, 00553 TOP_ldfd_i, 00554 TOP_ldf8_i, 00555 TOP_ldfe_i, 00556 TOP_ldf_i_fill, 00557 TOP_stfs, 00558 TOP_stfd, 00559 TOP_stf8, 00560 TOP_stfe, 00561 TOP_stf_spill, 00562 TOP_stfs_i, 00563 TOP_stfd_i, 00564 TOP_stf8_i, 00565 TOP_stfe_i, 00566 TOP_stf_i_spill, 00567 TOP_ldfps, 00568 TOP_ldfpd, 00569 TOP_ldfp8, 00570 TOP_ldfps_i, 00571 TOP_ldfpd_i, 00572 TOP_ldfp8_i, 00573 TOP_lfetch, 00574 TOP_lfetch_excl, 00575 TOP_lfetch_fault, 00576 TOP_lfetch_fault_excl, 00577 TOP_lfetch_r, 00578 TOP_lfetch_r_excl, 00579 TOP_lfetch_r_fault, 00580 TOP_lfetch_r_fault_excl, 00581 TOP_lfetch_i, 00582 TOP_lfetch_i_excl, 00583 TOP_lfetch_i_fault, 00584 TOP_lfetch_i_fault_excl, 00585 TOP_cmpxchg1, 00586 TOP_cmpxchg2, 00587 TOP_cmpxchg4, 00588 TOP_cmpxchg8, 00589 TOP_xchg1, 00590 TOP_xchg2, 00591 TOP_xchg4, 00592 TOP_xchg8, 00593 TOP_fetchadd4, 00594 TOP_fetchadd8, 00595 TOP_setf_sig, 00596 TOP_setf_exp, 00597 TOP_setf_s, 00598 TOP_setf_d, 00599 TOP_getf_sig, 00600 TOP_getf_exp, 00601 TOP_getf_s, 00602 TOP_getf_d, 00603 TOP_chk_s_m, 00604 TOP_chk_s, 00605 TOP_chk_f_s, 00606 TOP_chk_a, 00607 TOP_chk_f_a, 00608 TOP_invala, 00609 TOP_fwb, 00610 TOP_mf, 00611 TOP_mf_a, 00612 TOP_srlz_d, 00613 TOP_srlz_i, 00614 TOP_sync_i, 00615 TOP_flushrs, 00616 TOP_loadrs, 00617 TOP_invala_e, 00618 TOP_invala_f_e, 00619 TOP_fc, 00620 TOP_ptc_e, 00621 TOP_mov_t_ar_r_m, 00622 TOP_mov_t_ar_r, // Simulated OP, I- or M- unit 00623 TOP_mov_t_ar_i_m, 00624 TOP_mov_t_ar_i, 00625 TOP_mov_f_ar_m, 00626 TOP_mov_f_ar, 00627 TOP_mov_t_cr, 00628 TOP_mov_f_cr, 00629 TOP_alloc, 00630 TOP_alloc_3, 00631 TOP_mov_t_psr, 00632 TOP_mov_t_psrum, 00633 TOP_mov_f_psr, 00634 TOP_mov_f_psrum, 00635 TOP_break_m, 00636 TOP_break, 00637 TOP_nop_m, 00638 TOP_nop, 00639 TOP_probe_r, 00640 TOP_probe_w, 00641 TOP_probe_i_r, 00642 TOP_probe_i_w, 00643 TOP_probe_r_fault, 00644 TOP_probe_w_fault, 00645 TOP_probe_rw_fault, 00646 TOP_itc_d, 00647 TOP_itc_i, 00648 TOP_mov_t_rr, 00649 TOP_mov_t_dbr, 00650 TOP_mov_t_ibr, 00651 TOP_mov_t_pkr, 00652 TOP_mov_t_pmc, 00653 TOP_mov_t_pmd, 00654 TOP_mov_t_msr, 00655 TOP_itr_d, 00656 TOP_itr_i, 00657 TOP_mov_f_rr, 00658 TOP_mov_f_dbr, 00659 TOP_mov_f_ibr, 00660 TOP_mov_f_pkr, 00661 TOP_mov_f_pmc, 00662 TOP_mov_f_pmd, 00663 TOP_mov_f_msr, 00664 TOP_mov_f_cpuid, 00665 TOP_sum, 00666 TOP_rum, 00667 TOP_ssm, 00668 TOP_rsm, 00669 TOP_ptc_l, 00670 TOP_ptc_g, 00671 TOP_ptc_ga, 00672 TOP_ptr_d, 00673 TOP_ptr_i, 00674 TOP_thash, 00675 TOP_ttag, 00676 TOP_tpa, 00677 TOP_tak, 00678 00679 // ALU: 00680 TOP_add, 00681 TOP_add_1, 00682 TOP_sub, 00683 TOP_sub_1, 00684 TOP_addp4, 00685 TOP_and, 00686 TOP_andcm, 00687 TOP_or, 00688 TOP_xor, 00689 TOP_shladd, 00690 TOP_shladdp4, 00691 TOP_sub_i, 00692 TOP_and_i, 00693 TOP_andcm_i, 00694 TOP_or_i, 00695 TOP_xor_i, 00696 TOP_adds, 00697 TOP_addp4_i, 00698 TOP_addl, 00699 TOP_cmp_lt, 00700 TOP_cmp_ltu, 00701 TOP_cmp_eq, 00702 TOP_cmp_lt_unc, 00703 TOP_cmp_ltu_unc, 00704 TOP_cmp_eq_unc, 00705 TOP_cmp_eq_and, 00706 TOP_cmp_eq_or, 00707 TOP_cmp_eq_or_andcm, 00708 TOP_cmp_ne_and, 00709 TOP_cmp_ne_or, 00710 TOP_cmp_ne_or_andcm, 00711 TOP_cmp4_lt, 00712 TOP_cmp4_ltu, 00713 TOP_cmp4_eq, 00714 TOP_cmp4_lt_unc, 00715 TOP_cmp4_ltu_unc, 00716 TOP_cmp4_eq_unc, 00717 TOP_cmp4_eq_and, 00718 TOP_cmp4_eq_or, 00719 TOP_cmp4_eq_or_andcm, 00720 TOP_cmp4_ne_and, 00721 TOP_cmp4_ne_or, 00722 TOP_cmp4_ne_or_andcm, 00723 TOP_cmp_z1_gt_and, 00724 TOP_cmp_z1_gt_or, 00725 TOP_cmp_z1_gt_or_andcm, 00726 TOP_cmp_z1_le_and, 00727 TOP_cmp_z1_le_or, 00728 TOP_cmp_z1_le_or_andcm, 00729 TOP_cmp_z1_ge_and, 00730 TOP_cmp_z1_ge_or, 00731 TOP_cmp_z1_ge_or_andcm, 00732 TOP_cmp_z1_lt_and, 00733 TOP_cmp_z1_lt_or, 00734 TOP_cmp_z1_lt_or_andcm, 00735 TOP_cmp4_z1_gt_and, 00736 TOP_cmp4_z1_gt_or, 00737 TOP_cmp4_z1_gt_or_andcm, 00738 TOP_cmp4_z1_le_and, 00739 TOP_cmp4_z1_le_or, 00740 TOP_cmp4_z1_le_or_andcm, 00741 TOP_cmp4_z1_ge_and, 00742 TOP_cmp4_z1_ge_or, 00743 TOP_cmp4_z1_ge_or_andcm, 00744 TOP_cmp4_z1_lt_and, 00745 TOP_cmp4_z1_lt_or, 00746 TOP_cmp4_z1_lt_or_andcm, 00747 TOP_cmp_i_lt, 00748 TOP_cmp_i_ltu, 00749 TOP_cmp_i_eq, 00750 TOP_cmp_i_lt_unc, 00751 TOP_cmp_i_ltu_unc, 00752 TOP_cmp_i_eq_unc, 00753 TOP_cmp_i_eq_and, 00754 TOP_cmp_i_eq_or, 00755 TOP_cmp_i_eq_or_andcm, 00756 TOP_cmp_i_ne_and, 00757 TOP_cmp_i_ne_or, 00758 TOP_cmp_i_ne_or_andcm, 00759 TOP_cmp4_i_lt, 00760 TOP_cmp4_i_ltu, 00761 TOP_cmp4_i_eq, 00762 TOP_cmp4_i_lt_unc, 00763 TOP_cmp4_i_ltu_unc, 00764 TOP_cmp4_i_eq_unc, 00765 TOP_cmp4_i_eq_and, 00766 TOP_cmp4_i_eq_or, 00767 TOP_cmp4_i_eq_or_andcm, 00768 TOP_cmp4_i_ne_and, 00769 TOP_cmp4_i_ne_or, 00770 TOP_cmp4_i_ne_or_andcm, 00771 TOP_padd1, 00772 TOP_padd2, 00773 TOP_padd4, 00774 TOP_padd1_sss, 00775 TOP_padd2_sss, 00776 TOP_padd1_uuu, 00777 TOP_padd2_uuu, 00778 TOP_padd1_uus, 00779 TOP_padd2_uus, 00780 TOP_psub1, 00781 TOP_psub2, 00782 TOP_psub4, 00783 TOP_psub1_sss, 00784 TOP_psub2_sss, 00785 TOP_psub1_uuu, 00786 TOP_psub2_uuu, 00787 TOP_psub1_uus, 00788 TOP_psub2_uus, 00789 TOP_pavg1, 00790 TOP_pavg2, 00791 TOP_pavg1_raz, 00792 TOP_pavg2_raz, 00793 TOP_pavgsub1, 00794 TOP_pavgsub2, 00795 TOP_pcmp1_eq, 00796 TOP_pcmp2_eq, 00797 TOP_pcmp4_eq, 00798 TOP_pcmp1_gt, 00799 TOP_pcmp2_gt, 00800 TOP_pcmp4_gt, 00801 TOP_pshladd2, 00802 TOP_pshradd2, 00803 TOP_mov, 00804 TOP_mov_i, 00805 TOP_cmp_eq_and_orcm, 00806 TOP_cmp_eq_andcm, 00807 TOP_cmp_eq_orcm, 00808 TOP_cmp_ge, 00809 TOP_cmp_ge_unc, 00810 TOP_cmp_geu, 00811 TOP_cmp_geu_unc, 00812 TOP_cmp_ne, 00813 TOP_cmp_ne_and_orcm, 00814 TOP_cmp_ne_andcm, 00815 TOP_cmp_ne_orcm, 00816 TOP_cmp_ne_unc, 00817 TOP_cmp4_eq_and_orcm, 00818 TOP_cmp4_eq_andcm, 00819 TOP_cmp4_eq_orcm, 00820 TOP_cmp4_ge, 00821 TOP_cmp4_ge_unc, 00822 TOP_cmp4_geu, 00823 TOP_cmp4_geu_unc, 00824 TOP_cmp4_ne, 00825 TOP_cmp4_ne_and_orcm, 00826 TOP_cmp4_ne_orcm, 00827 TOP_cmp4_ne_andcm, 00828 TOP_cmp4_ne_unc, 00829 TOP_cmp_gt, 00830 TOP_cmp_gt_unc, 00831 TOP_cmp_gtu, 00832 TOP_cmp_gtu_unc, 00833 TOP_cmp4_gt, 00834 TOP_cmp4_gt_unc, 00835 TOP_cmp4_gtu, 00836 TOP_cmp4_gtu_unc, 00837 TOP_cmp_le, 00838 TOP_cmp_le_unc, 00839 TOP_cmp_leu, 00840 TOP_cmp_leu_unc, 00841 TOP_cmp4_le, 00842 TOP_cmp4_le_unc, 00843 TOP_cmp4_leu, 00844 TOP_cmp4_leu_unc, 00845 TOP_cmp_i_eq_and_orcm, 00846 TOP_cmp_i_eq_andcm, 00847 TOP_cmp_i_eq_orcm, 00848 TOP_cmp_i_ge, 00849 TOP_cmp_i_ge_unc, 00850 TOP_cmp_i_geu, 00851 TOP_cmp_i_geu_unc, 00852 TOP_cmp_i_ne, 00853 TOP_cmp_i_ne_and_orcm, 00854 TOP_cmp_i_ne_andcm, 00855 TOP_cmp_i_ne_orcm, 00856 TOP_cmp_i_ne_unc, 00857 TOP_cmp4_i_eq_and_orcm, 00858 TOP_cmp4_i_eq_andcm, 00859 TOP_cmp4_i_eq_orcm, 00860 TOP_cmp4_i_ge, 00861 TOP_cmp4_i_ge_unc, 00862 TOP_cmp4_i_geu, 00863 TOP_cmp4_i_geu_unc, 00864 TOP_cmp4_i_ne, 00865 TOP_cmp4_i_ne_and_orcm, 00866 TOP_cmp4_i_ne_andcm, 00867 TOP_cmp4_i_ne_orcm, 00868 TOP_cmp4_i_ne_unc, 00869 TOP_cmp_i_le, 00870 TOP_cmp_i_le_unc, 00871 TOP_cmp_i_leu, 00872 TOP_cmp_i_leu_unc, 00873 TOP_cmp4_i_le, 00874 TOP_cmp4_i_le_unc, 00875 TOP_cmp4_i_leu, 00876 TOP_cmp4_i_leu_unc, 00877 TOP_cmp_i_gt, 00878 TOP_cmp_i_gt_unc, 00879 TOP_cmp_i_gtu, 00880 TOP_cmp_i_gtu_unc, 00881 TOP_cmp4_i_gt, 00882 TOP_cmp4_i_gt_unc, 00883 TOP_cmp4_i_gtu, 00884 TOP_cmp4_i_gtu_unc, 00885 TOP_cmp_z1_gt_andcm, 00886 TOP_cmp_z1_gt_orcm, 00887 TOP_cmp_z1_gt_and_orcm, 00888 TOP_cmp_z1_le_andcm, 00889 TOP_cmp_z1_le_orcm, 00890 TOP_cmp_z1_le_and_orcm, 00891 TOP_cmp_z1_ge_andcm, 00892 TOP_cmp_z1_ge_orcm, 00893 TOP_cmp_z1_ge_and_orcm, 00894 TOP_cmp_z1_lt_andcm, 00895 TOP_cmp_z1_lt_orcm, 00896 TOP_cmp_z1_lt_and_orcm, 00897 TOP_cmp4_z1_gt_andcm, 00898 TOP_cmp4_z1_gt_orcm, 00899 TOP_cmp4_z1_gt_and_orcm, 00900 TOP_cmp4_z1_le_andcm, 00901 TOP_cmp4_z1_le_orcm, 00902 TOP_cmp4_z1_le_and_orcm, 00903 TOP_cmp4_z1_ge_andcm, 00904 TOP_cmp4_z1_ge_orcm, 00905 TOP_cmp4_z1_ge_and_orcm, 00906 TOP_cmp4_z1_lt_andcm, 00907 TOP_cmp4_z1_lt_orcm, 00908 TOP_cmp4_z1_lt_and_orcm, 00909 TOP_cmp_z2_gt_andcm, 00910 TOP_cmp_z2_gt_orcm, 00911 TOP_cmp_z2_gt_and_orcm, 00912 TOP_cmp_z2_le_andcm, 00913 TOP_cmp_z2_le_orcm, 00914 TOP_cmp_z2_le_and_orcm, 00915 TOP_cmp_z2_ge_andcm, 00916 TOP_cmp_z2_ge_orcm, 00917 TOP_cmp_z2_ge_and_orcm, 00918 TOP_cmp_z2_lt_andcm, 00919 TOP_cmp_z2_lt_orcm, 00920 TOP_cmp_z2_lt_and_orcm, 00921 TOP_cmp4_z2_gt_andcm, 00922 TOP_cmp4_z2_gt_orcm, 00923 TOP_cmp4_z2_gt_and_orcm, 00924 TOP_cmp4_z2_le_andcm, 00925 TOP_cmp4_z2_le_orcm, 00926 TOP_cmp4_z2_le_and_orcm, 00927 TOP_cmp4_z2_ge_andcm, 00928 TOP_cmp4_z2_ge_orcm, 00929 TOP_cmp4_z2_ge_and_orcm, 00930 TOP_cmp4_z2_lt_andcm, 00931 TOP_cmp4_z2_lt_orcm, 00932 TOP_cmp4_z2_lt_and_orcm, 00933 TOP_cmp_z2_gt_and, 00934 TOP_cmp_z2_gt_or, 00935 TOP_cmp_z2_gt_or_andcm, 00936 TOP_cmp_z2_le_and, 00937 TOP_cmp_z2_le_or, 00938 TOP_cmp_z2_le_or_andcm, 00939 TOP_cmp_z2_ge_and, 00940 TOP_cmp_z2_ge_or, 00941 TOP_cmp_z2_ge_or_andcm, 00942 TOP_cmp_z2_lt_and, 00943 TOP_cmp_z2_lt_or, 00944 TOP_cmp_z2_lt_or_andcm, 00945 TOP_cmp4_z2_gt_and, 00946 TOP_cmp4_z2_gt_or, 00947 TOP_cmp4_z2_gt_or_andcm, 00948 TOP_cmp4_z2_le_and, 00949 TOP_cmp4_z2_le_or, 00950 TOP_cmp4_z2_le_or_andcm, 00951 TOP_cmp4_z2_ge_and, 00952 TOP_cmp4_z2_ge_or, 00953 TOP_cmp4_z2_ge_or_andcm, 00954 TOP_cmp4_z2_lt_and, 00955 TOP_cmp4_z2_lt_or, 00956 TOP_cmp4_z2_lt_or_andcm, 00957 TOP_UNDEFINED); 00958 00959 /* ===== Specification for B_Unit Type ===== */ 00960 B_Unit = ISA_Exec_Unit_Type_Create("B_Unit", NULL); 00961 Instruction_Exec_Unit_Group(B_Unit, 00962 TOP_br_cond, 00963 TOP_br_call, 00964 TOP_br_r_cond, 00965 TOP_br_ia, 00966 TOP_br_ret, 00967 TOP_br_r_call, 00968 TOP_cover, 00969 TOP_clrrrb, 00970 TOP_clrrrb_pr, 00971 TOP_rfi, 00972 TOP_bsw_0, 00973 TOP_bsw_1, 00974 TOP_epc, 00975 TOP_break_b, 00976 TOP_break, 00977 TOP_nop_b, 00978 TOP_nop, 00979 TOP_br, 00980 TOP_br_r, 00981 TOP_UNDEFINED); 00982 00983 /* ===== Specification for F_Unit Type ===== */ 00984 F_Unit = ISA_Exec_Unit_Type_Create("F_Unit", NULL); 00985 Instruction_Exec_Unit_Group(F_Unit, 00986 TOP_fma, 00987 TOP_fma_s, 00988 TOP_fma_d, 00989 TOP_fpma, 00990 TOP_fms, 00991 TOP_fms_s, 00992 TOP_fms_d, 00993 TOP_fpms, 00994 TOP_fnma, 00995 TOP_fnma_s, 00996 TOP_fnma_d, 00997 TOP_fpnma, 00998 TOP_xma_l, 00999 TOP_xma_h, 01000 TOP_xma_hu, 01001 TOP_fselect, 01002 TOP_fcmp_eq, 01003 TOP_fcmp_lt, 01004 TOP_fcmp_le, 01005 TOP_fcmp_unord, 01006 TOP_fcmp_eq_unc, 01007 TOP_fcmp_lt_unc, 01008 TOP_fcmp_le_unc, 01009 TOP_fcmp_unord_unc, 01010 TOP_fcmp_gt, 01011 TOP_fcmp_gt_unc, 01012 TOP_fcmp_ge, 01013 TOP_fcmp_ge_unc, 01014 TOP_fcmp_neq, 01015 TOP_fcmp_neq_unc, 01016 TOP_fcmp_nlt, 01017 TOP_fcmp_nlt_unc, 01018 TOP_fcmp_nle, 01019 TOP_fcmp_nle_unc, 01020 TOP_fcmp_ngt, 01021 TOP_fcmp_ngt_unc, 01022 TOP_fcmp_nge, 01023 TOP_fcmp_nge_unc, 01024 TOP_fcmp_ord, 01025 TOP_fcmp_ord_unc, 01026 TOP_fclass_m, 01027 TOP_fclass_m_unc, 01028 TOP_frcpa, 01029 TOP_fprcpa, 01030 TOP_frsqrta, 01031 TOP_fprsqrta, 01032 TOP_fmin, 01033 TOP_fmax, 01034 TOP_famin, 01035 TOP_famax, 01036 TOP_fpmin, 01037 TOP_fpmax, 01038 TOP_fpamin, 01039 TOP_fpamax, 01040 TOP_fpcmp_eq, 01041 TOP_fpcmp_lt, 01042 TOP_fpcmp_le, 01043 TOP_fpcmp_gt, 01044 TOP_fpcmp_ge, 01045 TOP_fpcmp_unord, 01046 TOP_fpcmp_neq, 01047 TOP_fpcmp_nlt, 01048 TOP_fpcmp_nle, 01049 TOP_fpcmp_ngt, 01050 TOP_fpcmp_nge, 01051 TOP_fpcmp_ord, 01052 TOP_fmerge_s, 01053 TOP_fmerge_ns, 01054 TOP_fmerge_se, 01055 TOP_fmix_lr, 01056 TOP_fmix_r, 01057 TOP_fmix_l, 01058 TOP_fsxt_r, 01059 TOP_fsxt_l, 01060 TOP_fpack, 01061 TOP_fswap, 01062 TOP_fswap_nl, 01063 TOP_fswap_nr, 01064 TOP_fand, 01065 TOP_fandcm, 01066 TOP_for, 01067 TOP_fxor, 01068 TOP_fpmerge_s, 01069 TOP_fpmerge_ns, 01070 TOP_fpmerge_se, 01071 TOP_fcvt_fx, 01072 TOP_fcvt_fxu, 01073 TOP_fcvt_fx_trunc, 01074 TOP_fcvt_fxu_trunc, 01075 TOP_fpcvt_fx, 01076 TOP_fpcvt_fxu, 01077 TOP_fpcvt_fx_trunc, 01078 TOP_fpcvt_fxu_trunc, 01079 TOP_fcvt_xf, 01080 TOP_fsetc, 01081 TOP_fclrf, 01082 TOP_fchkf, 01083 TOP_break_f, 01084 TOP_break, 01085 TOP_nop_f, 01086 TOP_nop, 01087 TOP_fabs, 01088 TOP_fnegabs, 01089 TOP_fpabs, 01090 TOP_fpnegabs, 01091 TOP_fneg, 01092 TOP_fpneg, 01093 TOP_mov_f, 01094 TOP_xma_lu, 01095 TOP_xmpy_l, 01096 TOP_xmpy_lu, 01097 TOP_xmpy_h, 01098 TOP_xmpy_hu, 01099 TOP_fcvt_xuf, 01100 TOP_fcvt_xuf_d, 01101 TOP_fcvt_xuf_s, 01102 TOP_fnorm, 01103 TOP_fnorm_d, 01104 TOP_fnorm_s, 01105 TOP_fadd, 01106 TOP_fadd_d, 01107 TOP_fadd_s, 01108 TOP_fsub, 01109 TOP_fsub_d, 01110 TOP_fsub_s, 01111 TOP_fmpy, 01112 TOP_fmpy_d, 01113 TOP_fmpy_s, 01114 TOP_fnmpy, 01115 TOP_fnmpy_d, 01116 TOP_fnmpy_s, 01117 TOP_fpmpy, 01118 TOP_fpnmpy, 01119 TOP_fclass_nm, 01120 TOP_fclass_nm_unc, 01121 TOP_UNDEFINED); 01122 01123 /* ===== Specification for L_Unit Type ===== */ 01124 L_Unit = ISA_Exec_Unit_Type_Create("L_Unit", NULL); 01125 Instruction_Exec_Unit_Group(L_Unit, 01126 TOP_movl, 01127 TOP_break_x, 01128 TOP_nop_x, 01129 TOP_UNDEFINED); 01130 01131 /* ===== Specification for I2_Unit Type ===== */ 01132 I2_Unit = ISA_Exec_Unit_Type_Create("I2_Unit", I_Unit); 01133 Instruction_Exec_Unit_Group(I2_Unit, 01134 TOP_movl, 01135 TOP_break, 01136 TOP_break_i, 01137 TOP_break_x, 01138 TOP_nop, 01139 TOP_nop_i, 01140 TOP_nop_x, 01141 TOP_UNDEFINED); 01142 01143 /* ===== Specification for B2_Unit Type ===== */ 01144 B2_Unit = ISA_Exec_Unit_Type_Create("B2_Unit", B_Unit); 01145 Instruction_Exec_Unit_Group(B2_Unit, 01146 TOP_br_wexit, 01147 TOP_br_wtop, 01148 TOP_br_cloop, 01149 TOP_br_cexit, 01150 TOP_br_ctop, 01151 TOP_br_cond, 01152 TOP_br_call, 01153 TOP_br_r_cond, 01154 TOP_br_ia, 01155 TOP_br_ret, 01156 TOP_br_r_call, 01157 TOP_brp, 01158 TOP_brp_r, 01159 TOP_brp_ret, 01160 TOP_cover, 01161 TOP_clrrrb, 01162 TOP_clrrrb_pr, 01163 TOP_rfi, 01164 TOP_bsw_0, 01165 TOP_bsw_1, 01166 TOP_epc, 01167 TOP_break_b, 01168 TOP_break, 01169 TOP_nop_b, 01170 TOP_nop, 01171 TOP_br, 01172 TOP_br_r, 01173 TOP_UNDEFINED); 01174 01175 /* === All legal bundle orderings (32 of them) are specified below. */ 01176 01177 /* ===== Template 0x00 ===== */ 01178 ISA_Bundle_Type_Create("mii", ".mii", 3); 01179 Slot(0, M_Unit); 01180 Slot(1, I_Unit); 01181 Slot(2, I_Unit); 01182 01183 /* ===== Template 0x01 ===== */ 01184 ISA_Bundle_Type_Create("mii_", ".mii", 3); 01185 Slot(0, M_Unit); 01186 Slot(1, I_Unit); 01187 Slot(2, I_Unit); 01188 Stop(2); 01189 01190 /* ===== Template 0x02 ===== */ 01191 ISA_Bundle_Type_Create("mi_i", ".mii", 3); 01192 Slot(0, M_Unit); 01193 Slot(1, I_Unit); 01194 Stop(1); 01195 Slot(2, I_Unit); 01196 01197 /* ===== Template 0x03 ===== */ 01198 ISA_Bundle_Type_Create("mi_i_", ".mii", 3); 01199 Slot(0, M_Unit); 01200 Slot(1, I_Unit); 01201 Stop(1); 01202 Slot(2, I_Unit); 01203 Stop(2); 01204 01205 /* ===== Template 0x04 ===== */ 01206 ISA_Bundle_Type_Create("mlx", ".mlx", 3); 01207 Slot(0, M_Unit); 01208 Slot(1, L_Unit); 01209 Slot(2, L_Unit); 01210 01211 /* ===== Template 0x05 ===== */ 01212 ISA_Bundle_Type_Create("mlx_", ".mlx", 3); 01213 Slot(0, M_Unit); 01214 Slot(1, L_Unit); 01215 Slot(2, L_Unit); 01216 Stop(2); 01217 01218 /* ===== Template 0x06 ===== */ 01219 ISA_Bundle_Type_Create("reserved_06", ".0x06", 3); 01220 Slot(0, R_Unit); 01221 Slot(1, R_Unit); 01222 Slot(2, R_Unit); 01223 01224 /* ===== Template 0x07 ===== */ 01225 ISA_Bundle_Type_Create("reserved_07", ".0x07", 3); 01226 Slot(0, R_Unit); 01227 Slot(1, R_Unit); 01228 Slot(2, R_Unit); 01229 01230 /* ===== Template 0x08 ===== */ 01231 ISA_Bundle_Type_Create("mmi", ".mmi", 3); 01232 Slot(0, M_Unit); 01233 Slot(1, M_Unit); 01234 Slot(2, I_Unit); 01235 01236 /* ===== Template 0x09 ===== */ 01237 ISA_Bundle_Type_Create("mmi_", ".mmi", 3); 01238 Slot(0, M_Unit); 01239 Slot(1, M_Unit); 01240 Slot(2, I_Unit); 01241 Stop(2); 01242 01243 /* ===== Template 0x0A ===== */ 01244 ISA_Bundle_Type_Create("m_mi", ".mmi", 3); 01245 Slot(0, M_Unit); 01246 Stop(0); 01247 Slot(1, M_Unit); 01248 Slot(2, I_Unit); 01249 01250 /* ===== Template 0x0B ===== */ 01251 ISA_Bundle_Type_Create("m_mi_", ".mmi", 3); 01252 Slot(0, M_Unit); 01253 Stop(0); 01254 Slot(1, M_Unit); 01255 Slot(2, I_Unit); 01256 Stop(2); 01257 01258 /* ===== Template 0x0C ===== */ 01259 ISA_Bundle_Type_Create("mfi", ".mfi", 3); 01260 Slot(0, M_Unit); 01261 Slot(1, F_Unit); 01262 Slot(2, I_Unit); 01263 01264 /* ===== Template 0x0D ===== */ 01265 ISA_Bundle_Type_Create("mfi_", ".mfi", 3); 01266 Slot(0, M_Unit); 01267 Slot(1, F_Unit); 01268 Slot(2, I_Unit); 01269 Stop(2); 01270 01271 /* ===== Template 0x0E ===== */ 01272 ISA_Bundle_Type_Create("mmf", ".mmf", 3); 01273 Slot(0, M_Unit); 01274 Slot(1, M_Unit); 01275 Slot(2, F_Unit); 01276 01277 /* ===== Template 0x0F ===== */ 01278 ISA_Bundle_Type_Create("mmf_", ".mmf", 3); 01279 Slot(0, M_Unit); 01280 Slot(1, M_Unit); 01281 Slot(2, F_Unit); 01282 Stop(2); 01283 01284 /* ===== Template 0x10 ===== */ 01285 ISA_Bundle_Type_Create("mib", ".mib", 3); 01286 Slot(0, M_Unit); 01287 Slot(1, I_Unit); 01288 Slot(2, B2_Unit); 01289 01290 /* ===== Template 0x11 ===== */ 01291 ISA_Bundle_Type_Create("mib_", ".mib", 3); 01292 Slot(0, M_Unit); 01293 Slot(1, I_Unit); 01294 Slot(2, B2_Unit); 01295 Stop(2); 01296 01297 /* ===== Template 0x12 ===== */ 01298 ISA_Bundle_Type_Create("mbb", ".mbb", 3); 01299 Slot(0, M_Unit); 01300 Slot(1, B_Unit); 01301 Slot(2, B2_Unit); 01302 01303 /* ===== Template 0x13 ===== */ 01304 ISA_Bundle_Type_Create("mbb_", ".mbb", 3); 01305 Slot(0, M_Unit); 01306 Slot(1, B_Unit); 01307 Slot(2, B2_Unit); 01308 Stop(2); 01309 01310 /* ===== Template 0x14 ===== */ 01311 ISA_Bundle_Type_Create("reserved_14", ".0x14", 3); 01312 Slot(0, R_Unit); 01313 Slot(1, R_Unit); 01314 Slot(2, R_Unit); 01315 01316 /* ===== Template 0x15 ===== */ 01317 ISA_Bundle_Type_Create("reserved_15", ".0x15", 3); 01318 Slot(0, R_Unit); 01319 Slot(1, R_Unit); 01320 Slot(2, R_Unit); 01321 01322 /* ===== Template 0x16 ===== */ 01323 ISA_Bundle_Type_Create("bbb", ".bbb", 3); 01324 Slot(0, B_Unit); 01325 Slot(1, B_Unit); 01326 Slot(2, B2_Unit); 01327 01328 /* ===== Template 0x17 ===== */ 01329 ISA_Bundle_Type_Create("bbb_", ".bbb", 3); 01330 Slot(0, B_Unit); 01331 Slot(1, B_Unit); 01332 Slot(2, B2_Unit); 01333 Stop(2); 01334 01335 /* ===== Template 0x18 ===== */ 01336 ISA_Bundle_Type_Create("mmb", ".mmb", 3); 01337 Slot(0, M_Unit); 01338 Slot(1, M_Unit); 01339 Slot(2, B2_Unit); 01340 01341 /* ===== Template 0x19 ===== */ 01342 ISA_Bundle_Type_Create("mmb_", ".mmb", 3); 01343 Slot(0, M_Unit); 01344 Slot(1, M_Unit); 01345 Slot(2, B2_Unit); 01346 Stop(2); 01347 01348 /* ===== Template 0x1A ===== */ 01349 ISA_Bundle_Type_Create("reserved_1a", ".0x1a", 3); 01350 Slot(0, R_Unit); 01351 Slot(1, R_Unit); 01352 Slot(2, R_Unit); 01353 01354 /* ===== Template 0x1B ===== */ 01355 ISA_Bundle_Type_Create("reserved_1b", ".0x1b", 3); 01356 Slot(0, R_Unit); 01357 Slot(1, R_Unit); 01358 Slot(2, R_Unit); 01359 01360 /* ===== Template 0x1C ===== */ 01361 ISA_Bundle_Type_Create("mfb", ".mfb", 3); 01362 Slot(0, M_Unit); 01363 Slot(1, F_Unit); 01364 Slot(2, B2_Unit); 01365 01366 /* ===== Template 0x1D ===== */ 01367 ISA_Bundle_Type_Create("mfb_", ".mfb", 3); 01368 Slot(0, M_Unit); 01369 Slot(1, F_Unit); 01370 Slot(2, B2_Unit); 01371 Stop(2); 01372 01373 /* ===== Template 0x1E ===== */ 01374 ISA_Bundle_Type_Create("reserved_1e", ".0x1e", 3); 01375 Slot(0, R_Unit); 01376 Slot(1, R_Unit); 01377 Slot(2, R_Unit); 01378 01379 /* ===== Template 0x1F ===== */ 01380 ISA_Bundle_Type_Create("reserved_1f", ".0x1f", 3); 01381 Slot(0, R_Unit); 01382 Slot(1, R_Unit); 01383 Slot(2, R_Unit); 01384 01385 ISA_Bundle_End(); 01386 return 0; 01387 }