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 properties information 00039 // The instructions are listed by category. The different categories of 00040 // instructions are: 00041 // 00042 // 1. Operator attributes descriptors 00043 // 2. Exception classification descriptors 00044 // 3. Other operator descriptors (mostly for global optimization). 00045 // 00046 // Within each ISA_PROPERTY instructions are listed in alphabetical order and 00047 // as shown in the ISA manual 00049 00050 00051 #include <stddef.h> 00052 #include "topcode.h" 00053 #include "isa_properties_gen.h" 00054 00055 main() 00056 { 00057 ISA_PROPERTY 00058 load, /* Memory load operator */ 00059 store, /* Memory store operator */ 00060 prefetch, /* Prefetch operator */ 00061 xfer, /* Control transfer operator */ 00062 call, /* Subprogram call operator */ 00063 cond, /* Call/xfer is conditional */ 00064 likely, /* Cond call/xfer is likely */ 00065 unalign_ld, /* Unaligned load operator */ 00066 unalign_store, /* Unaligned store operator */ 00067 cond_move, /* conditional move */ 00068 uniq_res, /* Result must not be opnd */ 00069 same_res, /* Result must be same as opnd */ 00070 noop, /* No-op operator */ 00071 select, /* Operator is a machine level select */ 00072 dummy, /* No-op doesn't get emitted */ 00073 iadd, /* Integer add operator */ 00074 isub, /* Integer subtract operator */ 00075 imul, /* Integer multiply operator */ 00076 idiv, /* Integer divide operator */ 00077 flop, /* Any proper floating point op */ 00078 fadd, /* FP add operator */ 00079 fsub, /* FP subtract operator */ 00080 fmul, /* FP multiply operator */ 00081 fmisc, /* FP miscellaneous class type */ 00082 madd, /* The kind that do two at once */ 00083 mmalu, /* Multimedia ALU operator */ 00084 mmmul, /* Multimedia multiply operator */ 00085 mmshf, /* Multimedia shift operator */ 00086 itrap, /* Integer trap potential */ 00087 safe, /* Never traps -- always safe */ 00088 ftrap, /* Floating point trap potential */ 00089 fdiv, /* Floating point divides */ 00090 sqrt, /* Square root operator */ 00091 memtrap, /* Memory trap potential */ 00092 unsafe, /* Unsafe always */ 00093 defs_fp, /* Operator defines FP reg */ 00094 defs_fcc, /* Operator defines FP CC reg */ 00095 defs_fcr, /* Operator defines FCR reg */ 00096 refs_fcr, /* Operator uses FCR reg */ 00097 defs_fpu_int, /* Operator defs int val in FP reg */ 00098 ior, /* Integer logical OR operator */ 00099 jump, /* Jump operator */ 00100 ijump, /* Indirect jump operator */ 00101 ixor, /* Integer logical exclusive OR operator */ 00102 iand, /* Integer logical AND operator */ 00103 icmp, /* Integer compare operator */ 00104 f_group, /* Instruction must be first in an instruction group */ 00105 l_group, /* Instruction must be last in an instruction group */ 00106 privileged, /* Instruction is a privileged instruction */ 00107 simulated, /* Instruction is simulated, i.e. a macro */ 00108 predicated, /* Instruction is predicated */ 00109 access_reg_bank, /* Instruction accesses rotating register banks */ 00110 side_effects, /* Instruction has side effects */ 00111 mem_fill_type, /* Memory instructions which are fill/spill type */ 00112 branch_predict, /* Branch prediction (but not actual xfer) */ 00113 var_opnds; /* Variable number of operands AND/OR results */ 00114 00115 ISA_Properties_Begin ("ia64"); 00116 00117 /* ==================================================================== 00118 * Operator attributes descriptors 00119 * ==================================================================== 00120 */ 00121 00122 /* ===== Memory load operator ====== */ 00123 load = ISA_Property_Create ("load"); 00124 Instruction_Group (load, 00125 TOP_ld1_r, 00126 TOP_ld1_i, 00127 TOP_ld2_r, 00128 TOP_ld2_i, 00129 TOP_ld4_r, 00130 TOP_ld4_i, 00131 TOP_ld8_r, 00132 TOP_ld8_i, 00133 TOP_ld8_r_fill, 00134 TOP_ld8_i_fill, 00135 TOP_ldfs_r, 00136 TOP_ldfs_i, 00137 TOP_ldfd_r, 00138 TOP_ldfd_i, 00139 TOP_ldfe_r, 00140 TOP_ldfe_i, 00141 TOP_ldf8_r, 00142 TOP_ldf8_i, 00143 TOP_ldf_r_fill, 00144 TOP_ldf_i_fill, 00145 TOP_ldfps, 00146 TOP_ldfps_i, 00147 TOP_ldfpd, 00148 TOP_ldfpd_i, 00149 TOP_ldfp8, 00150 TOP_ldfp8_i, 00151 TOP_ld1, 00152 TOP_ld2, 00153 TOP_ld4, 00154 TOP_ld8, 00155 TOP_ld8_fill, 00156 TOP_ldfs, 00157 TOP_ldfd, 00158 TOP_ldfe, 00159 TOP_ldf8, 00160 TOP_ldf_fill, 00161 TOP_UNDEFINED); 00162 00163 /* ===== Memory store operator ====== */ 00164 store = ISA_Property_Create ("store"); 00165 Instruction_Group (store, 00166 TOP_st1, 00167 TOP_st1_i, 00168 TOP_st2, 00169 TOP_st2_i, 00170 TOP_st4, 00171 TOP_st4_i, 00172 TOP_st8, 00173 TOP_st8_i, 00174 TOP_st8_spill, 00175 TOP_st8_i_spill, 00176 TOP_stfs, 00177 TOP_stfs_i, 00178 TOP_stfd, 00179 TOP_stfd_i, 00180 TOP_stfe, 00181 TOP_stfe_i, 00182 TOP_stf8, 00183 TOP_stf8_i, 00184 TOP_stf_spill, 00185 TOP_stf_i_spill, 00186 TOP_UNDEFINED); 00187 00188 /* ===== Prefetch operator ====== */ 00189 prefetch = ISA_Property_Create ("prefetch"); 00190 Instruction_Group (prefetch, 00191 TOP_lfetch_r, 00192 TOP_lfetch_r_excl, 00193 TOP_lfetch_i, 00194 TOP_lfetch_i_excl, 00195 TOP_lfetch, 00196 TOP_lfetch_excl, 00197 TOP_UNDEFINED); 00198 00199 /* ===== Memory fill/spill type instructions ====== */ 00200 mem_fill_type = ISA_Property_Create ("mem_fill_type"); 00201 Instruction_Group (mem_fill_type, 00202 TOP_ld8_fill, 00203 TOP_ld8_r_fill, 00204 TOP_ld8_i_fill, 00205 TOP_ldf_fill, 00206 TOP_ldf_r_fill, 00207 TOP_ldf_i_fill, 00208 TOP_st8_spill, 00209 TOP_st8_i_spill, 00210 TOP_stf_spill, 00211 TOP_stf_i_spill, 00212 TOP_UNDEFINED); 00213 00214 /* ===== Control transfer operator ====== */ 00215 xfer = ISA_Property_Create ("xfer"); 00216 Instruction_Group (xfer, 00217 TOP_br_cond, 00218 TOP_br_r_cond, 00219 TOP_br_call, 00220 TOP_br_r_call, 00221 TOP_br_ret, 00222 TOP_br_ia, 00223 TOP_br_cloop, 00224 TOP_br_ctop, 00225 TOP_br_cexit, 00226 TOP_br_wtop, 00227 TOP_br_wexit, 00228 TOP_br, 00229 TOP_br_r, 00230 TOP_break_i, 00231 TOP_break_b, 00232 TOP_break_m, 00233 TOP_break_f, 00234 TOP_break_x, 00235 TOP_break, 00236 TOP_brl_cond, 00237 TOP_brl_call, 00238 TOP_brl, 00239 TOP_UNDEFINED); 00240 00241 /* ===== Subprogram call operator ====== */ 00242 call = ISA_Property_Create ("call"); 00243 Instruction_Group (call, 00244 TOP_br_call, 00245 TOP_br_r_call, 00246 TOP_UNDEFINED); 00247 00248 /* ===== Call/xfer is conditional ====== */ 00249 cond = ISA_Property_Create ("cond"); 00250 Instruction_Group (cond, 00251 TOP_br_cond, 00252 TOP_br_r_cond, 00253 TOP_br_cloop, 00254 TOP_br_ctop, 00255 TOP_br_cexit, 00256 TOP_br_wtop, 00257 TOP_br_wexit, 00258 TOP_brl_cond, 00259 TOP_UNDEFINED); 00260 00261 /* ===== Cond call/xfer is likely ====== */ 00262 likely = ISA_Property_Create ("likely"); 00263 Instruction_Group (likely, 00264 TOP_UNDEFINED); 00265 00266 /* ===== Result def is conditional ====== */ 00267 cond_move = ISA_Property_Create ("cond_move"); 00268 Instruction_Group (cond_move, 00269 TOP_UNDEFINED); 00270 00271 /* ===== Result must not be opnd ====== */ 00272 uniq_res = ISA_Property_Create ("uniq_res"); 00273 Instruction_Group (uniq_res, 00274 TOP_intrncall, 00275 TOP_UNDEFINED); 00276 00277 /* ===== Result must be same as opnd ====== */ 00278 same_res = ISA_Property_Create ("same_res"); 00279 Instruction_Group (same_res, 00280 TOP_ld1_r, 00281 TOP_ld1_i, 00282 TOP_ld2_r, 00283 TOP_ld2_i, 00284 TOP_ld4_r, 00285 TOP_ld4_i, 00286 TOP_ld8_r, 00287 TOP_ld8_i, 00288 TOP_ld8_r_fill, 00289 TOP_ld8_i_fill, 00290 TOP_ldfs_r, 00291 TOP_ldfs_i, 00292 TOP_ldfd_r, 00293 TOP_ldfd_i, 00294 TOP_ldfe_r, 00295 TOP_ldfe_i, 00296 TOP_ldf8_r, 00297 TOP_ldf8_i, 00298 TOP_ldf_r_fill, 00299 TOP_ldf_i_fill, 00300 TOP_lfetch_r, 00301 TOP_lfetch_r_excl, 00302 TOP_lfetch_r_fault, 00303 TOP_lfetch_r_fault_excl, 00304 TOP_lfetch_i, 00305 TOP_lfetch_i_excl, 00306 TOP_lfetch_i_fault, 00307 TOP_lfetch_i_fault_excl, 00308 TOP_st1_i, 00309 TOP_st2_i, 00310 TOP_st4_i, 00311 TOP_st8_i, 00312 TOP_st8_i_spill, 00313 TOP_stfs_i, 00314 TOP_stfd_i, 00315 TOP_stfe_i, 00316 TOP_stf8_i, 00317 TOP_stf_i_spill, 00318 TOP_UNDEFINED); 00319 00320 /* ===== Operator is a machine level select ====== */ 00321 select = ISA_Property_Create ("select"); 00322 Instruction_Group (select, 00323 TOP_UNDEFINED); 00324 00325 /* ===== Unaligned load operator ====== */ 00326 unalign_ld = ISA_Property_Create ("unalign_ld"); 00327 Instruction_Group (unalign_ld, 00328 TOP_UNDEFINED); 00329 00330 /* ===== Unaligned store operator ====== */ 00331 unalign_store = ISA_Property_Create ("unalign_store"); 00332 Instruction_Group (unalign_store, 00333 TOP_UNDEFINED); 00334 00335 /* ===== Integer add operator ====== */ 00336 iadd = ISA_Property_Create ("iadd"); 00337 Instruction_Group (iadd, 00338 TOP_add, 00339 TOP_adds, 00340 TOP_addl, 00341 TOP_addp4, 00342 TOP_addp4_i, 00343 TOP_spadjust, 00344 TOP_UNDEFINED); 00345 00346 /* ===== Integer subtract operator ====== */ 00347 isub = ISA_Property_Create ("isub"); 00348 Instruction_Group (isub, 00349 TOP_sub, 00350 TOP_sub_i, 00351 TOP_UNDEFINED); 00352 00353 /* ===== Integer multiply operator ====== */ 00354 imul = ISA_Property_Create ("imul"); 00355 Instruction_Group (imul, 00356 TOP_xma_l, 00357 TOP_xma_h, 00358 TOP_xma_hu, 00359 TOP_xma_lu, 00360 TOP_xmpy_l, 00361 TOP_xmpy_h, 00362 TOP_xmpy_hu, 00363 TOP_xmpy_lu, 00364 TOP_UNDEFINED); 00365 00366 /* ===== Integer divide operator ====== */ 00367 idiv = ISA_Property_Create ("idiv"); 00368 Instruction_Group (idiv, 00369 TOP_UNDEFINED); 00370 00371 /* ===== Any proper floating point op ====== */ 00372 flop = ISA_Property_Create ("flop"); 00373 Instruction_Group (flop, 00374 TOP_fabs, 00375 TOP_fadd, 00376 TOP_fadd_d, 00377 TOP_fadd_s, 00378 TOP_famax, 00379 TOP_famin, 00380 TOP_fcmp_eq, 00381 TOP_fcmp_eq_unc, 00382 TOP_fcmp_ge, 00383 TOP_fcmp_ge_unc, 00384 TOP_fcmp_gt, 00385 TOP_fcmp_gt_unc, 00386 TOP_fcmp_le, 00387 TOP_fcmp_le_unc, 00388 TOP_fcmp_lt, 00389 TOP_fcmp_lt_unc, 00390 TOP_fcmp_neq, 00391 TOP_fcmp_neq_unc, 00392 TOP_fcmp_nge, 00393 TOP_fcmp_nge_unc, 00394 TOP_fcmp_ngt, 00395 TOP_fcmp_ngt_unc, 00396 TOP_fcmp_nle, 00397 TOP_fcmp_nle_unc, 00398 TOP_fcmp_nlt, 00399 TOP_fcmp_nlt_unc, 00400 TOP_fcmp_ord, 00401 TOP_fcmp_ord_unc, 00402 TOP_fcmp_unord, 00403 TOP_fcmp_unord_unc, 00404 TOP_fcvt_fx, 00405 TOP_fcvt_fx_trunc, 00406 TOP_fcvt_fxu, 00407 TOP_fcvt_fxu_trunc, 00408 TOP_fcvt_xf, 00409 TOP_fma, 00410 TOP_fma_d, 00411 TOP_fma_s, 00412 TOP_fmax, 00413 TOP_fmerge_ns, 00414 TOP_fmerge_s, 00415 TOP_fmerge_se, 00416 TOP_fmin, 00417 TOP_fmix_l, 00418 TOP_fmix_lr, 00419 TOP_fmix_r, 00420 TOP_fmpy, 00421 TOP_fmpy_d, 00422 TOP_fmpy_s, 00423 TOP_fms, 00424 TOP_fms_d, 00425 TOP_fms_s, 00426 TOP_fneg, 00427 TOP_fnegabs, 00428 TOP_fnma, 00429 TOP_fnma_d, 00430 TOP_fnma_s, 00431 TOP_fnmpy, 00432 TOP_fnmpy_d, 00433 TOP_fnmpy_s, 00434 TOP_fnorm, 00435 TOP_fnorm_d, 00436 TOP_fnorm_s, 00437 TOP_fpabs, 00438 TOP_fpamax, 00439 TOP_fpamin, 00440 TOP_fpcmp_eq, 00441 TOP_fpcmp_ge, 00442 TOP_fpcmp_gt, 00443 TOP_fpcmp_le, 00444 TOP_fpcmp_lt, 00445 TOP_fpcmp_neq, 00446 TOP_fpcmp_nge, 00447 TOP_fpcmp_ngt, 00448 TOP_fpcmp_nle, 00449 TOP_fpcmp_nlt, 00450 TOP_fpcmp_ord, 00451 TOP_fpcmp_unord, 00452 TOP_fpma, 00453 TOP_fpmax, 00454 TOP_fpmerge_ns, 00455 TOP_fpmerge_s, 00456 TOP_fpmerge_se, 00457 TOP_fpmin, 00458 TOP_fpmpy, 00459 TOP_fpms, 00460 TOP_fpneg, 00461 TOP_fpnegabs, 00462 TOP_fpnma, 00463 TOP_fpnmpy, 00464 TOP_fprcpa, 00465 TOP_fprsqrta, 00466 TOP_frcpa, 00467 TOP_frsqrta, 00468 TOP_fsub, 00469 TOP_fsub_d, 00470 TOP_fsub_s, 00471 TOP_mov_f, 00472 TOP_UNDEFINED); 00473 00474 /* ===== FP add operator ====== */ 00475 fadd = ISA_Property_Create ("fadd"); 00476 Instruction_Group (fadd, 00477 TOP_fadd, 00478 TOP_fadd_s, 00479 TOP_fadd_d, 00480 TOP_UNDEFINED); 00481 00482 /* ===== FP subtract operator ====== */ 00483 fsub = ISA_Property_Create ("fsub"); 00484 Instruction_Group (fsub, 00485 TOP_fsub, 00486 TOP_fsub_s, 00487 TOP_fsub_d, 00488 TOP_UNDEFINED); 00489 00490 /* ===== FP multiply operator ====== */ 00491 fmul = ISA_Property_Create ("fmul"); 00492 Instruction_Group (fmul, 00493 TOP_fmpy, 00494 TOP_fmpy_s, 00495 TOP_fmpy_d, 00496 TOP_fnmpy, 00497 TOP_fnmpy_s, 00498 TOP_fnmpy_d, 00499 TOP_fpmpy, 00500 TOP_fpnmpy, 00501 TOP_UNDEFINED); 00502 00503 /* ===== FP miscellaneous operator ====== */ 00504 fmisc = ISA_Property_Create ("fmisc"); 00505 Instruction_Group (fmisc, 00506 TOP_famax, 00507 TOP_famin, 00508 TOP_fand, 00509 TOP_fandcm, 00510 TOP_fmax, 00511 TOP_fmerge_ns, 00512 TOP_fmerge_s, 00513 TOP_fmerge_se, 00514 TOP_fmin, 00515 TOP_fmix_l, 00516 TOP_fmix_lr, 00517 TOP_fmix_r, 00518 TOP_for, 00519 TOP_fpack, 00520 TOP_frcpa, 00521 TOP_frsqrta, 00522 TOP_fselect, 00523 TOP_fswap, 00524 TOP_fswap_nl, 00525 TOP_fswap_nr, 00526 TOP_fsxt_l, 00527 TOP_fsxt_r, 00528 TOP_fxor, 00529 TOP_fabs, // pseudo of fmerge_s 00530 TOP_fnegabs, // pseudo of fmerge_ns 00531 TOP_fneg, // pseudo of fmerge_ns 00532 TOP_mov_f, // pseudo of fmerge_s 00533 TOP_UNDEFINED); 00534 00535 /* ===== The kind that do two at once ====== */ 00536 madd = ISA_Property_Create ("madd"); 00537 Instruction_Group (madd, 00538 TOP_fma, 00539 TOP_fma_s, 00540 TOP_fma_d, 00541 TOP_fnma, 00542 TOP_fnma_s, 00543 TOP_fnma_d, 00544 TOP_fpma, 00545 TOP_fpnma, 00546 TOP_fms, 00547 TOP_fms_s, 00548 TOP_fms_d, 00549 TOP_UNDEFINED); 00550 00551 /* ===== Instructions belonging to Multimedia ALU type ====== */ 00552 mmalu = ISA_Property_Create ("mmalu"); 00553 Instruction_Group (mmalu, 00554 TOP_padd1, 00555 TOP_padd2, 00556 TOP_padd1_sss, 00557 TOP_padd2_sss, 00558 TOP_padd1_uuu, 00559 TOP_padd2_uuu, 00560 TOP_padd1_uus, 00561 TOP_padd2_uus, 00562 TOP_padd4, 00563 TOP_pavg1, 00564 TOP_pavg1_raz, 00565 TOP_pavg2, 00566 TOP_pavg2_raz, 00567 TOP_pavgsub1, 00568 TOP_pavgsub2, 00569 TOP_pcmp1_eq, 00570 TOP_pcmp2_eq, 00571 TOP_pcmp4_eq, 00572 TOP_pcmp1_gt, 00573 TOP_pcmp2_gt, 00574 TOP_pcmp4_gt, 00575 TOP_pshladd2, 00576 TOP_pshradd2, 00577 TOP_psub1, 00578 TOP_psub2, 00579 TOP_psub1_sss, 00580 TOP_psub2_sss, 00581 TOP_psub1_uuu, 00582 TOP_psub2_uuu, 00583 TOP_psub1_uus, 00584 TOP_psub2_uus, 00585 TOP_psub4, 00586 TOP_pmax1_u, 00587 TOP_pmax2, 00588 TOP_pmin1_u, 00589 TOP_pmin2, 00590 TOP_psad1, 00591 TOP_UNDEFINED); 00592 00593 /* ===== Instructions belonging to Multimedia shift (MMSHF) type ====== */ 00594 mmshf = ISA_Property_Create ("mmshf"); 00595 Instruction_Group (mmshf, 00596 TOP_mix1_l, 00597 TOP_mix1_r, 00598 TOP_mix2_l, 00599 TOP_mix2_r, 00600 TOP_mix4_l, 00601 TOP_mix4_r, 00602 TOP_mux1, 00603 TOP_mux2, 00604 TOP_pack2_sss, 00605 TOP_pack2_uss, 00606 TOP_pack4_sss, 00607 TOP_pshl2, 00608 TOP_pshl2_i, 00609 TOP_pshl4, 00610 TOP_pshl4_i, 00611 TOP_pshr2, 00612 TOP_pshr2_u, 00613 TOP_pshr2_i, 00614 TOP_pshr2_i_u, 00615 TOP_pshr4, 00616 TOP_pshr4_u, 00617 TOP_pshr4_i, 00618 TOP_pshr4_i_u, 00619 TOP_shl, 00620 TOP_shr, 00621 TOP_shr_u, 00622 TOP_unpack1_h, 00623 TOP_unpack1_l, 00624 TOP_unpack2_h, 00625 TOP_unpack2_l, 00626 TOP_unpack4_h, 00627 TOP_unpack4_l, 00628 TOP_UNDEFINED); 00629 00630 /* ===== Instructions belonging to Multimedia multiply (MMMUL) type ====== */ 00631 mmmul = ISA_Property_Create ("mmmul"); 00632 Instruction_Group (mmmul, 00633 TOP_pmpy2_l, 00634 TOP_pmpy2_r, 00635 TOP_pmpyshr2, 00636 TOP_pmpyshr2_u, 00637 TOP_popcnt, 00638 TOP_UNDEFINED); 00639 00640 noop = ISA_Property_Create ("noop"); 00641 Instruction_Group (noop, 00642 TOP_nop_i, 00643 TOP_nop_b, 00644 TOP_nop_m, 00645 TOP_nop_f, 00646 TOP_nop_x, 00647 TOP_nop, 00648 TOP_noop, 00649 TOP_UNDEFINED); 00650 00651 dummy = ISA_Property_Create ("dummy"); 00652 Instruction_Group (dummy, 00653 TOP_dfixup, 00654 TOP_ffixup, 00655 TOP_ifixup, 00656 TOP_begin_pregtn, 00657 TOP_end_pregtn, 00658 TOP_fwd_bar, 00659 TOP_bwd_bar, 00660 TOP_label, 00661 TOP_noop, 00662 TOP_UNDEFINED); 00663 00664 /* ==================================================================== 00665 * Exception classification descriptors 00666 * ==================================================================== 00667 */ 00668 00669 /* ===== Integer trap potential ====== */ 00670 itrap = ISA_Property_Create ("itrap"); 00671 Instruction_Group (itrap, 00672 TOP_UNDEFINED); 00673 00674 /* ===== Never traps -- always safe ====== */ 00675 safe = ISA_Property_Create ("safe"); 00676 Instruction_Group (safe, 00677 // TODO 00678 TOP_UNDEFINED); 00679 00680 /* ===== Unsafe always ====== */ 00681 unsafe = ISA_Property_Create ("unsafe"); 00682 Instruction_Group (unsafe, 00683 // TODO 00684 TOP_fwd_bar, TOP_bwd_bar, 00685 TOP_UNDEFINED); 00686 00687 /* ===== Floating point trap potential ====== */ 00688 ftrap = ISA_Property_Create ("ftrap"); 00689 Instruction_Group (ftrap, 00690 // TODO 00691 TOP_UNDEFINED); 00692 00693 /* ===== Floating point divides ====== */ 00694 fdiv = ISA_Property_Create ("fdiv"); 00695 Instruction_Group (fdiv, 00696 TOP_frcpa, 00697 TOP_frsqrta, 00698 TOP_fprcpa, 00699 TOP_fprsqrta, 00700 TOP_UNDEFINED); 00701 00702 /* ===== Square roots ====== */ 00703 sqrt = ISA_Property_Create ("sqrt"); 00704 Instruction_Group (sqrt, 00705 TOP_frsqrta, 00706 TOP_fprsqrta, 00707 TOP_UNDEFINED); 00708 00709 /* ===== Memory trap potential ====== */ 00710 memtrap = ISA_Property_Create ("memtrap"); 00711 Instruction_Group (memtrap, 00712 TOP_ld1_r, 00713 TOP_ld1_i, 00714 TOP_ld2_r, 00715 TOP_ld2_i, 00716 TOP_ld4_r, 00717 TOP_ld4_i, 00718 TOP_ld8_r, 00719 TOP_ld8_i, 00720 TOP_ld8_r_fill, 00721 TOP_ld8_i_fill, 00722 TOP_ldfs_r, 00723 TOP_ldfs_i, 00724 TOP_ldfd_r, 00725 TOP_ldfd_i, 00726 TOP_ldfe_r, 00727 TOP_ldfe_i, 00728 TOP_ldf8_r, 00729 TOP_ldf8_i, 00730 TOP_ldf_r_fill, 00731 TOP_ldf_i_fill, 00732 TOP_ldfps, 00733 TOP_ldfps_i, 00734 TOP_ldfpd, 00735 TOP_ldfpd_i, 00736 TOP_ldfp8, 00737 TOP_ldfp8_i, 00738 TOP_ld1, 00739 TOP_ld2, 00740 TOP_ld4, 00741 TOP_ld8, 00742 TOP_ld8_fill, 00743 TOP_ldfs, 00744 TOP_ldfd, 00745 TOP_ldfe, 00746 TOP_ldf8, 00747 TOP_ldf_fill, 00748 TOP_st1, 00749 TOP_st1_i, 00750 TOP_st2, 00751 TOP_st2_i, 00752 TOP_st4, 00753 TOP_st4_i, 00754 TOP_st8, 00755 TOP_st8_i, 00756 TOP_st8_spill, 00757 TOP_st8_i_spill, 00758 TOP_stfs, 00759 TOP_stfs_i, 00760 TOP_stfd, 00761 TOP_stfd_i, 00762 TOP_stfe, 00763 TOP_stfe_i, 00764 TOP_stf8, 00765 TOP_stf8_i, 00766 TOP_stf_spill, 00767 TOP_stf_i_spill, 00768 TOP_UNDEFINED); 00769 00770 /* ===== Instruction must be first in an instruction group ====== */ 00771 f_group = ISA_Property_Create ("f_group"); 00772 Instruction_Group (f_group, 00773 TOP_flushrs, 00774 TOP_loadrs, 00775 TOP_alloc, 00776 TOP_alloc_3, 00777 TOP_UNDEFINED); 00778 00779 /* ===== Instruction must be last in an instruction group ====== */ 00780 l_group = ISA_Property_Create ("l_group"); 00781 Instruction_Group (l_group, 00782 TOP_cover, 00783 TOP_clrrrb, 00784 TOP_clrrrb_pr, 00785 TOP_rfi, 00786 TOP_bsw_0, 00787 TOP_bsw_1, 00788 TOP_UNDEFINED); 00789 00790 /* ===== Instruction is a privileged instruction ====== */ 00791 privileged = ISA_Property_Create ("privileged"); 00792 Instruction_Group (privileged, 00793 TOP_ptc_e, 00794 TOP_mov, 00795 TOP_itc_d, 00796 TOP_itc_i, 00797 TOP_itr_d, 00798 TOP_itr_i, 00799 TOP_ssm, 00800 TOP_rsm, 00801 TOP_ptc_l, 00802 TOP_ptc_g, 00803 TOP_ptc_ga, 00804 TOP_ptr_d, 00805 TOP_ptr_i, 00806 TOP_rfi, 00807 TOP_tpa, 00808 TOP_tak, 00809 TOP_bsw_0, 00810 TOP_bsw_1, 00811 TOP_UNDEFINED); 00812 00813 /* ==================================================================== 00814 * Other operator descriptors (mostly for global optimization). 00815 * TODO: These descriptors should actually be determined from mips_operands. 00816 * ==================================================================== 00817 */ 00818 00819 /* ===== Operator defines FP CC reg ====== */ 00820 defs_fcc = ISA_Property_Create ("defs_fcc"); 00821 Instruction_Group (defs_fcc, 00822 TOP_UNDEFINED); 00823 00824 /* ===== Operator defines FCR reg ====== */ 00825 defs_fcr = ISA_Property_Create ("defs_fcr"); 00826 Instruction_Group (defs_fcr, 00827 // TODO 00828 TOP_UNDEFINED); 00829 00830 /* ===== Operator uses FCR reg ====== */ 00831 refs_fcr = ISA_Property_Create ("refs_fcr"); 00832 Instruction_Group (refs_fcr, 00833 // TODO 00834 TOP_UNDEFINED); 00835 00836 /* ===== Operator defs int val in FP reg ====== */ 00837 defs_fpu_int = ISA_Property_Create ("defs_fpu_int"); 00838 Instruction_Group (defs_fpu_int, 00839 TOP_UNDEFINED); 00840 00841 /* ===== Operator defines FP reg ====== */ 00842 defs_fp = ISA_Property_Create ("defs_fp"); 00843 Instruction_Group (defs_fp, 00844 // TODO 00845 TOP_UNDEFINED); 00846 00847 /* ===== Logical OR operator ====== */ 00848 ior = ISA_Property_Create ("ior"); 00849 Instruction_Group (ior, 00850 TOP_for, 00851 TOP_or, 00852 TOP_or_i, 00853 TOP_UNDEFINED); 00854 00855 /* ===== Jump operator ====== */ 00856 jump = ISA_Property_Create ("jump"); 00857 Instruction_Group (jump, 00858 TOP_UNDEFINED); 00859 00860 /* ===== Indirect jump operator ====== */ 00861 ijump = ISA_Property_Create ("ijump"); 00862 Instruction_Group (ijump, 00863 TOP_br_r_cond, 00864 TOP_br_r_call, 00865 TOP_br_ia, 00866 TOP_br_r, 00867 TOP_br_ret, 00868 TOP_UNDEFINED); 00869 00870 /* ===== Logical exclusive OR operator ====== */ 00871 ixor = ISA_Property_Create ("ixor"); 00872 Instruction_Group (ixor, 00873 TOP_fxor, 00874 TOP_xor, 00875 TOP_xor_i, 00876 TOP_UNDEFINED); 00877 00878 /* ===== Logical AND operator ====== */ 00879 iand = ISA_Property_Create ("iand"); 00880 Instruction_Group (iand, 00881 TOP_and, 00882 TOP_and_i, 00883 TOP_fand, 00884 TOP_UNDEFINED); 00885 00886 /* ===== Integer compare operator ====== */ 00887 icmp = ISA_Property_Create ("icmp"); 00888 Instruction_Group (icmp, 00889 TOP_cmp_eq, 00890 TOP_cmp_eq_unc, 00891 TOP_cmp_eq_and, 00892 TOP_cmp_eq_or, 00893 TOP_cmp_eq_or_andcm, 00894 TOP_cmp_ne_and, 00895 TOP_cmp_ne_or, 00896 TOP_cmp_ne_or_andcm, 00897 TOP_cmp_lt, 00898 TOP_cmp_lt_unc, 00899 TOP_cmp_ltu, 00900 TOP_cmp_ltu_unc, 00901 TOP_cmp_z1_lt_and, 00902 TOP_cmp_z1_lt_or, 00903 TOP_cmp_z1_lt_or_andcm, 00904 TOP_cmp_z1_le_and, 00905 TOP_cmp_z1_le_or, 00906 TOP_cmp_z1_le_or_andcm, 00907 TOP_cmp_z1_gt_and, 00908 TOP_cmp_z1_gt_or, 00909 TOP_cmp_z1_gt_or_andcm, 00910 TOP_cmp_z1_ge_and, 00911 TOP_cmp_z1_ge_or, 00912 TOP_cmp_z1_ge_or_andcm, 00913 TOP_cmp_i_eq, 00914 TOP_cmp_i_eq_unc, 00915 TOP_cmp_i_eq_and, 00916 TOP_cmp_i_eq_or, 00917 TOP_cmp_i_eq_or_andcm, 00918 TOP_cmp_i_ne_and, 00919 TOP_cmp_i_ne_or, 00920 TOP_cmp_i_ne_or_andcm, 00921 TOP_cmp_i_lt, 00922 TOP_cmp_i_lt_unc, 00923 TOP_cmp_i_ltu, 00924 TOP_cmp_i_ltu_unc, 00925 TOP_cmp4_eq, 00926 TOP_cmp4_eq_unc, 00927 TOP_cmp4_eq_and, 00928 TOP_cmp4_eq_or, 00929 TOP_cmp4_eq_or_andcm, 00930 TOP_cmp4_ne_and, 00931 TOP_cmp4_ne_or, 00932 TOP_cmp4_ne_or_andcm, 00933 TOP_cmp4_lt, 00934 TOP_cmp4_lt_unc, 00935 TOP_cmp4_ltu, 00936 TOP_cmp4_ltu_unc, 00937 TOP_cmp4_z1_lt_and, 00938 TOP_cmp4_z1_lt_or, 00939 TOP_cmp4_z1_lt_or_andcm, 00940 TOP_cmp4_z1_le_and, 00941 TOP_cmp4_z1_le_or, 00942 TOP_cmp4_z1_le_or_andcm, 00943 TOP_cmp4_z1_gt_and, 00944 TOP_cmp4_z1_gt_or, 00945 TOP_cmp4_z1_gt_or_andcm, 00946 TOP_cmp4_z1_ge_and, 00947 TOP_cmp4_z1_ge_or, 00948 TOP_cmp4_z1_ge_or_andcm, 00949 TOP_cmp4_i_eq, 00950 TOP_cmp4_i_eq_unc, 00951 TOP_cmp4_i_eq_and, 00952 TOP_cmp4_i_eq_or, 00953 TOP_cmp4_i_eq_or_andcm, 00954 TOP_cmp4_i_ne_and, 00955 TOP_cmp4_i_ne_or, 00956 TOP_cmp4_i_ne_or_andcm, 00957 TOP_cmp4_i_lt, 00958 TOP_cmp4_i_lt_unc, 00959 TOP_cmp4_i_ltu, 00960 TOP_cmp4_i_ltu_unc, 00961 TOP_cmp_eq_orcm, 00962 TOP_cmp_eq_andcm, 00963 TOP_cmp_eq_and_orcm, 00964 TOP_cmp_ne, 00965 TOP_cmp_ne_unc, 00966 TOP_cmp_ne_orcm, 00967 TOP_cmp_ne_andcm, 00968 TOP_cmp_ne_and_orcm, 00969 TOP_cmp_le, 00970 TOP_cmp_le_unc, 00971 TOP_cmp_gt, 00972 TOP_cmp_gt_unc, 00973 TOP_cmp_ge, 00974 TOP_cmp_ge_unc, 00975 TOP_cmp_leu, 00976 TOP_cmp_leu_unc, 00977 TOP_cmp_gtu, 00978 TOP_cmp_gtu_unc, 00979 TOP_cmp_geu, 00980 TOP_cmp_geu_unc, 00981 TOP_cmp_z1_lt_orcm, 00982 TOP_cmp_z1_lt_andcm, 00983 TOP_cmp_z1_lt_and_orcm, 00984 TOP_cmp_z1_le_orcm, 00985 TOP_cmp_z1_le_andcm, 00986 TOP_cmp_z1_le_and_orcm, 00987 TOP_cmp_z1_gt_orcm, 00988 TOP_cmp_z1_gt_andcm, 00989 TOP_cmp_z1_gt_and_orcm, 00990 TOP_cmp_z1_ge_orcm, 00991 TOP_cmp_z1_ge_andcm, 00992 TOP_cmp_z1_ge_and_orcm, 00993 TOP_cmp_z2_lt_orcm, 00994 TOP_cmp_z2_lt_andcm, 00995 TOP_cmp_z2_lt_and_orcm, 00996 TOP_cmp_z2_le_orcm, 00997 TOP_cmp_z2_le_andcm, 00998 TOP_cmp_z2_le_and_orcm, 00999 TOP_cmp_z2_gt_orcm, 01000 TOP_cmp_z2_gt_andcm, 01001 TOP_cmp_z2_gt_and_orcm, 01002 TOP_cmp_z2_ge_orcm, 01003 TOP_cmp_z2_ge_andcm, 01004 TOP_cmp_z2_ge_and_orcm, 01005 TOP_cmp_z2_lt_and, 01006 TOP_cmp_z2_lt_or, 01007 TOP_cmp_z2_lt_or_andcm, 01008 TOP_cmp_z2_le_and, 01009 TOP_cmp_z2_le_or, 01010 TOP_cmp_z2_le_or_andcm, 01011 TOP_cmp_z2_gt_and, 01012 TOP_cmp_z2_gt_or, 01013 TOP_cmp_z2_gt_or_andcm, 01014 TOP_cmp_z2_ge_and, 01015 TOP_cmp_z2_ge_or, 01016 TOP_cmp_z2_ge_or_andcm, 01017 TOP_cmp_i_eq_orcm, 01018 TOP_cmp_i_eq_andcm, 01019 TOP_cmp_i_eq_and_orcm, 01020 TOP_cmp_i_ne, 01021 TOP_cmp_i_ne_unc, 01022 TOP_cmp_i_ne_orcm, 01023 TOP_cmp_i_ne_andcm, 01024 TOP_cmp_i_ne_and_orcm, 01025 TOP_cmp_i_le, 01026 TOP_cmp_i_le_unc, 01027 TOP_cmp_i_gt, 01028 TOP_cmp_i_gt_unc, 01029 TOP_cmp_i_ge, 01030 TOP_cmp_i_ge_unc, 01031 TOP_cmp_i_leu, 01032 TOP_cmp_i_leu_unc, 01033 TOP_cmp_i_gtu, 01034 TOP_cmp_i_gtu_unc, 01035 TOP_cmp_i_geu, 01036 TOP_cmp_i_geu_unc, 01037 TOP_cmp4_eq_orcm, 01038 TOP_cmp4_eq_andcm, 01039 TOP_cmp4_eq_and_orcm, 01040 TOP_cmp4_ne, 01041 TOP_cmp4_ne_unc, 01042 TOP_cmp4_ne_orcm, 01043 TOP_cmp4_ne_andcm, 01044 TOP_cmp4_ne_and_orcm, 01045 TOP_cmp4_le, 01046 TOP_cmp4_le_unc, 01047 TOP_cmp4_gt, 01048 TOP_cmp4_gt_unc, 01049 TOP_cmp4_ge, 01050 TOP_cmp4_ge_unc, 01051 TOP_cmp4_leu, 01052 TOP_cmp4_leu_unc, 01053 TOP_cmp4_gtu, 01054 TOP_cmp4_gtu_unc, 01055 TOP_cmp4_geu, 01056 TOP_cmp4_geu_unc, 01057 TOP_cmp4_z1_lt_orcm, 01058 TOP_cmp4_z1_lt_andcm, 01059 TOP_cmp4_z1_lt_and_orcm, 01060 TOP_cmp4_z1_le_orcm, 01061 TOP_cmp4_z1_le_andcm, 01062 TOP_cmp4_z1_le_and_orcm, 01063 TOP_cmp4_z1_gt_orcm, 01064 TOP_cmp4_z1_gt_andcm, 01065 TOP_cmp4_z1_gt_and_orcm, 01066 TOP_cmp4_z1_ge_orcm, 01067 TOP_cmp4_z1_ge_andcm, 01068 TOP_cmp4_z1_ge_and_orcm, 01069 TOP_cmp4_z2_lt_orcm, 01070 TOP_cmp4_z2_lt_andcm, 01071 TOP_cmp4_z2_lt_and_orcm, 01072 TOP_cmp4_z2_le_orcm, 01073 TOP_cmp4_z2_le_andcm, 01074 TOP_cmp4_z2_le_and_orcm, 01075 TOP_cmp4_z2_gt_orcm, 01076 TOP_cmp4_z2_gt_andcm, 01077 TOP_cmp4_z2_gt_and_orcm, 01078 TOP_cmp4_z2_ge_orcm, 01079 TOP_cmp4_z2_ge_andcm, 01080 TOP_cmp4_z2_ge_and_orcm, 01081 TOP_cmp4_z2_lt_and, 01082 TOP_cmp4_z2_lt_or, 01083 TOP_cmp4_z2_lt_or_andcm, 01084 TOP_cmp4_z2_le_and, 01085 TOP_cmp4_z2_le_or, 01086 TOP_cmp4_z2_le_or_andcm, 01087 TOP_cmp4_z2_gt_and, 01088 TOP_cmp4_z2_gt_or, 01089 TOP_cmp4_z2_gt_or_andcm, 01090 TOP_cmp4_z2_ge_and, 01091 TOP_cmp4_z2_ge_or, 01092 TOP_cmp4_z2_ge_or_andcm, 01093 TOP_cmp4_i_eq_orcm, 01094 TOP_cmp4_i_eq_andcm, 01095 TOP_cmp4_i_eq_and_orcm, 01096 TOP_cmp4_i_ne, 01097 TOP_cmp4_i_ne_unc, 01098 TOP_cmp4_i_ne_orcm, 01099 TOP_cmp4_i_ne_andcm, 01100 TOP_cmp4_i_ne_and_orcm, 01101 TOP_cmp4_i_le, 01102 TOP_cmp4_i_le_unc, 01103 TOP_cmp4_i_gt, 01104 TOP_cmp4_i_gt_unc, 01105 TOP_cmp4_i_ge, 01106 TOP_cmp4_i_ge_unc, 01107 TOP_cmp4_i_leu, 01108 TOP_cmp4_i_leu_unc, 01109 TOP_cmp4_i_gtu, 01110 TOP_cmp4_i_gtu_unc, 01111 TOP_cmp4_i_geu, 01112 TOP_cmp4_i_geu_unc, 01113 TOP_cmp_lt_and, 01114 TOP_cmp_lt_or, 01115 TOP_cmp_lt_or_andcm, 01116 TOP_cmp_le_and, 01117 TOP_cmp_le_or, 01118 TOP_cmp_le_or_andcm, 01119 TOP_cmp_gt_and, 01120 TOP_cmp_gt_or, 01121 TOP_cmp_gt_or_andcm, 01122 TOP_cmp_ge_and, 01123 TOP_cmp_ge_or, 01124 TOP_cmp_ge_or_andcm, 01125 TOP_cmp_lt_orcm, 01126 TOP_cmp_lt_andcm, 01127 TOP_cmp_lt_and_orcm, 01128 TOP_cmp_le_orcm, 01129 TOP_cmp_le_andcm, 01130 TOP_cmp_le_and_orcm, 01131 TOP_cmp_gt_orcm, 01132 TOP_cmp_gt_andcm, 01133 TOP_cmp_gt_and_orcm, 01134 TOP_cmp_ge_orcm, 01135 TOP_cmp_ge_andcm, 01136 TOP_cmp_ge_and_orcm, 01137 TOP_cmp4_lt_and, 01138 TOP_cmp4_lt_or, 01139 TOP_cmp4_lt_or_andcm, 01140 TOP_cmp4_le_and, 01141 TOP_cmp4_le_or, 01142 TOP_cmp4_le_or_andcm, 01143 TOP_cmp4_gt_and, 01144 TOP_cmp4_gt_or, 01145 TOP_cmp4_gt_or_andcm, 01146 TOP_cmp4_ge_and, 01147 TOP_cmp4_ge_or, 01148 TOP_cmp4_ge_or_andcm, 01149 TOP_cmp4_lt_orcm, 01150 TOP_cmp4_lt_andcm, 01151 TOP_cmp4_lt_and_orcm, 01152 TOP_cmp4_le_orcm, 01153 TOP_cmp4_le_andcm, 01154 TOP_cmp4_le_and_orcm, 01155 TOP_cmp4_gt_orcm, 01156 TOP_cmp4_gt_andcm, 01157 TOP_cmp4_gt_and_orcm, 01158 TOP_cmp4_ge_orcm, 01159 TOP_cmp4_ge_andcm, 01160 TOP_cmp4_ge_and_orcm, 01161 TOP_UNDEFINED); 01162 01163 /* ===== Simulated instructions ====== */ 01164 simulated = ISA_Property_Create ("simulated"); 01165 Instruction_Group (simulated, 01166 TOP_break, 01167 TOP_chk_s, 01168 TOP_cmp_lt_and, 01169 TOP_cmp_lt_or, 01170 TOP_cmp_lt_or_andcm, 01171 TOP_cmp_le_and, 01172 TOP_cmp_le_or, 01173 TOP_cmp_le_or_andcm, 01174 TOP_cmp_gt_and, 01175 TOP_cmp_gt_or, 01176 TOP_cmp_gt_or_andcm, 01177 TOP_cmp_ge_and, 01178 TOP_cmp_ge_or, 01179 TOP_cmp_ge_or_andcm, 01180 TOP_cmp_lt_orcm, 01181 TOP_cmp_lt_andcm, 01182 TOP_cmp_lt_and_orcm, 01183 TOP_cmp_le_orcm, 01184 TOP_cmp_le_andcm, 01185 TOP_cmp_le_and_orcm, 01186 TOP_cmp_gt_orcm, 01187 TOP_cmp_gt_andcm, 01188 TOP_cmp_gt_and_orcm, 01189 TOP_cmp_ge_orcm, 01190 TOP_cmp_ge_andcm, 01191 TOP_cmp_ge_and_orcm, 01192 TOP_cmp4_lt_and, 01193 TOP_cmp4_lt_or, 01194 TOP_cmp4_lt_or_andcm, 01195 TOP_cmp4_le_and, 01196 TOP_cmp4_le_or, 01197 TOP_cmp4_le_or_andcm, 01198 TOP_cmp4_gt_and, 01199 TOP_cmp4_gt_or, 01200 TOP_cmp4_gt_or_andcm, 01201 TOP_cmp4_ge_and, 01202 TOP_cmp4_ge_or, 01203 TOP_cmp4_ge_or_andcm, 01204 TOP_cmp4_lt_orcm, 01205 TOP_cmp4_lt_andcm, 01206 TOP_cmp4_lt_and_orcm, 01207 TOP_cmp4_le_orcm, 01208 TOP_cmp4_le_andcm, 01209 TOP_cmp4_le_and_orcm, 01210 TOP_cmp4_gt_orcm, 01211 TOP_cmp4_gt_andcm, 01212 TOP_cmp4_gt_and_orcm, 01213 TOP_cmp4_ge_orcm, 01214 TOP_cmp4_ge_andcm, 01215 TOP_cmp4_ge_and_orcm, 01216 TOP_mov_f_ar, 01217 TOP_mov_t_ar_r, 01218 TOP_mov_t_ar_i, 01219 TOP_nop, 01220 TOP_intrncall, 01221 TOP_asm, 01222 TOP_spadjust, 01223 TOP_copy_br, 01224 TOP_UNDEFINED); 01225 01226 /* ===== Predicated instructions ====== */ 01227 predicated = ISA_Property_Create ("predicated"); 01228 Instruction_Group (predicated, 01229 TOP_add, 01230 TOP_add_1, 01231 TOP_adds, 01232 TOP_addl, 01233 TOP_addp4, 01234 TOP_addp4_i, 01235 TOP_and, 01236 TOP_and_i, 01237 TOP_andcm, 01238 TOP_andcm_i, 01239 TOP_br_cond, 01240 TOP_br_r_cond, 01241 TOP_br_call, 01242 TOP_br_r_call, 01243 TOP_br_ret, 01244 TOP_br_wtop, 01245 TOP_br_wexit, 01246 TOP_break_i, 01247 TOP_break_b, 01248 TOP_break_m, 01249 TOP_break_f, 01250 TOP_break_x, 01251 TOP_brl_cond, 01252 TOP_brl_call, 01253 TOP_chk_s_i, 01254 TOP_chk_s_m, 01255 TOP_chk_f_s, 01256 TOP_chk_a, 01257 TOP_chk_f_a, 01258 TOP_cmp_eq, 01259 TOP_cmp_eq_unc, 01260 TOP_cmp_eq_and, 01261 TOP_cmp_eq_or, 01262 TOP_cmp_eq_or_andcm, 01263 TOP_cmp_ne_and, 01264 TOP_cmp_ne_or, 01265 TOP_cmp_ne_or_andcm, 01266 TOP_cmp_lt, 01267 TOP_cmp_lt_unc, 01268 TOP_cmp_ltu, 01269 TOP_cmp_ltu_unc, 01270 TOP_cmp_z1_lt_and, 01271 TOP_cmp_z1_lt_or, 01272 TOP_cmp_z1_lt_or_andcm, 01273 TOP_cmp_z1_le_and, 01274 TOP_cmp_z1_le_or, 01275 TOP_cmp_z1_le_or_andcm, 01276 TOP_cmp_z1_gt_and, 01277 TOP_cmp_z1_gt_or, 01278 TOP_cmp_z1_gt_or_andcm, 01279 TOP_cmp_z1_ge_and, 01280 TOP_cmp_z1_ge_or, 01281 TOP_cmp_z1_ge_or_andcm, 01282 TOP_cmp_i_eq, 01283 TOP_cmp_i_eq_unc, 01284 TOP_cmp_i_eq_and, 01285 TOP_cmp_i_eq_or, 01286 TOP_cmp_i_eq_or_andcm, 01287 TOP_cmp_i_ne_and, 01288 TOP_cmp_i_ne_or, 01289 TOP_cmp_i_ne_or_andcm, 01290 TOP_cmp_i_lt, 01291 TOP_cmp_i_lt_unc, 01292 TOP_cmp_i_ltu, 01293 TOP_cmp_i_ltu_unc, 01294 TOP_cmp4_eq, 01295 TOP_cmp4_eq_unc, 01296 TOP_cmp4_eq_and, 01297 TOP_cmp4_eq_or, 01298 TOP_cmp4_eq_or_andcm, 01299 TOP_cmp4_ne_and, 01300 TOP_cmp4_ne_or, 01301 TOP_cmp4_ne_or_andcm, 01302 TOP_cmp4_lt, 01303 TOP_cmp4_lt_unc, 01304 TOP_cmp4_ltu, 01305 TOP_cmp4_ltu_unc, 01306 TOP_cmp4_z1_lt_and, 01307 TOP_cmp4_z1_lt_or, 01308 TOP_cmp4_z1_lt_or_andcm, 01309 TOP_cmp4_z1_le_and, 01310 TOP_cmp4_z1_le_or, 01311 TOP_cmp4_z1_le_or_andcm, 01312 TOP_cmp4_z1_gt_and, 01313 TOP_cmp4_z1_gt_or, 01314 TOP_cmp4_z1_gt_or_andcm, 01315 TOP_cmp4_z1_ge_and, 01316 TOP_cmp4_z1_ge_or, 01317 TOP_cmp4_z1_ge_or_andcm, 01318 TOP_cmp4_i_eq, 01319 TOP_cmp4_i_eq_unc, 01320 TOP_cmp4_i_eq_and, 01321 TOP_cmp4_i_eq_or, 01322 TOP_cmp4_i_eq_or_andcm, 01323 TOP_cmp4_i_ne_and, 01324 TOP_cmp4_i_ne_or, 01325 TOP_cmp4_i_ne_or_andcm, 01326 TOP_cmp4_i_lt, 01327 TOP_cmp4_i_lt_unc, 01328 TOP_cmp4_i_ltu, 01329 TOP_cmp4_i_ltu_unc, 01330 TOP_cmpxchg1, 01331 TOP_cmpxchg2, 01332 TOP_cmpxchg4, 01333 TOP_cmpxchg8, 01334 TOP_czx1_l, 01335 TOP_czx1_r, 01336 TOP_czx2_l, 01337 TOP_czx2_r, 01338 TOP_dep, 01339 TOP_dep_z, 01340 TOP_dep_i, 01341 TOP_dep_i_z, 01342 TOP_extr, 01343 TOP_extr_u, 01344 TOP_famax, 01345 TOP_famin, 01346 TOP_fand, 01347 TOP_fandcm, 01348 TOP_fc, 01349 TOP_fchkf, 01350 TOP_fclass_m, 01351 TOP_fclass_m_unc, 01352 TOP_fclrf, 01353 TOP_fcmp_eq, 01354 TOP_fcmp_eq_unc, 01355 TOP_fcmp_lt, 01356 TOP_fcmp_lt_unc, 01357 TOP_fcmp_le, 01358 TOP_fcmp_le_unc, 01359 TOP_fcmp_unord, 01360 TOP_fcmp_unord_unc, 01361 TOP_fcvt_fx, 01362 TOP_fcvt_fx_trunc, 01363 TOP_fcvt_fxu, 01364 TOP_fcvt_fxu_trunc, 01365 TOP_fcvt_xf, 01366 TOP_fetchadd4, 01367 TOP_fetchadd8, 01368 TOP_fma, 01369 TOP_fma_s, 01370 TOP_fma_d, 01371 TOP_fmax, 01372 TOP_fmerge_ns, 01373 TOP_fmerge_s, 01374 TOP_fmerge_se, 01375 TOP_fmin, 01376 TOP_fmix_l, 01377 TOP_fmix_r, 01378 TOP_fmix_lr, 01379 TOP_fms, 01380 TOP_fms_s, 01381 TOP_fms_d, 01382 TOP_fnma, 01383 TOP_fnma_s, 01384 TOP_fnma_d, 01385 TOP_for, 01386 TOP_fpack, 01387 TOP_fpamax, 01388 TOP_fpamin, 01389 TOP_fpcmp_eq, 01390 TOP_fpcmp_lt, 01391 TOP_fpcmp_le, 01392 TOP_fpcmp_unord, 01393 TOP_fpcmp_neq, 01394 TOP_fpcmp_nlt, 01395 TOP_fpcmp_nle, 01396 TOP_fpcmp_ord, 01397 TOP_fpcvt_fx, 01398 TOP_fpcvt_fx_trunc, 01399 TOP_fpcvt_fxu, 01400 TOP_fpcvt_fxu_trunc, 01401 TOP_fpma, 01402 TOP_fpmax, 01403 TOP_fpmerge_ns, 01404 TOP_fpmerge_s, 01405 TOP_fpmerge_se, 01406 TOP_fpmin, 01407 TOP_fpms, 01408 TOP_fpnma, 01409 TOP_fprcpa, 01410 TOP_fprsqrta, 01411 TOP_frcpa, 01412 TOP_frsqrta, 01413 TOP_fselect, 01414 TOP_fsetc, 01415 TOP_fswap, 01416 TOP_fswap_nl, 01417 TOP_fswap_nr, 01418 TOP_fsxt_l, 01419 TOP_fsxt_r, 01420 TOP_fwb, 01421 TOP_fxor, 01422 TOP_getf_s, 01423 TOP_getf_d, 01424 TOP_getf_exp, 01425 TOP_getf_sig, 01426 TOP_invala, 01427 TOP_invala_e, 01428 TOP_invala_f_e, 01429 TOP_itc_i, 01430 TOP_itc_d, 01431 TOP_itr_i, 01432 TOP_itr_d, 01433 TOP_ld1, 01434 TOP_ld1_r, 01435 TOP_ld1_i, 01436 TOP_ld2, 01437 TOP_ld2_r, 01438 TOP_ld2_i, 01439 TOP_ld4, 01440 TOP_ld4_r, 01441 TOP_ld4_i, 01442 TOP_ld8, 01443 TOP_ld8_r, 01444 TOP_ld8_i, 01445 TOP_ld8_fill, 01446 TOP_ld8_r_fill, 01447 TOP_ld8_i_fill, 01448 TOP_ldfs, 01449 TOP_ldfs_r, 01450 TOP_ldfs_i, 01451 TOP_ldfd, 01452 TOP_ldfd_r, 01453 TOP_ldfd_i, 01454 TOP_ldfe, 01455 TOP_ldfe_r, 01456 TOP_ldfe_i, 01457 TOP_ldf8, 01458 TOP_ldf8_r, 01459 TOP_ldf8_i, 01460 TOP_ldf_fill, 01461 TOP_ldf_r_fill, 01462 TOP_ldf_i_fill, 01463 TOP_ldfps, 01464 TOP_ldfps_i, 01465 TOP_ldfpd, 01466 TOP_ldfpd_i, 01467 TOP_ldfp8, 01468 TOP_ldfp8_i, 01469 TOP_lfetch, 01470 TOP_lfetch_excl, 01471 TOP_lfetch_fault, 01472 TOP_lfetch_fault_excl, 01473 TOP_lfetch_r, 01474 TOP_lfetch_r_excl, 01475 TOP_lfetch_r_fault, 01476 TOP_lfetch_r_fault_excl, 01477 TOP_lfetch_i, 01478 TOP_lfetch_i_excl, 01479 TOP_lfetch_i_fault, 01480 TOP_lfetch_i_fault_excl, 01481 TOP_mf, 01482 TOP_mf_a, 01483 TOP_mix1_l, 01484 TOP_mix1_r, 01485 TOP_mix2_l, 01486 TOP_mix2_r, 01487 TOP_mix4_l, 01488 TOP_mix4_r, 01489 TOP_mov_f_ar_i, 01490 TOP_mov_t_ar_r_i, 01491 TOP_mov_t_ar_i_i, 01492 TOP_mov_f_ar_m, 01493 TOP_mov_t_ar_r_m, 01494 TOP_mov_t_ar_i_m, 01495 TOP_mov_f_br, 01496 TOP_mov_t_br_i, 01497 TOP_mov_t_br_ret, 01498 TOP_mov_t_cr, 01499 TOP_mov_f_cr, 01500 TOP_mov_f_cpuid, 01501 TOP_mov_t_dbr, 01502 TOP_mov_f_dbr, 01503 TOP_mov_t_ibr, 01504 TOP_mov_f_ibr, 01505 TOP_mov_t_pkr, 01506 TOP_mov_f_pkr, 01507 TOP_mov_t_pmc, 01508 TOP_mov_f_pmc, 01509 TOP_mov_t_pmd, 01510 TOP_mov_f_pmd, 01511 TOP_mov_t_msr, 01512 TOP_mov_f_msr, 01513 TOP_mov_t_rr, 01514 TOP_mov_f_rr, 01515 TOP_mov_f_ip, 01516 TOP_mov_f_pr, 01517 TOP_mov_t_pr, 01518 TOP_mov_t_pr_i, 01519 TOP_mov_t_psr, 01520 TOP_mov_f_psr, 01521 TOP_mov_t_psrum, 01522 TOP_mov_f_psrum, 01523 TOP_movl, 01524 TOP_mux1, 01525 TOP_mux2, 01526 TOP_nop_i, 01527 TOP_nop_b, 01528 TOP_nop_m, 01529 TOP_nop_f, 01530 TOP_nop_x, 01531 TOP_or, 01532 TOP_or_i, 01533 TOP_pack2_sss, 01534 TOP_pack2_uss, 01535 TOP_pack4_sss, 01536 TOP_padd1, 01537 TOP_padd2, 01538 TOP_padd4, 01539 TOP_padd1_sss, 01540 TOP_padd1_uus, 01541 TOP_padd1_uuu, 01542 TOP_padd2_sss, 01543 TOP_padd2_uus, 01544 TOP_padd2_uuu, 01545 TOP_pavg1, 01546 TOP_pavg2, 01547 TOP_pavg1_raz, 01548 TOP_pavg2_raz, 01549 TOP_pavgsub1, 01550 TOP_pavgsub2, 01551 TOP_pcmp1_eq, 01552 TOP_pcmp1_gt, 01553 TOP_pcmp2_eq, 01554 TOP_pcmp2_gt, 01555 TOP_pcmp4_eq, 01556 TOP_pcmp4_gt, 01557 TOP_pmax1_u, 01558 TOP_pmax2, 01559 TOP_pmin1_u, 01560 TOP_pmin2, 01561 TOP_pmpy2_r, 01562 TOP_pmpy2_l, 01563 TOP_pmpyshr2, 01564 TOP_pmpyshr2_u, 01565 TOP_popcnt, 01566 TOP_probe_r, 01567 TOP_probe_w, 01568 TOP_probe_i_r, 01569 TOP_probe_i_w, 01570 TOP_probe_r_fault, 01571 TOP_probe_w_fault, 01572 TOP_probe_rw_fault, 01573 TOP_psad1, 01574 TOP_pshl2, 01575 TOP_pshl4, 01576 TOP_pshl2_i, 01577 TOP_pshl4_i, 01578 TOP_pshladd2, 01579 TOP_pshr2, 01580 TOP_pshr2_u, 01581 TOP_pshr4, 01582 TOP_pshr4_u, 01583 TOP_pshr2_i, 01584 TOP_pshr2_i_u, 01585 TOP_pshr4_i, 01586 TOP_pshr4_i_u, 01587 TOP_pshradd2, 01588 TOP_psub1, 01589 TOP_psub2, 01590 TOP_psub4, 01591 TOP_psub1_sss, 01592 TOP_psub1_uus, 01593 TOP_psub1_uuu, 01594 TOP_psub2_sss, 01595 TOP_psub2_uus, 01596 TOP_psub2_uuu, 01597 TOP_ptc_e, 01598 TOP_ptc_g, 01599 TOP_ptc_ga, 01600 TOP_ptc_l, 01601 TOP_ptr_d, 01602 TOP_ptr_i, 01603 TOP_rsm, 01604 TOP_rum, 01605 TOP_setf_s, 01606 TOP_setf_d, 01607 TOP_setf_exp, 01608 TOP_setf_sig, 01609 TOP_shl, 01610 TOP_shladd, 01611 TOP_shladdp4, 01612 TOP_shr, 01613 TOP_shr_u, 01614 TOP_shrp, 01615 TOP_spadjust, 01616 TOP_srlz_i, 01617 TOP_srlz_d, 01618 TOP_ssm, 01619 TOP_st1, 01620 TOP_st1_i, 01621 TOP_st2, 01622 TOP_st2_i, 01623 TOP_st4, 01624 TOP_st4_i, 01625 TOP_st8, 01626 TOP_st8_i, 01627 TOP_st8_spill, 01628 TOP_st8_i_spill, 01629 TOP_stfs, 01630 TOP_stfs_i, 01631 TOP_stfd, 01632 TOP_stfd_i, 01633 TOP_stfe, 01634 TOP_stfe_i, 01635 TOP_stf8, 01636 TOP_stf8_i, 01637 TOP_stf_spill, 01638 TOP_stf_i_spill, 01639 TOP_sub, 01640 TOP_sub_1, 01641 TOP_sub_i, 01642 TOP_sum, 01643 TOP_sxt1, 01644 TOP_sxt2, 01645 TOP_sxt4, 01646 TOP_sync_i, 01647 TOP_tak, 01648 TOP_tbit_z, 01649 TOP_tbit_z_unc, 01650 TOP_tbit_z_and, 01651 TOP_tbit_z_or, 01652 TOP_tbit_z_or_andcm, 01653 TOP_tbit_nz_and, 01654 TOP_tbit_nz_or, 01655 TOP_tbit_nz_or_andcm, 01656 TOP_thash, 01657 TOP_tnat_z, 01658 TOP_tnat_z_unc, 01659 TOP_tnat_z_and, 01660 TOP_tnat_z_or, 01661 TOP_tnat_z_or_andcm, 01662 TOP_tnat_nz_and, 01663 TOP_tnat_nz_or, 01664 TOP_tnat_nz_or_andcm, 01665 TOP_tpa, 01666 TOP_ttag, 01667 TOP_unpack1_l, 01668 TOP_unpack1_h, 01669 TOP_unpack2_l, 01670 TOP_unpack2_h, 01671 TOP_unpack4_l, 01672 TOP_unpack4_h, 01673 TOP_xchg1, 01674 TOP_xchg2, 01675 TOP_xchg4, 01676 TOP_xchg8, 01677 TOP_xma_l, 01678 TOP_xma_h, 01679 TOP_xma_hu, 01680 TOP_xor, 01681 TOP_xor_i, 01682 TOP_zxt1, 01683 TOP_zxt2, 01684 TOP_zxt4, 01685 TOP_cmp_eq_orcm, 01686 TOP_cmp_eq_andcm, 01687 TOP_cmp_eq_and_orcm, 01688 TOP_cmp_ne, 01689 TOP_cmp_ne_unc, 01690 TOP_cmp_ne_orcm, 01691 TOP_cmp_ne_andcm, 01692 TOP_cmp_ne_and_orcm, 01693 TOP_cmp_le, 01694 TOP_cmp_le_unc, 01695 TOP_cmp_gt, 01696 TOP_cmp_gt_unc, 01697 TOP_cmp_ge, 01698 TOP_cmp_ge_unc, 01699 TOP_cmp_leu, 01700 TOP_cmp_leu_unc, 01701 TOP_cmp_gtu, 01702 TOP_cmp_gtu_unc, 01703 TOP_cmp_geu, 01704 TOP_cmp_geu_unc, 01705 TOP_cmp_z1_lt_orcm, 01706 TOP_cmp_z1_lt_andcm, 01707 TOP_cmp_z1_lt_and_orcm, 01708 TOP_cmp_z1_le_orcm, 01709 TOP_cmp_z1_le_andcm, 01710 TOP_cmp_z1_le_and_orcm, 01711 TOP_cmp_z1_gt_orcm, 01712 TOP_cmp_z1_gt_andcm, 01713 TOP_cmp_z1_gt_and_orcm, 01714 TOP_cmp_z1_ge_orcm, 01715 TOP_cmp_z1_ge_andcm, 01716 TOP_cmp_z1_ge_and_orcm, 01717 TOP_cmp_z2_lt_orcm, 01718 TOP_cmp_z2_lt_andcm, 01719 TOP_cmp_z2_lt_and_orcm, 01720 TOP_cmp_z2_le_orcm, 01721 TOP_cmp_z2_le_andcm, 01722 TOP_cmp_z2_le_and_orcm, 01723 TOP_cmp_z2_gt_orcm, 01724 TOP_cmp_z2_gt_andcm, 01725 TOP_cmp_z2_gt_and_orcm, 01726 TOP_cmp_z2_ge_orcm, 01727 TOP_cmp_z2_ge_andcm, 01728 TOP_cmp_z2_ge_and_orcm, 01729 TOP_cmp_z2_lt_and, 01730 TOP_cmp_z2_lt_or, 01731 TOP_cmp_z2_lt_or_andcm, 01732 TOP_cmp_z2_le_and, 01733 TOP_cmp_z2_le_or, 01734 TOP_cmp_z2_le_or_andcm, 01735 TOP_cmp_z2_gt_and, 01736 TOP_cmp_z2_gt_or, 01737 TOP_cmp_z2_gt_or_andcm, 01738 TOP_cmp_z2_ge_and, 01739 TOP_cmp_z2_ge_or, 01740 TOP_cmp_z2_ge_or_andcm, 01741 TOP_cmp_i_eq_orcm, 01742 TOP_cmp_i_eq_andcm, 01743 TOP_cmp_i_eq_and_orcm, 01744 TOP_cmp_i_ne, 01745 TOP_cmp_i_ne_unc, 01746 TOP_cmp_i_ne_orcm, 01747 TOP_cmp_i_ne_andcm, 01748 TOP_cmp_i_ne_and_orcm, 01749 TOP_cmp_i_le, 01750 TOP_cmp_i_le_unc, 01751 TOP_cmp_i_gt, 01752 TOP_cmp_i_gt_unc, 01753 TOP_cmp_i_ge, 01754 TOP_cmp_i_ge_unc, 01755 TOP_cmp_i_leu, 01756 TOP_cmp_i_leu_unc, 01757 TOP_cmp_i_gtu, 01758 TOP_cmp_i_gtu_unc, 01759 TOP_cmp_i_geu, 01760 TOP_cmp_i_geu_unc, 01761 TOP_cmp4_eq_orcm, 01762 TOP_cmp4_eq_andcm, 01763 TOP_cmp4_eq_and_orcm, 01764 TOP_cmp4_ne, 01765 TOP_cmp4_ne_unc, 01766 TOP_cmp4_ne_orcm, 01767 TOP_cmp4_ne_andcm, 01768 TOP_cmp4_ne_and_orcm, 01769 TOP_cmp4_le, 01770 TOP_cmp4_le_unc, 01771 TOP_cmp4_gt, 01772 TOP_cmp4_gt_unc, 01773 TOP_cmp4_ge, 01774 TOP_cmp4_ge_unc, 01775 TOP_cmp4_leu, 01776 TOP_cmp4_leu_unc, 01777 TOP_cmp4_gtu, 01778 TOP_cmp4_gtu_unc, 01779 TOP_cmp4_geu, 01780 TOP_cmp4_geu_unc, 01781 TOP_cmp4_z1_lt_orcm, 01782 TOP_cmp4_z1_lt_andcm, 01783 TOP_cmp4_z1_lt_and_orcm, 01784 TOP_cmp4_z1_le_orcm, 01785 TOP_cmp4_z1_le_andcm, 01786 TOP_cmp4_z1_le_and_orcm, 01787 TOP_cmp4_z1_gt_orcm, 01788 TOP_cmp4_z1_gt_andcm, 01789 TOP_cmp4_z1_gt_and_orcm, 01790 TOP_cmp4_z1_ge_orcm, 01791 TOP_cmp4_z1_ge_andcm, 01792 TOP_cmp4_z1_ge_and_orcm, 01793 TOP_cmp4_z2_lt_orcm, 01794 TOP_cmp4_z2_lt_andcm, 01795 TOP_cmp4_z2_lt_and_orcm, 01796 TOP_cmp4_z2_le_orcm, 01797 TOP_cmp4_z2_le_andcm, 01798 TOP_cmp4_z2_le_and_orcm, 01799 TOP_cmp4_z2_gt_orcm, 01800 TOP_cmp4_z2_gt_andcm, 01801 TOP_cmp4_z2_gt_and_orcm, 01802 TOP_cmp4_z2_ge_orcm, 01803 TOP_cmp4_z2_ge_andcm, 01804 TOP_cmp4_z2_ge_and_orcm, 01805 TOP_cmp4_z2_lt_and, 01806 TOP_cmp4_z2_lt_or, 01807 TOP_cmp4_z2_lt_or_andcm, 01808 TOP_cmp4_z2_le_and, 01809 TOP_cmp4_z2_le_or, 01810 TOP_cmp4_z2_le_or_andcm, 01811 TOP_cmp4_z2_gt_and, 01812 TOP_cmp4_z2_gt_or, 01813 TOP_cmp4_z2_gt_or_andcm, 01814 TOP_cmp4_z2_ge_and, 01815 TOP_cmp4_z2_ge_or, 01816 TOP_cmp4_z2_ge_or_andcm, 01817 TOP_cmp4_i_eq_orcm, 01818 TOP_cmp4_i_eq_andcm, 01819 TOP_cmp4_i_eq_and_orcm, 01820 TOP_cmp4_i_ne, 01821 TOP_cmp4_i_ne_unc, 01822 TOP_cmp4_i_ne_orcm, 01823 TOP_cmp4_i_ne_andcm, 01824 TOP_cmp4_i_ne_and_orcm, 01825 TOP_cmp4_i_le, 01826 TOP_cmp4_i_le_unc, 01827 TOP_cmp4_i_gt, 01828 TOP_cmp4_i_gt_unc, 01829 TOP_cmp4_i_ge, 01830 TOP_cmp4_i_ge_unc, 01831 TOP_cmp4_i_leu, 01832 TOP_cmp4_i_leu_unc, 01833 TOP_cmp4_i_gtu, 01834 TOP_cmp4_i_gtu_unc, 01835 TOP_cmp4_i_geu, 01836 TOP_cmp4_i_geu_unc, 01837 TOP_fabs, 01838 TOP_fadd, 01839 TOP_fadd_s, 01840 TOP_fadd_d, 01841 TOP_fclass_nm, 01842 TOP_fclass_nm_unc, 01843 TOP_fcmp_gt, 01844 TOP_fcmp_gt_unc, 01845 TOP_fcmp_ge, 01846 TOP_fcmp_ge_unc, 01847 TOP_fcmp_neq, 01848 TOP_fcmp_neq_unc, 01849 TOP_fcmp_nlt, 01850 TOP_fcmp_nlt_unc, 01851 TOP_fcmp_nle, 01852 TOP_fcmp_nle_unc, 01853 TOP_fcmp_ngt, 01854 TOP_fcmp_ngt_unc, 01855 TOP_fcmp_nge, 01856 TOP_fcmp_nge_unc, 01857 TOP_fcmp_ord, 01858 TOP_fcmp_ord_unc, 01859 TOP_fcvt_xuf, 01860 TOP_fcvt_xuf_s, 01861 TOP_fcvt_xuf_d, 01862 TOP_fmpy, 01863 TOP_fmpy_s, 01864 TOP_fmpy_d, 01865 TOP_fneg, 01866 TOP_fnegabs, 01867 TOP_fnmpy, 01868 TOP_fnmpy_s, 01869 TOP_fnmpy_d, 01870 TOP_fnorm, 01871 TOP_fnorm_s, 01872 TOP_fnorm_d, 01873 TOP_fpabs, 01874 TOP_fpcmp_gt, 01875 TOP_fpcmp_ge, 01876 TOP_fpcmp_ngt, 01877 TOP_fpcmp_nge, 01878 TOP_fpmpy, 01879 TOP_fpneg, 01880 TOP_fpnegabs, 01881 TOP_fpnmpy, 01882 TOP_fsub, 01883 TOP_fsub_s, 01884 TOP_fsub_d, 01885 TOP_mov_t_br, 01886 TOP_mov_f, 01887 TOP_mov, 01888 TOP_mov_i, 01889 TOP_shl_i, 01890 TOP_shr_i, 01891 TOP_shr_i_u, 01892 TOP_tbit_nz, 01893 TOP_tbit_nz_unc, 01894 TOP_tnat_nz, 01895 TOP_tnat_nz_unc, 01896 TOP_xma_lu, 01897 TOP_xmpy_l, 01898 TOP_xmpy_lu, 01899 TOP_xmpy_h, 01900 TOP_xmpy_hu, 01901 TOP_break, 01902 TOP_chk_s, 01903 TOP_cmp_lt_and, 01904 TOP_cmp_lt_or, 01905 TOP_cmp_lt_or_andcm, 01906 TOP_cmp_le_and, 01907 TOP_cmp_le_or, 01908 TOP_cmp_le_or_andcm, 01909 TOP_cmp_gt_and, 01910 TOP_cmp_gt_or, 01911 TOP_cmp_gt_or_andcm, 01912 TOP_cmp_ge_and, 01913 TOP_cmp_ge_or, 01914 TOP_cmp_ge_or_andcm, 01915 TOP_cmp_lt_orcm, 01916 TOP_cmp_lt_andcm, 01917 TOP_cmp_lt_and_orcm, 01918 TOP_cmp_le_orcm, 01919 TOP_cmp_le_andcm, 01920 TOP_cmp_le_and_orcm, 01921 TOP_cmp_gt_orcm, 01922 TOP_cmp_gt_andcm, 01923 TOP_cmp_gt_and_orcm, 01924 TOP_cmp_ge_orcm, 01925 TOP_cmp_ge_andcm, 01926 TOP_cmp_ge_and_orcm, 01927 TOP_cmp4_lt_and, 01928 TOP_cmp4_lt_or, 01929 TOP_cmp4_lt_or_andcm, 01930 TOP_cmp4_le_and, 01931 TOP_cmp4_le_or, 01932 TOP_cmp4_le_or_andcm, 01933 TOP_cmp4_gt_and, 01934 TOP_cmp4_gt_or, 01935 TOP_cmp4_gt_or_andcm, 01936 TOP_cmp4_ge_and, 01937 TOP_cmp4_ge_or, 01938 TOP_cmp4_ge_or_andcm, 01939 TOP_cmp4_lt_orcm, 01940 TOP_cmp4_lt_andcm, 01941 TOP_cmp4_lt_and_orcm, 01942 TOP_cmp4_le_orcm, 01943 TOP_cmp4_le_andcm, 01944 TOP_cmp4_le_and_orcm, 01945 TOP_cmp4_gt_orcm, 01946 TOP_cmp4_gt_andcm, 01947 TOP_cmp4_gt_and_orcm, 01948 TOP_cmp4_ge_orcm, 01949 TOP_cmp4_ge_andcm, 01950 TOP_cmp4_ge_and_orcm, 01951 TOP_mov_f_ar, 01952 TOP_mov_t_ar_r, 01953 TOP_mov_t_ar_i, 01954 TOP_nop, 01955 TOP_copy_br, 01956 TOP_UNDEFINED); 01957 01958 /* ===== Instructions access rotating register banks ====== */ 01959 access_reg_bank = ISA_Property_Create ("access_reg_bank"); 01960 Instruction_Group (access_reg_bank, 01961 TOP_clrrrb, 01962 TOP_clrrrb_pr, 01963 TOP_mov_t_pr, 01964 TOP_mov_t_pr_i, 01965 TOP_mov_f_pr, 01966 TOP_UNDEFINED); 01967 01968 /* ===== Instructions with side effects ====== */ 01969 side_effects = ISA_Property_Create ("side_effects"); 01970 Instruction_Group (side_effects, 01971 TOP_alloc, 01972 TOP_alloc_3, 01973 TOP_fsetc, // it writes a status field reg 01974 TOP_UNDEFINED); 01975 01976 /* ===== Instructions that predict branches ====== */ 01977 branch_predict = ISA_Property_Create ("branch_predict"); 01978 Instruction_Group (branch_predict, 01979 TOP_brp, 01980 TOP_brp_r, 01981 TOP_brp_ret, 01982 TOP_UNDEFINED); 01983 01984 /* ===== Instructions with variable number of operands/results ====== */ 01985 var_opnds = ISA_Property_Create ("var_opnds"); 01986 Instruction_Group (var_opnds, 01987 TOP_asm, 01988 TOP_intrncall, 01989 TOP_UNDEFINED); 01990 01991 ISA_Properties_End(); 01992 return 0; 01993 }