00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00038
00039
00040
00041
00042
00043
00045
00046
00047
00048
00049 #include "si_gen.h"
00050 #include "targ_isa_subset.h"
00051 #include "topcode.h"
00052
00053 static RESOURCE res_issue,
00054 res_sem,
00055 res_memory,
00056 res_M0,
00057 res_float,
00058 res_F0,
00059 res_integer,
00060 res_I0,
00061 res_int_or_mem,
00062
00063 res_branch,
00064 res_B0_or_B1,
00065 res_B0_or_B2,
00066 res_B2;
00067
00068 int
00069 main (int argc, char *argv[])
00070 {
00071 Machine("itanium", ISA_SUBSET_intel1, argc, argv);
00072
00073 res_issue = RESOURCE_Create("issue", 6);
00074 res_sem = RESOURCE_Create("sem", 1);
00075 res_int_or_mem = RESOURCE_Create("integer_or_memory", 4);
00076 res_memory = RESOURCE_Create("memory", 2);
00077 res_M0 = RESOURCE_Create("memory0", 1);
00078 res_float = RESOURCE_Create("floating-point", 2);
00079 res_F0 = RESOURCE_Create("floating-point0", 1);
00080 res_integer = RESOURCE_Create("integer", 2);
00081 res_I0 = RESOURCE_Create("integer0", 1);
00082 res_branch = RESOURCE_Create("branch", 3);
00083 res_B0_or_B1 = RESOURCE_Create("B0_or_B1", 2);
00084 res_B0_or_B2 = RESOURCE_Create("B0_or_B2", 2);
00085 res_B2 = RESOURCE_Create("B2", 1);
00086
00088
00089
00090
00091
00093 Instruction_Group("BR",
00094 TOP_br_call,
00095 TOP_br_r_call,
00096 TOP_brl_call,
00097 TOP_br_cond,
00098 TOP_br_r_cond,
00099 TOP_brl_cond,
00100 TOP_br_ia,
00101 TOP_br_ret,
00102 TOP_br,
00103 TOP_br_r,
00104 TOP_brl,
00105 TOP_UNDEFINED);
00106 Any_Operand_Access_Time(0);
00107 Any_Result_Available_Time(1);
00108 Resource_Requirement(res_issue, 0);
00109 Resource_Requirement(res_branch, 0);
00110
00112
00113
00114
00115
00117 Instruction_Group("BR_B2",
00118 TOP_br_cexit,
00119 TOP_br_cloop,
00120 TOP_br_ctop,
00121 TOP_br_wexit,
00122 TOP_br_wtop,
00123 TOP_UNDEFINED);
00124 Any_Operand_Access_Time(0);
00125 Any_Result_Available_Time(1);
00126 Resource_Requirement(res_issue, 0);
00127 Resource_Requirement(res_branch, 0);
00128 Resource_Requirement(res_B2, 0);
00129
00131
00132
00133
00134
00135
00137 Instruction_Group("BRP",
00138 TOP_brp,
00139 TOP_brp_r,
00140 TOP_brp_ret,
00141 TOP_UNDEFINED);
00142 Any_Operand_Access_Time(0);
00143 Resource_Requirement(res_issue, 0);
00144 Resource_Requirement(res_branch, 0);
00145
00147
00148
00149
00150
00152 Instruction_Group("CHK_ALAT",
00153 TOP_chk_a,
00154 TOP_chk_f_a,
00155 TOP_UNDEFINED);
00156 Any_Operand_Access_Time(0);
00157 Resource_Requirement(res_issue, 0);
00158 Resource_Requirement(res_int_or_mem, 0);
00159 Resource_Requirement(res_memory, 0);
00160
00162
00163
00164
00165
00167 Instruction_Group("CHK_I",
00168 TOP_chk_s_i,
00169 TOP_UNDEFINED);
00170 Any_Operand_Access_Time(0);
00171 Resource_Requirement(res_issue, 0);
00172 Resource_Requirement(res_int_or_mem, 0);
00173 Resource_Requirement(res_integer, 0);
00174
00176
00177
00178
00179
00181 Instruction_Group("CHK_M",
00182 TOP_chk_f_s,
00183 TOP_chk_s_m,
00184 TOP_UNDEFINED);
00185 Any_Operand_Access_Time(0);
00186 Resource_Requirement(res_issue, 0);
00187 Resource_Requirement(res_int_or_mem, 0);
00188 Resource_Requirement(res_memory, 0);
00189
00191
00192
00193
00194
00196 Instruction_Group("CLD",
00197
00198 TOP_UNDEFINED);
00199 Any_Operand_Access_Time(0);
00200 Any_Result_Available_Time(0);
00201 Resource_Requirement(res_issue, 0);
00202 Resource_Requirement(res_int_or_mem, 0);
00203 Resource_Requirement(res_memory, 0);
00204 Load_Access_Time(2);
00205
00207
00208
00209
00210
00212 Instruction_Group("FCLD",
00213
00214
00215
00216
00217
00218
00219
00220 TOP_UNDEFINED);
00221 Any_Operand_Access_Time(0);
00222 Any_Result_Available_Time(0);
00223 Resource_Requirement(res_issue, 0);
00224 Resource_Requirement(res_int_or_mem, 0);
00225 Resource_Requirement(res_memory, 0);
00226 Load_Access_Time(2);
00227
00229
00230
00231
00232
00234 Instruction_Group("FCMP",
00235 TOP_fclass_nm,
00236 TOP_fclass_nm_unc,
00237 TOP_fclass_m,
00238 TOP_fclass_m_unc,
00239 TOP_fcmp_eq,
00240 TOP_fcmp_lt,
00241 TOP_fcmp_le,
00242 TOP_fcmp_unord,
00243 TOP_fcmp_eq_unc,
00244 TOP_fcmp_lt_unc,
00245 TOP_fcmp_le_unc,
00246 TOP_fcmp_unord_unc,
00247 TOP_fcmp_gt,
00248 TOP_fcmp_gt_unc,
00249 TOP_fcmp_ge,
00250 TOP_fcmp_ge_unc,
00251 TOP_fcmp_neq,
00252 TOP_fcmp_neq_unc,
00253 TOP_fcmp_nlt,
00254 TOP_fcmp_nlt_unc,
00255 TOP_fcmp_nle,
00256 TOP_fcmp_nle_unc,
00257 TOP_fcmp_ngt,
00258 TOP_fcmp_ngt_unc,
00259 TOP_fcmp_nge,
00260 TOP_fcmp_nge_unc,
00261 TOP_fcmp_ord,
00262 TOP_fcmp_ord_unc,
00263 TOP_UNDEFINED);
00264 Any_Operand_Access_Time(0);
00265 Any_Result_Available_Time(2);
00266 Resource_Requirement(res_issue, 0);
00267 Resource_Requirement(res_float, 0);
00268 Resource_Requirement(res_F0, 0);
00269
00271
00272
00273
00274
00276 Instruction_Group("FCVTFX",
00277 TOP_fcvt_fx,
00278 TOP_fcvt_fx_trunc,
00279 TOP_fcvt_fxu,
00280 TOP_fcvt_fxu_trunc,
00281 TOP_fcvt_xf,
00282 TOP_UNDEFINED);
00283 Any_Operand_Access_Time(0);
00284 Any_Result_Available_Time(7);
00285 Resource_Requirement(res_issue, 0);
00286 Resource_Requirement(res_float, 0);
00287
00289
00290
00291
00292
00294 Instruction_Group("FLD",
00295 TOP_ldf8,
00296 TOP_ldf8_r,
00297 TOP_ldf8_i,
00298 TOP_ldfd,
00299 TOP_ldfd_r,
00300 TOP_ldfd_i,
00301 TOP_ldfe,
00302 TOP_ldfe_r,
00303 TOP_ldfe_i,
00304 TOP_ldf_fill,
00305 TOP_ldf_r_fill,
00306 TOP_ldf_i_fill,
00307 TOP_ldfs,
00308 TOP_ldfs_r,
00309 TOP_ldfs_i,
00310 TOP_UNDEFINED);
00311 Any_Operand_Access_Time(0);
00312 Any_Result_Available_Time(9);
00313 Resource_Requirement(res_issue, 0);
00314 Resource_Requirement(res_int_or_mem, 0);
00315 Resource_Requirement(res_memory, 0);
00316 Load_Access_Time(9);
00317
00319
00320
00321
00322
00324 Instruction_Group("FLDP",
00325 TOP_ldfp8,
00326 TOP_ldfp8_i,
00327 TOP_ldfpd,
00328 TOP_ldfpd_i,
00329 TOP_ldfps,
00330 TOP_ldfps_i,
00331 TOP_UNDEFINED);
00332 Any_Operand_Access_Time(0);
00333 Any_Result_Available_Time(9);
00334 Resource_Requirement(res_issue, 0);
00335 Resource_Requirement(res_int_or_mem, 0);
00336 Resource_Requirement(res_memory, 0);
00337 Load_Access_Time(9);
00338
00340
00341
00342
00343
00345 Instruction_Group("FMAC",
00346 TOP_fma,
00347 TOP_fma_s,
00348 TOP_fma_d,
00349 TOP_fms,
00350 TOP_fms_s,
00351 TOP_fms_d,
00352 TOP_fnma,
00353 TOP_fnma_s,
00354 TOP_fnma_d,
00355 TOP_fcvt_xuf,
00356 TOP_fcvt_xuf_d,
00357 TOP_fcvt_xuf_s,
00358 TOP_fadd,
00359 TOP_fadd_d,
00360 TOP_fadd_s,
00361 TOP_fmpy,
00362 TOP_fmpy_d,
00363 TOP_fmpy_s,
00364 TOP_fnmpy,
00365 TOP_fnmpy_d,
00366 TOP_fnmpy_s,
00367 TOP_fnorm,
00368 TOP_fnorm_d,
00369 TOP_fnorm_s,
00370 TOP_fsub,
00371 TOP_fsub_d,
00372 TOP_fsub_s,
00373 TOP_UNDEFINED);
00374 Any_Operand_Access_Time(0);
00375 Any_Result_Available_Time(5);
00376
00377 Resource_Requirement(res_issue, 0);
00378 Resource_Requirement(res_float, 0);
00379
00381
00382
00383
00384
00386 Instruction_Group("FMISC",
00387 TOP_famax,
00388 TOP_famin,
00389 TOP_fand,
00390 TOP_fandcm,
00391 TOP_fmax,
00392 TOP_fmerge_ns,
00393 TOP_fmerge_s,
00394 TOP_fmerge_se,
00395 TOP_fmin,
00396 TOP_fmix_l,
00397 TOP_fmix_lr,
00398 TOP_fmix_r,
00399 TOP_for,
00400 TOP_fpack,
00401 TOP_frcpa,
00402 TOP_frsqrta,
00403 TOP_fselect,
00404 TOP_fswap,
00405 TOP_fswap_nl,
00406 TOP_fswap_nr,
00407 TOP_fsxt_l,
00408 TOP_fsxt_r,
00409 TOP_fxor,
00410 TOP_fabs,
00411 TOP_fnegabs,
00412 TOP_fneg,
00413 TOP_mov_f,
00414 TOP_UNDEFINED);
00415 Any_Operand_Access_Time(0);
00416 Any_Result_Available_Time(5);
00417 Resource_Requirement(res_issue, 0);
00418 Resource_Requirement(res_float, 0);
00419 Resource_Requirement(res_F0, 0);
00420
00422
00423
00424
00425
00427 Instruction_Group("FOTHER",
00428 TOP_fchkf,
00429 TOP_fclrf,
00430 TOP_fsetc,
00431 TOP_UNDEFINED);
00432 Any_Operand_Access_Time(0);
00433 Resource_Requirement(res_issue, 0);
00434 Resource_Requirement(res_float, 0);
00435
00437
00438
00439
00440
00442 Instruction_Group("FRAR_I",
00443 TOP_mov_f_ar_i,
00444 TOP_UNDEFINED);
00445 Any_Operand_Access_Time(0);
00446 Any_Result_Available_Time(1);
00447
00448 Resource_Requirement(res_issue, 0);
00449 Resource_Requirement(res_int_or_mem, 0);
00450 Resource_Requirement(res_integer, 0);
00451 Resource_Requirement(res_I0, 0);
00452
00454
00455
00456
00457
00459 Instruction_Group("FRAR_M",
00460 TOP_mov_f_ar_m,
00461 TOP_UNDEFINED);
00462 Any_Operand_Access_Time(0);
00463 Any_Result_Available_Time(1);
00464
00465 Resource_Requirement(res_issue, 0);
00466 Resource_Requirement(res_int_or_mem, 0);
00467 Resource_Requirement(res_memory, 0);
00468 Resource_Requirement(res_M0, 0);
00469
00471
00472
00473
00474
00476 Instruction_Group("FRBR",
00477 TOP_mov_f_br,
00478 TOP_UNDEFINED);
00479 Any_Operand_Access_Time(0);
00480 Any_Result_Available_Time(2);
00481 Resource_Requirement(res_issue, 0);
00482 Resource_Requirement(res_int_or_mem, 0);
00483 Resource_Requirement(res_integer, 0);
00484 Resource_Requirement(res_I0, 0);
00485
00487
00488
00489
00490
00492 Instruction_Group("FRCR",
00493 TOP_mov_f_cr,
00494 TOP_UNDEFINED);
00495 Any_Operand_Access_Time(0);
00496 Any_Result_Available_Time(1);
00497
00498 Resource_Requirement(res_issue, 0);
00499 Resource_Requirement(res_int_or_mem, 0);
00500 Resource_Requirement(res_memory, 0);
00501 Resource_Requirement(res_M0, 0);
00502
00504
00505
00506
00507
00509 Instruction_Group("FRFR",
00510 TOP_getf_sig,
00511 TOP_getf_exp,
00512 TOP_getf_s,
00513 TOP_getf_d,
00514 TOP_UNDEFINED);
00515 Any_Operand_Access_Time(0);
00516 Any_Result_Available_Time(2);
00517 Resource_Requirement(res_issue, 0);
00518 Resource_Requirement(res_int_or_mem, 0);
00519 Resource_Requirement(res_memory, 0);
00520
00522
00523
00524
00525
00527 Instruction_Group("FRIP",
00528 TOP_mov_f_ip,
00529 TOP_UNDEFINED);
00530 Any_Operand_Access_Time(0);
00531 Any_Result_Available_Time(2);
00532 Resource_Requirement(res_issue, 0);
00533 Resource_Requirement(res_int_or_mem, 0);
00534 Resource_Requirement(res_integer, 0);
00535 Resource_Requirement(res_I0, 0);
00536
00538
00539
00540
00541
00543 Instruction_Group("FRPR",
00544 TOP_mov_f_pr,
00545 TOP_UNDEFINED);
00546 Any_Operand_Access_Time(0);
00547 Any_Result_Available_Time(2);
00548 Resource_Requirement(res_issue, 0);
00549 Resource_Requirement(res_int_or_mem, 0);
00550 Resource_Requirement(res_integer, 0);
00551 Resource_Requirement(res_I0, 0);
00552
00554
00555
00556
00557
00559 Instruction_Group("IALU",
00560 TOP_add,
00561 TOP_add_1,
00562 TOP_addl,
00563 TOP_adds,
00564 TOP_shladd,
00565 TOP_sub,
00566 TOP_sub_i,
00567 TOP_sub_1,
00568 TOP_mov_i,
00569 TOP_mov,
00570 TOP_UNDEFINED);
00571 Any_Operand_Access_Time(0);
00572 Any_Result_Available_Time(1);
00573
00574
00575 Resource_Requirement(res_issue, 0);
00576 Resource_Requirement(res_int_or_mem, 0);
00577
00579
00580
00581
00582
00584 Instruction_Group("ICMP",
00585 TOP_cmp_eq,
00586 TOP_cmp_eq_and,
00587 TOP_cmp_eq_and_orcm,
00588 TOP_cmp_eq_andcm,
00589 TOP_cmp_eq_or,
00590 TOP_cmp_eq_or_andcm,
00591 TOP_cmp_eq_orcm,
00592 TOP_cmp_eq_unc,
00593 TOP_cmp_ge,
00594 TOP_cmp_ge_and,
00595 TOP_cmp_ge_and_orcm,
00596 TOP_cmp_ge_andcm,
00597 TOP_cmp_ge_or,
00598 TOP_cmp_ge_or_andcm,
00599 TOP_cmp_ge_orcm,
00600 TOP_cmp_ge_unc,
00601 TOP_cmp_geu,
00602 TOP_cmp_geu_unc,
00603 TOP_cmp_gt,
00604 TOP_cmp_gt_and,
00605 TOP_cmp_gt_and_orcm,
00606 TOP_cmp_gt_andcm,
00607 TOP_cmp_gt_or,
00608 TOP_cmp_gt_or_andcm,
00609 TOP_cmp_gt_orcm,
00610 TOP_cmp_gt_unc,
00611 TOP_cmp_gtu,
00612 TOP_cmp_gtu_unc,
00613 TOP_cmp_i_eq,
00614 TOP_cmp_i_eq_and,
00615 TOP_cmp_i_eq_and_orcm,
00616 TOP_cmp_i_eq_andcm,
00617 TOP_cmp_i_eq_or,
00618 TOP_cmp_i_eq_or_andcm,
00619 TOP_cmp_i_eq_orcm,
00620 TOP_cmp_i_eq_unc,
00621 TOP_cmp_i_ge,
00622 TOP_cmp_i_ge_unc,
00623 TOP_cmp_i_geu,
00624 TOP_cmp_i_geu_unc,
00625 TOP_cmp_i_gt,
00626 TOP_cmp_i_gt_unc,
00627 TOP_cmp_i_gtu,
00628 TOP_cmp_i_gtu_unc,
00629 TOP_cmp_i_le,
00630 TOP_cmp_i_le_unc,
00631 TOP_cmp_i_leu,
00632 TOP_cmp_i_leu_unc,
00633 TOP_cmp_i_lt,
00634 TOP_cmp_i_lt_unc,
00635 TOP_cmp_i_ltu,
00636 TOP_cmp_i_ltu_unc,
00637 TOP_cmp_i_ne,
00638 TOP_cmp_i_ne_and,
00639 TOP_cmp_i_ne_and_orcm,
00640 TOP_cmp_i_ne_andcm,
00641 TOP_cmp_i_ne_or,
00642 TOP_cmp_i_ne_or_andcm,
00643 TOP_cmp_i_ne_orcm,
00644 TOP_cmp_i_ne_unc,
00645 TOP_cmp_le,
00646 TOP_cmp_le_and,
00647 TOP_cmp_le_and_orcm,
00648 TOP_cmp_le_andcm,
00649 TOP_cmp_le_or,
00650 TOP_cmp_le_or_andcm,
00651 TOP_cmp_le_orcm,
00652 TOP_cmp_le_unc,
00653 TOP_cmp_leu,
00654 TOP_cmp_leu_unc,
00655 TOP_cmp_lt,
00656 TOP_cmp_lt_and,
00657 TOP_cmp_lt_and_orcm,
00658 TOP_cmp_lt_andcm,
00659 TOP_cmp_lt_or,
00660 TOP_cmp_lt_or_andcm,
00661 TOP_cmp_lt_orcm,
00662 TOP_cmp_lt_unc,
00663 TOP_cmp_ltu,
00664 TOP_cmp_ltu_unc,
00665 TOP_cmp_ne,
00666 TOP_cmp_ne_and,
00667 TOP_cmp_ne_and_orcm,
00668 TOP_cmp_ne_andcm,
00669 TOP_cmp_ne_or,
00670 TOP_cmp_ne_or_andcm,
00671 TOP_cmp_ne_orcm,
00672 TOP_cmp_ne_unc,
00673 TOP_cmp_z1_ge_and,
00674 TOP_cmp_z1_ge_and_orcm,
00675 TOP_cmp_z1_ge_andcm,
00676 TOP_cmp_z1_ge_or,
00677 TOP_cmp_z1_ge_or_andcm,
00678 TOP_cmp_z1_ge_orcm,
00679 TOP_cmp_z1_gt_and,
00680 TOP_cmp_z1_gt_and_orcm,
00681 TOP_cmp_z1_gt_andcm,
00682 TOP_cmp_z1_gt_or,
00683 TOP_cmp_z1_gt_or_andcm,
00684 TOP_cmp_z1_gt_orcm,
00685 TOP_cmp_z1_le_and,
00686 TOP_cmp_z1_le_and_orcm,
00687 TOP_cmp_z1_le_andcm,
00688 TOP_cmp_z1_le_or,
00689 TOP_cmp_z1_le_or_andcm,
00690 TOP_cmp_z1_le_orcm,
00691 TOP_cmp_z1_lt_and,
00692 TOP_cmp_z1_lt_and_orcm,
00693 TOP_cmp_z1_lt_andcm,
00694 TOP_cmp_z1_lt_or,
00695 TOP_cmp_z1_lt_or_andcm,
00696 TOP_cmp_z1_lt_orcm,
00697 TOP_cmp_z2_ge_and,
00698 TOP_cmp_z2_ge_and_orcm,
00699 TOP_cmp_z2_ge_andcm,
00700 TOP_cmp_z2_ge_or,
00701 TOP_cmp_z2_ge_or_andcm,
00702 TOP_cmp_z2_ge_orcm,
00703 TOP_cmp_z2_gt_and,
00704 TOP_cmp_z2_gt_and_orcm,
00705 TOP_cmp_z2_gt_andcm,
00706 TOP_cmp_z2_gt_or,
00707 TOP_cmp_z2_gt_or_andcm,
00708 TOP_cmp_z2_gt_orcm,
00709 TOP_cmp_z2_le_and,
00710 TOP_cmp_z2_le_and_orcm,
00711 TOP_cmp_z2_le_andcm,
00712 TOP_cmp_z2_le_or,
00713 TOP_cmp_z2_le_or_andcm,
00714 TOP_cmp_z2_le_orcm,
00715 TOP_cmp_z2_lt_and,
00716 TOP_cmp_z2_lt_and_orcm,
00717 TOP_cmp_z2_lt_andcm,
00718 TOP_cmp_z2_lt_or,
00719 TOP_cmp_z2_lt_or_andcm,
00720 TOP_cmp_z2_lt_orcm,
00721 TOP_cmp4_eq,
00722 TOP_cmp4_eq_and,
00723 TOP_cmp4_eq_and_orcm,
00724 TOP_cmp4_eq_andcm,
00725 TOP_cmp4_eq_or,
00726 TOP_cmp4_eq_or_andcm,
00727 TOP_cmp4_eq_orcm,
00728 TOP_cmp4_eq_unc,
00729 TOP_cmp4_ge,
00730 TOP_cmp4_ge_and,
00731 TOP_cmp4_ge_and_orcm,
00732 TOP_cmp4_ge_andcm,
00733 TOP_cmp4_ge_or,
00734 TOP_cmp4_ge_or_andcm,
00735 TOP_cmp4_ge_orcm,
00736 TOP_cmp4_ge_unc,
00737 TOP_cmp4_geu,
00738 TOP_cmp4_geu_unc,
00739 TOP_cmp4_gt,
00740 TOP_cmp4_gt_and,
00741 TOP_cmp4_gt_and_orcm,
00742 TOP_cmp4_gt_andcm,
00743 TOP_cmp4_gt_or,
00744 TOP_cmp4_gt_or_andcm,
00745 TOP_cmp4_gt_orcm,
00746 TOP_cmp4_gt_unc,
00747 TOP_cmp4_gtu,
00748 TOP_cmp4_gtu_unc,
00749 TOP_cmp4_i_eq,
00750 TOP_cmp4_i_eq_and,
00751 TOP_cmp4_i_eq_and_orcm,
00752 TOP_cmp4_i_eq_andcm,
00753 TOP_cmp4_i_eq_or,
00754 TOP_cmp4_i_eq_or_andcm,
00755 TOP_cmp4_i_eq_orcm,
00756 TOP_cmp4_i_eq_unc,
00757 TOP_cmp4_i_ge,
00758 TOP_cmp4_i_ge_unc,
00759 TOP_cmp4_i_geu,
00760 TOP_cmp4_i_geu_unc,
00761 TOP_cmp4_i_gt,
00762 TOP_cmp4_i_gt_unc,
00763 TOP_cmp4_i_gtu,
00764 TOP_cmp4_i_gtu_unc,
00765 TOP_cmp4_i_le,
00766 TOP_cmp4_i_le_unc,
00767 TOP_cmp4_i_leu,
00768 TOP_cmp4_i_leu_unc,
00769 TOP_cmp4_i_lt,
00770 TOP_cmp4_i_lt_unc,
00771 TOP_cmp4_i_ltu,
00772 TOP_cmp4_i_ltu_unc,
00773 TOP_cmp4_i_ne,
00774 TOP_cmp4_i_ne_and,
00775 TOP_cmp4_i_ne_and_orcm,
00776 TOP_cmp4_i_ne_andcm,
00777 TOP_cmp4_i_ne_or,
00778 TOP_cmp4_i_ne_or_andcm,
00779 TOP_cmp4_i_ne_orcm,
00780 TOP_cmp4_i_ne_unc,
00781 TOP_cmp4_le,
00782 TOP_cmp4_le_and,
00783 TOP_cmp4_le_and_orcm,
00784 TOP_cmp4_le_andcm,
00785 TOP_cmp4_le_or,
00786 TOP_cmp4_le_or_andcm,
00787 TOP_cmp4_le_orcm,
00788 TOP_cmp4_le_unc,
00789 TOP_cmp4_leu,
00790 TOP_cmp4_leu_unc,
00791 TOP_cmp4_lt,
00792 TOP_cmp4_lt_and,
00793 TOP_cmp4_lt_and_orcm,
00794 TOP_cmp4_lt_andcm,
00795 TOP_cmp4_lt_or,
00796 TOP_cmp4_lt_or_andcm,
00797 TOP_cmp4_lt_orcm,
00798 TOP_cmp4_lt_unc,
00799 TOP_cmp4_ltu,
00800 TOP_cmp4_ltu_unc,
00801 TOP_cmp4_ne,
00802 TOP_cmp4_ne_and,
00803 TOP_cmp4_ne_and_orcm,
00804 TOP_cmp4_ne_andcm,
00805 TOP_cmp4_ne_or,
00806 TOP_cmp4_ne_or_andcm,
00807 TOP_cmp4_ne_orcm,
00808 TOP_cmp4_ne_unc,
00809 TOP_cmp4_z1_ge_and,
00810 TOP_cmp4_z1_ge_and_orcm,
00811 TOP_cmp4_z1_ge_andcm,
00812 TOP_cmp4_z1_ge_or,
00813 TOP_cmp4_z1_ge_or_andcm,
00814 TOP_cmp4_z1_ge_orcm,
00815 TOP_cmp4_z1_gt_and,
00816 TOP_cmp4_z1_gt_and_orcm,
00817 TOP_cmp4_z1_gt_andcm,
00818 TOP_cmp4_z1_gt_or,
00819 TOP_cmp4_z1_gt_or_andcm,
00820 TOP_cmp4_z1_gt_orcm,
00821 TOP_cmp4_z1_le_and,
00822 TOP_cmp4_z1_le_and_orcm,
00823 TOP_cmp4_z1_le_andcm,
00824 TOP_cmp4_z1_le_or,
00825 TOP_cmp4_z1_le_or_andcm,
00826 TOP_cmp4_z1_le_orcm,
00827 TOP_cmp4_z1_lt_and,
00828 TOP_cmp4_z1_lt_and_orcm,
00829 TOP_cmp4_z1_lt_andcm,
00830 TOP_cmp4_z1_lt_or,
00831 TOP_cmp4_z1_lt_or_andcm,
00832 TOP_cmp4_z1_lt_orcm,
00833 TOP_cmp4_z2_ge_and,
00834 TOP_cmp4_z2_ge_and_orcm,
00835 TOP_cmp4_z2_ge_andcm,
00836 TOP_cmp4_z2_ge_or,
00837 TOP_cmp4_z2_ge_or_andcm,
00838 TOP_cmp4_z2_ge_orcm,
00839 TOP_cmp4_z2_gt_and,
00840 TOP_cmp4_z2_gt_and_orcm,
00841 TOP_cmp4_z2_gt_andcm,
00842 TOP_cmp4_z2_gt_or,
00843 TOP_cmp4_z2_gt_or_andcm,
00844 TOP_cmp4_z2_gt_orcm,
00845 TOP_cmp4_z2_le_and,
00846 TOP_cmp4_z2_le_and_orcm,
00847 TOP_cmp4_z2_le_andcm,
00848 TOP_cmp4_z2_le_or,
00849 TOP_cmp4_z2_le_or_andcm,
00850 TOP_cmp4_z2_le_orcm,
00851 TOP_cmp4_z2_lt_and,
00852 TOP_cmp4_z2_lt_and_orcm,
00853 TOP_cmp4_z2_lt_andcm,
00854 TOP_cmp4_z2_lt_or,
00855 TOP_cmp4_z2_lt_or_andcm,
00856 TOP_cmp4_z2_lt_orcm,
00857 TOP_UNDEFINED);
00858 Any_Operand_Access_Time(0);
00859 Any_Result_Available_Time(1);
00860 Resource_Requirement(res_issue, 0);
00861 Resource_Requirement(res_int_or_mem, 0);
00862
00864
00865
00866
00867
00869 Instruction_Group("ILOG",
00870 TOP_and,
00871 TOP_and_i,
00872 TOP_andcm,
00873 TOP_andcm_i,
00874 TOP_or,
00875 TOP_or_i,
00876 TOP_xor,
00877 TOP_xor_i,
00878 TOP_UNDEFINED);
00879 Any_Operand_Access_Time(0);
00880 Any_Result_Available_Time(1);
00881
00882 Resource_Requirement(res_issue, 0);
00883 Resource_Requirement(res_int_or_mem, 0);
00884
00886
00887
00888
00889
00891 Instruction_Group("ISHF",
00892 TOP_dep,
00893 TOP_dep_i,
00894 TOP_dep_i_z,
00895 TOP_dep_z,
00896 TOP_extr,
00897 TOP_extr_u,
00898 TOP_shrp,
00899 TOP_shl_i,
00900 TOP_shr_i,
00901 TOP_shr_i_u,
00902 TOP_UNDEFINED);
00903 Any_Operand_Access_Time(0);
00904 Any_Result_Available_Time(1);
00905 Resource_Requirement(res_issue, 0);
00906 Resource_Requirement(res_int_or_mem, 0);
00907 Resource_Requirement(res_integer, 0);
00908 Resource_Requirement(res_I0, 0);
00909
00911
00912
00913
00914
00916 Instruction_Group("LD",
00917 TOP_ld1,
00918 TOP_ld1_i,
00919 TOP_ld1_r,
00920 TOP_ld2,
00921 TOP_ld2_i,
00922 TOP_ld2_r,
00923 TOP_ld4,
00924 TOP_ld4_i,
00925 TOP_ld4_r,
00926 TOP_ld8,
00927 TOP_ld8_i,
00928 TOP_ld8_r,
00929 TOP_ld8_fill,
00930 TOP_ld8_i_fill,
00931 TOP_ld8_r_fill,
00932 TOP_UNDEFINED);
00933 Any_Operand_Access_Time(0);
00934 Any_Result_Available_Time(2);
00935
00936 Resource_Requirement(res_issue, 0);
00937 Resource_Requirement(res_int_or_mem, 0);
00938 Resource_Requirement(res_memory, 0);
00939 Load_Access_Time(2);
00940
00942
00943
00944
00945
00947 Instruction_Group("LFETCH",
00948 TOP_lfetch,
00949 TOP_lfetch_excl,
00950 TOP_lfetch_fault,
00951 TOP_lfetch_fault_excl,
00952 TOP_lfetch_i,
00953 TOP_lfetch_i_excl,
00954 TOP_lfetch_i_fault,
00955 TOP_lfetch_i_fault_excl,
00956 TOP_lfetch_r,
00957 TOP_lfetch_r_excl,
00958 TOP_lfetch_r_fault,
00959 TOP_lfetch_r_fault_excl,
00960 TOP_UNDEFINED);
00961 Any_Operand_Access_Time(0);
00962 Resource_Requirement(res_issue, 0);
00963 Resource_Requirement(res_int_or_mem, 0);
00964 Resource_Requirement(res_memory, 0);
00965 Load_Access_Time(6);
00966
00968
00969
00970
00971
00973 Instruction_Group("LONG_I",
00974 TOP_movl,
00975 TOP_UNDEFINED);
00976 Any_Operand_Access_Time(0);
00977 Any_Result_Available_Time(1);
00978 Resource_Requirement(res_issue, 0);
00979 Resource_Requirement(res_int_or_mem, 0);
00980 Resource_Requirement(res_integer, 0);
00981
00983
00984
00985
00986
00988 Instruction_Group("MMALU_A",
00989 TOP_padd1,
00990 TOP_padd2,
00991 TOP_padd1_sss,
00992 TOP_padd2_sss,
00993 TOP_padd1_uuu,
00994 TOP_padd2_uuu,
00995 TOP_padd1_uus,
00996 TOP_padd2_uus,
00997 TOP_padd4,
00998 TOP_pavg1,
00999 TOP_pavg1_raz,
01000 TOP_pavg2,
01001 TOP_pavg2_raz,
01002 TOP_pavgsub1,
01003 TOP_pavgsub2,
01004 TOP_pcmp1_eq,
01005 TOP_pcmp2_eq,
01006 TOP_pcmp4_eq,
01007 TOP_pcmp1_gt,
01008 TOP_pcmp2_gt,
01009 TOP_pcmp4_gt,
01010 TOP_pshladd2,
01011 TOP_pshradd2,
01012 TOP_psub1,
01013 TOP_psub2,
01014 TOP_psub1_sss,
01015 TOP_psub2_sss,
01016 TOP_psub1_uuu,
01017 TOP_psub2_uuu,
01018 TOP_psub1_uus,
01019 TOP_psub2_uus,
01020 TOP_psub4,
01021 TOP_UNDEFINED);
01022 Any_Operand_Access_Time(0);
01023 Any_Result_Available_Time(2);
01024
01025 Resource_Requirement(res_issue, 0);
01026 Resource_Requirement(res_int_or_mem, 0);
01027
01029
01030
01031
01032
01034 Instruction_Group("MMALU_I",
01035 TOP_pmax1_u,
01036 TOP_pmax2,
01037 TOP_pmin1_u,
01038 TOP_pmin2,
01039 TOP_psad1,
01040 TOP_UNDEFINED);
01041 Any_Operand_Access_Time(0);
01042 Any_Result_Available_Time(2);
01043
01044 Resource_Requirement(res_issue, 0);
01045 Resource_Requirement(res_int_or_mem, 0);
01046 Resource_Requirement(res_integer, 0);
01047
01049
01050
01051
01052
01054 Instruction_Group("MMMUL",
01055 TOP_pmpy2_l,
01056 TOP_pmpy2_r,
01057 TOP_pmpyshr2,
01058 TOP_pmpyshr2_u,
01059 TOP_popcnt,
01060 TOP_UNDEFINED);
01061 Any_Operand_Access_Time(0);
01062 Any_Result_Available_Time(2);
01063
01064 Resource_Requirement(res_issue, 0);
01065 Resource_Requirement(res_int_or_mem, 0);
01066 Resource_Requirement(res_integer, 0);
01067 Resource_Requirement(res_I0, 0);
01068
01070
01071
01072
01073
01075 Instruction_Group("MMSHF",
01076 TOP_mix1_l,
01077 TOP_mix1_r,
01078 TOP_mix2_l,
01079 TOP_mix2_r,
01080 TOP_mix4_l,
01081 TOP_mix4_r,
01082 TOP_mux1,
01083 TOP_mux2,
01084 TOP_pack2_sss,
01085 TOP_pack2_uss,
01086 TOP_pack4_sss,
01087 TOP_pshl2,
01088 TOP_pshl2_i,
01089 TOP_pshl4,
01090 TOP_pshl4_i,
01091 TOP_pshr2,
01092 TOP_pshr2_u,
01093 TOP_pshr2_i,
01094 TOP_pshr2_i_u,
01095 TOP_pshr4,
01096 TOP_pshr4_u,
01097 TOP_pshr4_i,
01098 TOP_pshr4_i_u,
01099 TOP_shl,
01100 TOP_shr,
01101 TOP_shr_u,
01102 TOP_unpack1_h,
01103 TOP_unpack1_l,
01104 TOP_unpack2_h,
01105 TOP_unpack2_l,
01106 TOP_unpack4_h,
01107 TOP_unpack4_l,
01108 TOP_UNDEFINED);
01109 Any_Operand_Access_Time(0);
01110 Any_Result_Available_Time(2);
01111
01112 Resource_Requirement(res_issue, 0);
01113 Resource_Requirement(res_int_or_mem, 0);
01114 Resource_Requirement(res_integer, 0);
01115
01117
01118
01119
01120
01122 Instruction_Group("NOP_B",
01123 TOP_break_b,
01124 TOP_nop_b,
01125 TOP_UNDEFINED);
01126 Resource_Requirement(res_issue, 0);
01127 Resource_Requirement(res_branch, 0);
01128
01130
01131
01132
01133
01135 Instruction_Group("NOP_I",
01136 TOP_break_i,
01137 TOP_nop_i,
01138 TOP_UNDEFINED);
01139 Resource_Requirement(res_issue, 0);
01140 Resource_Requirement(res_int_or_mem, 0);
01141 Resource_Requirement(res_integer, 0);
01142
01144
01145
01146
01147
01149 Instruction_Group("NOP_M",
01150 TOP_break_m,
01151 TOP_nop_m,
01152 TOP_UNDEFINED);
01153 Resource_Requirement(res_issue, 0);
01154 Resource_Requirement(res_int_or_mem, 0);
01155 Resource_Requirement(res_memory, 0);
01156
01158
01159
01160
01161
01163 Instruction_Group("NOP_F",
01164 TOP_break_f,
01165 TOP_nop_f,
01166 TOP_UNDEFINED);
01167 Resource_Requirement(res_issue, 0);
01168 Resource_Requirement(res_float, 0);
01169
01171
01172
01173
01174
01176 Instruction_Group("NOP_X",
01177 TOP_break_x,
01178 TOP_nop_x,
01179 TOP_UNDEFINED);
01180 Resource_Requirement(res_issue, 0);
01181 Resource_Requirement(res_int_or_mem, 0);
01182 Resource_Requirement(res_integer, 0);
01183
01185
01186
01187
01188
01190 Instruction_Group("PNT",
01191 TOP_addp4,
01192 TOP_addp4_i,
01193 TOP_shladdp4,
01194 TOP_UNDEFINED);
01195 Any_Operand_Access_Time(0);
01196 Any_Result_Available_Time(1);
01197 Resource_Requirement(res_issue, 0);
01198 Resource_Requirement(res_int_or_mem, 0);
01199
01201
01202
01203
01204
01206 Instruction_Group("RSE_B",
01207 TOP_clrrrb,
01208 TOP_clrrrb_pr,
01209 TOP_cover,
01210 TOP_UNDEFINED);
01211 Resource_Requirement(res_issue, 0);
01212 Resource_Requirement(res_branch, 0);
01213
01215
01216
01217
01218
01220 Instruction_Group("RSE_M",
01221 TOP_flushrs,
01222 TOP_loadrs,
01223 TOP_UNDEFINED);
01224 Resource_Requirement(res_issue, 0);
01225 Resource_Requirement(res_int_or_mem, 0);
01226 Resource_Requirement(res_memory, 0);
01227 Resource_Requirement(res_M0, 0);
01228
01230
01231
01232
01233
01234
01235
01236
01237
01238
01239
01240
01241
01242
01244 Instruction_Group("SEM",
01245 TOP_cmpxchg1,
01246 TOP_cmpxchg2,
01247 TOP_cmpxchg4,
01248 TOP_cmpxchg8,
01249 TOP_fetchadd4,
01250 TOP_fetchadd8,
01251 TOP_xchg1,
01252 TOP_xchg2,
01253 TOP_xchg4,
01254 TOP_xchg8,
01255 TOP_UNDEFINED);
01256 {
01257 int i;
01258 const int L2 = 6;
01259 const int latency = L2 + 5;
01260 Any_Operand_Access_Time(0);
01261 Any_Result_Available_Time(latency);
01262 Resource_Requirement(res_issue, 0);
01263 Resource_Requirement(res_int_or_mem, 0);
01264 Resource_Requirement(res_memory, 0);
01265 Resource_Requirement(res_M0, 0);
01266 for (i = 0; i < latency; ++i) Resource_Requirement(res_sem, i);
01267 Load_Access_Time(latency);
01268 }
01269
01271
01272
01273
01274
01276 Instruction_Group("SFCVTFX",
01277 TOP_fpcvt_fx,
01278 TOP_fpcvt_fx_trunc,
01279 TOP_fpcvt_fxu,
01280 TOP_fpcvt_fxu_trunc,
01281 TOP_UNDEFINED);
01282 Any_Operand_Access_Time(0);
01283 Any_Result_Available_Time(7);
01284 Resource_Requirement(res_issue, 0);
01285 Resource_Requirement(res_float, 0);
01286
01288
01289
01290
01291
01293 Instruction_Group("SFMAC",
01294 TOP_fpma,
01295 TOP_fpms,
01296 TOP_fpnma,
01297 TOP_fpmpy,
01298 TOP_fpnmpy,
01299 TOP_UNDEFINED);
01300 Any_Operand_Access_Time(0);
01301 Any_Result_Available_Time(5);
01302
01303 Resource_Requirement(res_issue, 0);
01304 Resource_Requirement(res_float, 0);
01305
01307
01308
01309
01310
01312 Instruction_Group("SFMERGESE",
01313 TOP_fpmerge_se,
01314 TOP_UNDEFINED);
01315 Any_Operand_Access_Time(0);
01316 Any_Result_Available_Time(7);
01317 Resource_Requirement(res_issue, 0);
01318 Resource_Requirement(res_float, 0);
01319 Resource_Requirement(res_F0, 0);
01320
01322
01323
01324
01325
01327 Instruction_Group("SFMISC",
01328 TOP_fpamax,
01329 TOP_fpamin,
01330 TOP_fpcmp_eq,
01331 TOP_fpcmp_ge,
01332 TOP_fpcmp_gt,
01333 TOP_fpcmp_le,
01334 TOP_fpcmp_lt,
01335 TOP_fpcmp_neq,
01336 TOP_fpcmp_nge,
01337 TOP_fpcmp_ngt,
01338 TOP_fpcmp_nle,
01339 TOP_fpcmp_nlt,
01340 TOP_fpcmp_ord,
01341 TOP_fpcmp_unord,
01342 TOP_fpmax,
01343 TOP_fpmerge_ns,
01344 TOP_fpmerge_s,
01345 TOP_fpmin,
01346 TOP_fprcpa,
01347 TOP_fprsqrta,
01348 TOP_fpneg,
01349 TOP_fpnegabs,
01350 TOP_fpabs,
01351 TOP_UNDEFINED);
01352 Any_Operand_Access_Time(0);
01353 Any_Result_Available_Time(5);
01354 Resource_Requirement(res_issue, 0);
01355 Resource_Requirement(res_float, 0);
01356 Resource_Requirement(res_F0, 0);
01357
01359
01360
01361
01362
01364 Instruction_Group("STF",
01365 TOP_stf8,
01366 TOP_stf8_i,
01367 TOP_stfd,
01368 TOP_stfd_i,
01369 TOP_stfe,
01370 TOP_stfe_i,
01371 TOP_stfs,
01372 TOP_stfs_i,
01373 TOP_stf_spill,
01374 TOP_stf_i_spill,
01375 TOP_UNDEFINED);
01376 Any_Operand_Access_Time(0);
01377 Resource_Requirement(res_issue, 0);
01378 Resource_Requirement(res_int_or_mem, 0);
01379 Resource_Requirement(res_memory, 0);
01380 Store_Available_Time(9);
01381
01383
01384
01385
01386
01388 Instruction_Group("ST",
01389 TOP_st1,
01390 TOP_st1_i,
01391 TOP_st2,
01392 TOP_st2_i,
01393 TOP_st4,
01394 TOP_st4_i,
01395 TOP_st8,
01396 TOP_st8_i,
01397 TOP_st8_spill,
01398 TOP_st8_i_spill,
01399 TOP_UNDEFINED);
01400 Any_Operand_Access_Time(0);
01401 Resource_Requirement(res_issue, 0);
01402 Resource_Requirement(res_int_or_mem, 0);
01403 Resource_Requirement(res_memory, 0);
01404 Store_Available_Time(2);
01405
01407
01408
01409
01410
01412 Instruction_Group("SYST_B2",
01413 TOP_bsw_0,
01414 TOP_bsw_1,
01415 TOP_rfi,
01416 TOP_UNDEFINED);
01417 Resource_Requirement(res_issue, 0);
01418 Resource_Requirement(res_branch, 0);
01419 Resource_Requirement(res_B0_or_B2, 0);
01420
01422
01423
01424
01425
01427 Instruction_Group("SYST_B",
01428 TOP_epc,
01429 TOP_UNDEFINED);
01430 Resource_Requirement(res_issue, 0);
01431 Resource_Requirement(res_branch, 0);
01432 Resource_Requirement(res_B0_or_B1, 0);
01433
01435
01436
01437
01438
01440 Instruction_Group("SYST_M0_0",
01441 TOP_mf_a,
01442 TOP_UNDEFINED);
01443 Any_Operand_Access_Time(0);
01444 Resource_Requirement(res_issue, 0);
01445 Resource_Requirement(res_int_or_mem, 0);
01446 Resource_Requirement(res_memory, 0);
01447 Resource_Requirement(res_M0, 0);
01448
01449 Instruction_Group("SYST_M0_1",
01450 TOP_alloc,
01451 TOP_alloc_3,
01452 TOP_UNDEFINED);
01453 Any_Operand_Access_Time(0);
01454 Any_Result_Available_Time(1);
01455 Resource_Requirement(res_issue, 0);
01456 Resource_Requirement(res_int_or_mem, 0);
01457 Resource_Requirement(res_memory, 0);
01458 Resource_Requirement(res_M0, 0);
01459
01460 Instruction_Group("SYST_M0_2",
01461 TOP_fc,
01462 TOP_itc_d,
01463 TOP_itc_i,
01464 TOP_itr_d,
01465 TOP_itr_i,
01466 TOP_probe_i_r,
01467 TOP_probe_i_w,
01468 TOP_probe_r,
01469 TOP_probe_r_fault,
01470 TOP_probe_rw_fault,
01471 TOP_probe_w,
01472 TOP_probe_w_fault,
01473 TOP_ptc_e,
01474 TOP_ptc_g,
01475 TOP_ptc_ga,
01476 TOP_ptc_l,
01477 TOP_ptr_d,
01478 TOP_ptr_i,
01479 TOP_UNDEFINED);
01480 Any_Operand_Access_Time(0);
01481 Any_Result_Available_Time(1);
01482 Resource_Requirement(res_issue, 0);
01483 Resource_Requirement(res_int_or_mem, 0);
01484 Resource_Requirement(res_memory, 0);
01485 Resource_Requirement(res_M0, 0);
01486
01487 Instruction_Group("SYST_M0_3",
01488 TOP_rum,
01489 TOP_sum,
01490 TOP_mov_t_psrum,
01491 TOP_UNDEFINED);
01492 Any_Operand_Access_Time(0);
01493 Any_Result_Available_Time(4);
01494 Resource_Requirement(res_issue, 0);
01495 Resource_Requirement(res_int_or_mem, 0);
01496 Resource_Requirement(res_memory, 0);
01497 Resource_Requirement(res_M0, 0);
01498
01499 Instruction_Group("SYST_M0_4",
01500 TOP_rsm,
01501 TOP_ssm,
01502 TOP_mov_t_psr,
01503 TOP_UNDEFINED);
01504 Any_Operand_Access_Time(0);
01505 Any_Result_Available_Time(5);
01506 Resource_Requirement(res_issue, 0);
01507 Resource_Requirement(res_int_or_mem, 0);
01508 Resource_Requirement(res_memory, 0);
01509 Resource_Requirement(res_M0, 0);
01510
01511 Instruction_Group("SYST_M0_5",
01512 TOP_tak,
01513 TOP_tpa,
01514 TOP_UNDEFINED);
01515 Any_Operand_Access_Time(0);
01516 Any_Result_Available_Time(6);
01517 Resource_Requirement(res_issue, 0);
01518 Resource_Requirement(res_int_or_mem, 0);
01519 Resource_Requirement(res_memory, 0);
01520 Resource_Requirement(res_M0, 0);
01521
01522 Instruction_Group("SYST_M0_6",
01523 TOP_mov_t_rr,
01524 TOP_mov_t_pkr,
01525 TOP_UNDEFINED);
01526 Any_Operand_Access_Time(0);
01527 Any_Result_Available_Time(10);
01528 Resource_Requirement(res_issue, 0);
01529 Resource_Requirement(res_int_or_mem, 0);
01530 Resource_Requirement(res_memory, 0);
01531 Resource_Requirement(res_M0, 0);
01532
01533 Instruction_Group("SYST_M0_7",
01534 TOP_thash,
01535 TOP_ttag,
01536 TOP_mov_f_psrum,
01537 TOP_mov_f_psr,
01538 TOP_mov_f_rr,
01539 TOP_mov_f_pkr,
01540 TOP_UNDEFINED);
01541 Any_Operand_Access_Time(0);
01542 Any_Result_Available_Time(13);
01543 Resource_Requirement(res_issue, 0);
01544 Resource_Requirement(res_int_or_mem, 0);
01545 Resource_Requirement(res_memory, 0);
01546 Resource_Requirement(res_M0, 0);
01547
01548 Instruction_Group("SYST_M0_8",
01549 TOP_mov_t_msr,
01550 TOP_mov_t_pmd,
01551 TOP_mov_t_pmc,
01552 TOP_mov_t_ibr,
01553 TOP_mov_t_dbr,
01554 TOP_UNDEFINED);
01555 Any_Operand_Access_Time(0);
01556 Any_Result_Available_Time(35);
01557 Resource_Requirement(res_issue, 0);
01558 Resource_Requirement(res_int_or_mem, 0);
01559 Resource_Requirement(res_memory, 0);
01560 Resource_Requirement(res_M0, 0);
01561
01562 Instruction_Group("SYST_M0_9",
01563 TOP_mov_f_msr,
01564 TOP_mov_f_pmd,
01565 TOP_mov_f_pmc,
01566 TOP_mov_f_ibr,
01567 TOP_mov_f_dbr,
01568 TOP_mov_f_cpuid,
01569 TOP_UNDEFINED);
01570 Any_Operand_Access_Time(0);
01571 Any_Result_Available_Time(38);
01572 Resource_Requirement(res_issue, 0);
01573 Resource_Requirement(res_int_or_mem, 0);
01574 Resource_Requirement(res_memory, 0);
01575 Resource_Requirement(res_M0, 0);
01576
01578
01579
01580
01581
01583 Instruction_Group("SYST_M",
01584 TOP_fwb,
01585 TOP_invala,
01586 TOP_invala_e,
01587 TOP_invala_f_e,
01588 TOP_mf,
01589 TOP_srlz_d,
01590 TOP_srlz_i,
01591 TOP_sync_i,
01592 TOP_UNDEFINED);
01593 Any_Operand_Access_Time(0);
01594 Resource_Requirement(res_issue, 0);
01595 Resource_Requirement(res_int_or_mem, 0);
01596 Resource_Requirement(res_memory, 0);
01597
01599
01600
01601
01602
01604 Instruction_Group("TBIT",
01605 TOP_tbit_nz,
01606 TOP_tbit_nz_and,
01607 TOP_tbit_nz_or,
01608 TOP_tbit_nz_or_andcm,
01609 TOP_tbit_nz_unc,
01610 TOP_tbit_z,
01611 TOP_tbit_z_and,
01612 TOP_tbit_z_or,
01613 TOP_tbit_z_or_andcm,
01614 TOP_tbit_z_unc,
01615 TOP_UNDEFINED);
01616 Any_Operand_Access_Time(0);
01617 Any_Result_Available_Time(1);
01618 Resource_Requirement(res_issue, 0);
01619 Resource_Requirement(res_int_or_mem, 0);
01620 Resource_Requirement(res_integer, 0);
01621 Resource_Requirement(res_I0, 0);
01622
01624
01625
01626
01627
01629 Instruction_Group("TOAR_I",
01630 TOP_mov_t_ar_r_i,
01631 TOP_mov_t_ar_i_i,
01632 TOP_UNDEFINED);
01633 Any_Operand_Access_Time(0);
01634 Any_Result_Available_Time(1);
01635
01636 Resource_Requirement(res_issue, 0);
01637 Resource_Requirement(res_int_or_mem, 0);
01638 Resource_Requirement(res_integer, 0);
01639 Resource_Requirement(res_I0, 0);
01640
01642
01643
01644
01645
01647 Instruction_Group("TOAR_M",
01648 TOP_mov_t_ar_r_m,
01649 TOP_mov_t_ar_i_m,
01650 TOP_UNDEFINED);
01651 Any_Operand_Access_Time(0);
01652 Any_Result_Available_Time(1);
01653
01654 Resource_Requirement(res_issue, 0);
01655 Resource_Requirement(res_int_or_mem, 0);
01656 Resource_Requirement(res_memory, 0);
01657 Resource_Requirement(res_M0, 0);
01658
01660
01661
01662
01663
01665 Instruction_Group("TOBR",
01666 TOP_mov_t_br,
01667 TOP_mov_t_br_i,
01668 TOP_mov_t_br_ret,
01669 TOP_UNDEFINED);
01670 Any_Operand_Access_Time(0);
01671 Any_Result_Available_Time(1);
01672 Resource_Requirement(res_issue, 0);
01673 Resource_Requirement(res_int_or_mem, 0);
01674 Resource_Requirement(res_integer, 0);
01675 Resource_Requirement(res_I0, 0);
01676
01678
01679
01680
01681
01683 Instruction_Group("TOCR",
01684 TOP_mov_t_cr,
01685 TOP_UNDEFINED);
01686 Any_Operand_Access_Time(0);
01687 Any_Result_Available_Time(1);
01688 Resource_Requirement(res_issue, 0);
01689 Resource_Requirement(res_int_or_mem, 0);
01690 Resource_Requirement(res_memory, 0);
01691 Resource_Requirement(res_M0, 0);
01692
01694
01695
01696
01697
01699 Instruction_Group("TOFR",
01700 TOP_setf_exp,
01701 TOP_setf_d,
01702 TOP_setf_s,
01703 TOP_setf_sig,
01704 TOP_UNDEFINED);
01705 Any_Operand_Access_Time(0);
01706 Any_Result_Available_Time(9);
01707 Resource_Requirement(res_issue, 0);
01708 Resource_Requirement(res_int_or_mem, 0);
01709 Resource_Requirement(res_memory, 0);
01710
01712
01713
01714
01715
01717 Instruction_Group("TOPR",
01718 TOP_mov_t_pr,
01719 TOP_mov_t_pr_i,
01720 TOP_UNDEFINED);
01721 Any_Operand_Access_Time(0);
01722 Any_Result_Available_Time(1);
01723 Resource_Requirement(res_issue, 0);
01724 Resource_Requirement(res_int_or_mem, 0);
01725 Resource_Requirement(res_integer, 0);
01726 Resource_Requirement(res_I0, 0);
01727
01729
01730
01731
01732
01734 Instruction_Group("XMA",
01735 TOP_xma_h,
01736 TOP_xma_hu,
01737 TOP_xma_l,
01738 TOP_xma_lu,
01739 TOP_xmpy_h,
01740 TOP_xmpy_hu,
01741 TOP_xmpy_l,
01742 TOP_xmpy_lu,
01743 TOP_UNDEFINED);
01744 Any_Operand_Access_Time(0);
01745 Any_Result_Available_Time(7);
01746 Resource_Requirement(res_issue, 0);
01747 Resource_Requirement(res_float, 0);
01748
01750
01751
01752
01753
01755 Instruction_Group("XTD",
01756 TOP_czx1_l,
01757 TOP_czx1_r,
01758 TOP_czx2_l,
01759 TOP_czx2_r,
01760 TOP_sxt1,
01761 TOP_sxt2,
01762 TOP_sxt4,
01763 TOP_zxt1,
01764 TOP_zxt2,
01765 TOP_zxt4,
01766 TOP_UNDEFINED);
01767 Any_Operand_Access_Time(0);
01768 Any_Result_Available_Time(1);
01769 Resource_Requirement(res_issue, 0);
01770 Resource_Requirement(res_int_or_mem, 0);
01771 Resource_Requirement(res_integer, 0);
01772
01774
01775
01776
01777
01779 Instruction_Group("UNKNOWN_1",
01780 TOP_tnat_z,
01781 TOP_tnat_z_unc,
01782 TOP_tnat_z_and,
01783 TOP_tnat_nz_and,
01784 TOP_tnat_z_or,
01785 TOP_tnat_nz_or,
01786 TOP_tnat_z_or_andcm,
01787 TOP_tnat_nz_or_andcm,
01788 TOP_tnat_nz,
01789 TOP_tnat_nz_unc,
01790 TOP_UNDEFINED);
01791 Any_Operand_Access_Time(0);
01792 Any_Result_Available_Time(1);
01793 Resource_Requirement(res_issue, 0);
01794 Resource_Requirement(res_int_or_mem, 0);
01795 Resource_Requirement(res_integer, 0);
01796 Resource_Requirement(res_I0, 0);
01797
01799
01800
01801
01803 Instruction_Group("dummy",
01804 TOP_break,
01805 TOP_nop,
01806 TOP_mov_f_ar,
01807 TOP_mov_t_ar_r,
01808 TOP_mov_t_ar_i,
01809 TOP_chk_s,
01810 TOP_asm,
01811 TOP_intrncall,
01812 TOP_spadjust,
01813 TOP_copy_br,
01814 TOP_UNDEFINED);
01815 Any_Operand_Access_Time(0);
01816 Any_Result_Available_Time(1);
01817 Resource_Requirement(res_issue, 0);
01818
01819 Machine_Done("itanium.c");
01820 }
01821