Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
isa_print.cxx
Go to the documentation of this file.
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 // Group TOPS with similar Printing format together. 
00038 // The instructions are listed by category. The different categories of
00039 // instructions are:
00040 //
00041 //   1. Binary Operators
00042 //   2. Jump, Branch and Trap operators
00043 //   3. Multiply/Divide operators
00044 //   4. Load/Store machine operators
00045 //   5. FPU arithmetic/convert operators
00046 //   6. FPU branch operators
00047 //   7. FPU comparison operators
00048 //   8. Coprocessor1 (FP) data movement operations
00049 //   9. MIPS IV only arithmetic/cond_move FPU operations
00050 //  10. Compiler IR and fictional operators
00051 //
00052 // Within each Print_Type instructions are listed in alphabetical order and
00053 // as shown in the ISA manual
00055 //
00056 
00057 #include <stddef.h>
00058 #include <string.h>
00059 #include "topcode.h"
00060 #include "isa_print_gen.h"
00061 
00062 // Multiple topcodes map to the same assembly name. To disambiguate the 
00063 // topcodes, we append a suffix to the basename. By convention, the 
00064 // suffix starts with an underscore. To get the assembly name we strip off
00065 // the suffix.
00066 static const char *asmname(TOP topcode)
00067 {
00068   int c;
00069   int i;
00070   int j;
00071   const char *name = TOP_Name(topcode);
00072   char buf[100];
00073 
00074   for (i = 0; ; ++i) {
00075     c = name[i];
00076     if (c == '.' || c == '\0') return name;
00077     if (c == '_') break;
00078     buf[i] = c;
00079   }
00080 
00081   j = i;
00082   do {
00083     c = name[++j];
00084   } while (c != '.' && c != '\0');
00085 
00086   do {
00087     c = name[j++];
00088     buf[i++] = c;
00089   } while (c);
00090       
00091   return strdup(buf);
00092 }
00093 
00094 main()
00095 {
00096   ISA_Print_Begin("ia64");
00097 
00098   Set_AsmName_Func(asmname);
00099 
00100   Define_Macro("END_GROUP", ";;");              // end-of-group marker
00101   Define_Macro("PREDICATE", "(%s)");            // predicate operand format
00102   Define_Macro("BEGIN_BUNDLE", "{\t      %s");  // bundle introducer
00103   Define_Macro("END_BUNDLE", "};");             // bundle terminator
00104 
00105 /* ===== %5s %s ===== */
00106   ISA_PRINT_TYPE print_0;
00107   print_0 = ISA_Print_Type_Create("print_0", "%5s %s");
00108   Operand(0);           // qp
00109   Name();
00110   Instruction_Print_Group(print_0,
00111         TOP_fwb,        TOP_invala,     TOP_mf,
00112         TOP_mf_a,       TOP_srlz_d,     TOP_srlz_i,
00113         TOP_sync_i,
00114         TOP_UNDEFINED);
00115 
00116 /* =====       %s ===== */
00117   ISA_PRINT_TYPE print_1;
00118   print_1 = ISA_Print_Type_Create("print_1", "      %s");
00119   Name();
00120   Instruction_Print_Group(print_1,
00121         TOP_bsw_0,      TOP_bsw_1,      TOP_clrrrb,
00122         TOP_clrrrb_pr,  TOP_cover,      TOP_epc,
00123         TOP_flushrs,    TOP_loadrs,     TOP_rfi,
00124         TOP_UNDEFINED);
00125 
00126 /* ===== %5s %s%s ===== */
00127   ISA_PRINT_TYPE print_2;
00128   print_2 = ISA_Print_Type_Create("print_2", "%5s %s%s");
00129   Operand(0);           // qp
00130   Name();
00131   Operand(1);           // sf
00132   Instruction_Print_Group(print_2,
00133         TOP_fclrf,
00134         TOP_UNDEFINED);
00135 
00136 /* ===== %5s %s %s ===== */
00137   ISA_PRINT_TYPE print_3;
00138   print_3 = ISA_Print_Type_Create("print_3", "%5s %s %s");
00139   Operand(0);           // qp
00140   Name();
00141   Operand(1);           // imm
00142   Instruction_Print_Group(print_3,
00143         TOP_break_b,    TOP_break_f,    TOP_break_i,
00144         TOP_break_m,    TOP_break_x,    TOP_fc,
00145         TOP_invala_e,   TOP_invala_f_e, TOP_itc_d,
00146         TOP_itc_i,      TOP_nop_b,      TOP_nop_f,
00147         TOP_nop_i,      TOP_nop_m,      TOP_nop_x,
00148         TOP_ptc_e,      TOP_rsm,        TOP_rum,
00149         TOP_ssm,        TOP_sum,
00150         TOP_UNDEFINED);
00151 
00152 /* ===== %5s %s%s %s ===== */
00153   ISA_PRINT_TYPE print_4;
00154   print_4 = ISA_Print_Type_Create("print_4", "%5s %s%s %s");
00155   Operand(0);           // qp
00156   Name();
00157   Operand(1);           // sf
00158   Operand(2);           // imm
00159   Instruction_Print_Group(print_4,
00160         TOP_fchkf,
00161         TOP_UNDEFINED);
00162 
00163 /* ===== %5s %s %s,%s ===== */
00164   ISA_PRINT_TYPE print_5;
00165   print_5 = ISA_Print_Type_Create("print_5", "%5s %s %s,%s");
00166   Operand(0);           // qp
00167   Name();
00168   Operand(1);           // r2
00169   Operand(2);           // imm
00170   Instruction_Print_Group(print_5,
00171         TOP_chk_s_i,    TOP_chk_s_m,    TOP_chk_f_s,
00172         TOP_probe_r_fault,      TOP_probe_rw_fault,     TOP_probe_w_fault,
00173         TOP_ptc_g,      TOP_ptc_ga,     TOP_ptc_l,
00174         TOP_ptr_d,      TOP_ptr_i,
00175         TOP_UNDEFINED);
00176 
00177 /* ===== %5s %s %s=%s ===== */
00178   ISA_PRINT_TYPE print_6;
00179   print_6 = ISA_Print_Type_Create("print_6", "%5s %s %s=%s");
00180   Operand(0);           // qp
00181   Name();
00182   Result(0);            // r1
00183   Operand(1);           // r3
00184   Instruction_Print_Group(print_6,
00185         TOP_czx1_l,     TOP_czx1_r,     TOP_czx2_l,
00186         TOP_czx2_r,     TOP_fabs,       TOP_fcvt_xf,
00187         TOP_fneg,       TOP_fnegabs,    TOP_fpabs,
00188         TOP_fpneg,      TOP_fpnegabs,   TOP_getf_d,
00189         TOP_getf_exp,   TOP_getf_s,     TOP_getf_sig,
00190         TOP_mov,        TOP_mov_f,      TOP_mov_f_ar_i,
00191         TOP_mov_f_ar_m, TOP_mov_f_br,   TOP_mov_f_cr,
00192         TOP_mov_i,      TOP_mov_t_ar_i_i,       TOP_mov_t_ar_i_m,
00193         TOP_mov_t_ar_r_i,       TOP_mov_t_ar_r_m,       TOP_mov_t_br,
00194         TOP_mov_t_cr,   TOP_movl,       TOP_popcnt,
00195         TOP_setf_d,     TOP_setf_exp,   TOP_setf_s,
00196         TOP_setf_sig,   TOP_sxt1,       TOP_sxt2,
00197         TOP_sxt4,       TOP_tak,        TOP_thash,
00198         TOP_tpa,        TOP_ttag,       TOP_zxt1,
00199         TOP_zxt2,       TOP_zxt4,
00200         TOP_UNDEFINED);
00201 
00202 /* ===== %5s %s %s=ip ===== */
00203   ISA_PRINT_TYPE print_7;
00204   print_7 = ISA_Print_Type_Create("print_7", "%5s %s %s=ip");
00205   Operand(0);           // qp
00206   Name();
00207   Result(0);            // r1
00208   Instruction_Print_Group(print_7,
00209         TOP_mov_f_ip,
00210         TOP_UNDEFINED);
00211 
00212 /* ===== %5s %s %s=pr ===== */
00213   ISA_PRINT_TYPE print_8;
00214   print_8 = ISA_Print_Type_Create("print_8", "%5s %s %s=pr");
00215   Operand(0);           // qp
00216   Name();
00217   Result(0);            // r1
00218   Instruction_Print_Group(print_8,
00219         TOP_mov_f_pr,
00220         TOP_UNDEFINED);
00221 
00222 /* ===== %5s %s %s=psr ===== */
00223   ISA_PRINT_TYPE print_9;
00224   print_9 = ISA_Print_Type_Create("print_9", "%5s %s %s=psr");
00225   Operand(0);           // qp
00226   Name();
00227   Result(0);            // r1
00228   Instruction_Print_Group(print_9,
00229         TOP_mov_f_psr,
00230         TOP_UNDEFINED);
00231 
00232 /* ===== %5s %s%s [%s] ===== */
00233   ISA_PRINT_TYPE print_10;
00234   print_10 = ISA_Print_Type_Create("print_10", "%5s %s%s [%s]");
00235   Operand(0);           // qp
00236   Name();
00237   Operand(1);           // lfhint
00238   Operand(2);           // r3
00239   Instruction_Print_Group(print_10,
00240         TOP_lfetch,     TOP_lfetch_excl,        TOP_lfetch_fault,
00241         TOP_lfetch_fault_excl,
00242         TOP_UNDEFINED);
00243 
00244 /* ===== %5s %s%s %s,%s ===== */
00245   ISA_PRINT_TYPE print_11;
00246   print_11 = ISA_Print_Type_Create("print_11", "%5s %s%s %s,%s");
00247   Operand(0);           // qp
00248   Name();
00249   Operand(1);           // aclr
00250   Operand(2);           // r1
00251   Operand(3);           // imm
00252   Instruction_Print_Group(print_11,
00253         TOP_chk_a,      TOP_chk_f_a,    TOP_fsetc,
00254         TOP_UNDEFINED);
00255 
00256 /* ===== %5s %s%s %s=%s ===== */
00257   ISA_PRINT_TYPE print_12;
00258   print_12 = ISA_Print_Type_Create("print_12", "%5s %s%s %s=%s");
00259   Operand(0);           // qp
00260   Name();
00261   Operand(1);           // sf
00262   Result(0);            // f1
00263   Operand(2);           // f2
00264   Instruction_Print_Group(print_12,
00265         TOP_fcvt_fx,    TOP_fcvt_fx_trunc,      TOP_fcvt_fxu,
00266         TOP_fcvt_fxu_trunc,     TOP_fcvt_xuf,   TOP_fcvt_xuf_d,
00267         TOP_fcvt_xuf_s, TOP_fnorm,      TOP_fnorm_d,
00268         TOP_fnorm_s,    TOP_fpcvt_fx,   TOP_fpcvt_fx_trunc,
00269         TOP_fpcvt_fxu,  TOP_fpcvt_fxu_trunc,
00270         TOP_UNDEFINED);
00271 
00272 /* =====       %s%s%s %s ===== */
00273   ISA_PRINT_TYPE print_13;
00274   print_13 = ISA_Print_Type_Create("print_13", "      %s%s%s %s");
00275   Name();
00276   Operand(0);           // ph
00277   Operand(1);           // dh
00278   Operand(2);           // imm
00279   Instruction_Print_Group(print_13,
00280         TOP_br, TOP_br_r,       TOP_brl,
00281         TOP_UNDEFINED);
00282 
00283 /* ===== %5s %s %s,%s=%s ===== */
00284   ISA_PRINT_TYPE print_14;
00285   print_14 = ISA_Print_Type_Create("print_14", "%5s %s %s,%s=%s");
00286   Operand(0);           // qp
00287   Name();
00288   Result(0);            // p1
00289   Result(1);            // p2
00290   Operand(1);           // r3
00291   Instruction_Print_Group(print_14,
00292         TOP_tnat_nz,    TOP_tnat_nz_and,        TOP_tnat_nz_or,
00293         TOP_tnat_nz_or_andcm,   TOP_tnat_nz_unc,        TOP_tnat_z,
00294         TOP_tnat_z_and, TOP_tnat_z_or,  TOP_tnat_z_or_andcm,
00295         TOP_tnat_z_unc,
00296         TOP_UNDEFINED);
00297 
00298 /* ===== %5s %s %s=%s,%s ===== */
00299   ISA_PRINT_TYPE print_15;
00300   print_15 = ISA_Print_Type_Create("print_15", "%5s %s %s=%s,%s");
00301   Operand(0);           // qp
00302   Name();
00303   Result(0);            // r1
00304   Operand(1);           // r2
00305   Operand(2);           // r3
00306   Instruction_Print_Group(print_15,
00307         TOP_add,        TOP_addl,       TOP_addp4,
00308         TOP_addp4_i,    TOP_adds,       TOP_and,
00309         TOP_and_i,      TOP_andcm,      TOP_andcm_i,
00310         TOP_fand,       TOP_fandcm,     TOP_fmerge_ns,
00311         TOP_fmerge_s,   TOP_fmerge_se,  TOP_fmix_l,
00312         TOP_fmix_lr,    TOP_fmix_r,     TOP_for,
00313         TOP_fpack,      TOP_fpmerge_ns, TOP_fpmerge_s,
00314         TOP_fpmerge_se, TOP_fswap,      TOP_fswap_nl,
00315         TOP_fswap_nr,   TOP_fsxt_l,     TOP_fsxt_r,
00316         TOP_fxor,       TOP_mix1_l,     TOP_mix1_r,
00317         TOP_mix2_l,     TOP_mix2_r,     TOP_mix4_l,
00318         TOP_mix4_r,     TOP_mux1,       TOP_mux2,
00319         TOP_or, TOP_or_i,       TOP_pack2_sss,
00320         TOP_pack2_uss,  TOP_pack4_sss,  TOP_padd1,
00321         TOP_padd1_sss,  TOP_padd1_uus,  TOP_padd1_uuu,
00322         TOP_padd2,      TOP_padd2_sss,  TOP_padd2_uus,
00323         TOP_padd2_uuu,  TOP_padd4,      TOP_pavg1,
00324         TOP_pavg1_raz,  TOP_pavg2,      TOP_pavg2_raz,
00325         TOP_pavgsub1,   TOP_pavgsub2,   TOP_pcmp1_eq,
00326         TOP_pcmp1_gt,   TOP_pcmp2_eq,   TOP_pcmp2_gt,
00327         TOP_pcmp4_eq,   TOP_pcmp4_gt,   TOP_pmax1_u,
00328         TOP_pmax2,      TOP_pmin1_u,    TOP_pmin2,
00329         TOP_pmpy2_l,    TOP_pmpy2_r,    TOP_probe_r,
00330         TOP_probe_w,    TOP_probe_i_r,  TOP_probe_i_w,
00331         TOP_psad1,      TOP_pshl2,      TOP_pshl2_i,
00332         TOP_pshl4,      TOP_pshl4_i,    TOP_pshr2,
00333         TOP_pshr2_u,    TOP_pshr2_i,    TOP_pshr2_i_u,
00334         TOP_pshr4,      TOP_pshr4_u,    TOP_pshr4_i,
00335         TOP_pshr4_i_u,  TOP_psub1,      TOP_psub1_sss,
00336         TOP_psub1_uus,  TOP_psub1_uuu,  TOP_psub2,
00337         TOP_psub2_sss,  TOP_psub2_uus,  TOP_psub2_uuu,
00338         TOP_psub4,      TOP_shl,        TOP_shl_i,
00339         TOP_shr,        TOP_shr_u,      TOP_shr_i,
00340         TOP_shr_i_u,    TOP_sub,        TOP_sub_i,
00341         TOP_unpack1_h,  TOP_unpack1_l,  TOP_unpack2_h,
00342         TOP_unpack2_l,  TOP_unpack4_h,  TOP_unpack4_l,
00343         TOP_xmpy_h,     TOP_xmpy_hu,    TOP_xmpy_l,
00344         TOP_xmpy_lu,    TOP_xor,        TOP_xor_i,
00345         TOP_UNDEFINED);
00346 
00347 /* ===== %5s %s pr=%s,%s ===== */
00348   ISA_PRINT_TYPE print_16;
00349   print_16 = ISA_Print_Type_Create("print_16", "%5s %s pr=%s,%s");
00350   Operand(0);           // qp
00351   Name();
00352   Operand(1);           // r2
00353   Operand(2);           // imm
00354   Instruction_Print_Group(print_16,
00355         TOP_mov_t_pr,
00356         TOP_UNDEFINED);
00357 
00358 /* ===== %5s %s psr.l=%s ===== */
00359   ISA_PRINT_TYPE print_17;
00360   print_17 = ISA_Print_Type_Create("print_17", "%5s %s psr.l=%s");
00361   Operand(0);           // qp
00362   Name();
00363   Operand(1);           // r2
00364   Instruction_Print_Group(print_17,
00365         TOP_mov_t_psr,
00366         TOP_UNDEFINED);
00367 
00368 /* ===== %5s %s%s%s%s %s ===== */
00369   ISA_PRINT_TYPE print_18;
00370   print_18 = ISA_Print_Type_Create("print_18", "%5s %s%s%s%s %s");
00371   Operand(0);           // qp
00372   Name();
00373   Operand(1);           // bwh
00374   Operand(2);           // ph
00375   Operand(3);           // dh
00376   Operand(4);           // imm
00377   Instruction_Print_Group(print_18,
00378         TOP_br_cond,    TOP_br_ret,     TOP_br_wexit,
00379         TOP_br_wtop,    TOP_br_r_cond,  TOP_brl_cond,
00380         TOP_UNDEFINED);
00381 
00382 /* ===== %5s %s %s=psr.um ===== */
00383   ISA_PRINT_TYPE print_19;
00384   print_19 = ISA_Print_Type_Create("print_19", "%5s %s %s=psr.um");
00385   Operand(0);           // qp
00386   Name();
00387   Result(0);            // r1
00388   Instruction_Print_Group(print_19,
00389         TOP_mov_f_psrum,
00390         TOP_UNDEFINED);
00391 
00392 /* ===== %5s %s %s=rr[%s] ===== */
00393   ISA_PRINT_TYPE print_20;
00394   print_20 = ISA_Print_Type_Create("print_20", "%5s %s %s=rr[%s]");
00395   Operand(0);           // qp
00396   Name();
00397   Result(0);            // r1
00398   Operand(1);           // r3
00399   Instruction_Print_Group(print_20,
00400         TOP_mov_f_rr,
00401         TOP_UNDEFINED);
00402 
00403 /* ===== %5s %s pr.rot=%s ===== */
00404   ISA_PRINT_TYPE print_21;
00405   print_21 = ISA_Print_Type_Create("print_21", "%5s %s pr.rot=%s");
00406   Operand(0);           // qp
00407   Name();
00408   Operand(1);           // imm
00409   Instruction_Print_Group(print_21,
00410         TOP_mov_t_pr_i,
00411         TOP_UNDEFINED);
00412 
00413 /* ===== %5s %s psr.um=%s ===== */
00414   ISA_PRINT_TYPE print_22;
00415   print_22 = ISA_Print_Type_Create("print_22", "%5s %s psr.um=%s");
00416   Operand(0);           // qp
00417   Name();
00418   Operand(1);           // r2
00419   Instruction_Print_Group(print_22,
00420         TOP_mov_t_psrum,
00421         TOP_UNDEFINED);
00422 
00423 /* ===== %5s %s rr[%s]=%s ===== */
00424   ISA_PRINT_TYPE print_23;
00425   print_23 = ISA_Print_Type_Create("print_23", "%5s %s rr[%s]=%s");
00426   Operand(0);           // qp
00427   Name();
00428   Operand(1);           // r3
00429   Operand(2);           // r2
00430   Instruction_Print_Group(print_23,
00431         TOP_mov_t_rr,
00432         TOP_UNDEFINED);
00433 
00434 /* ===== %5s %s%s %s=[%s] ===== */
00435   ISA_PRINT_TYPE print_24;
00436   print_24 = ISA_Print_Type_Create("print_24", "%5s %s%s %s=[%s]");
00437   Operand(0);           // qp
00438   Name();
00439   Operand(1);           // ldhint
00440   Result(0);            // r1
00441   Operand(2);           // r3
00442   Instruction_Print_Group(print_24,
00443         TOP_ld8_fill,   TOP_ldf_fill,
00444         TOP_UNDEFINED);
00445 
00446 /* ===== %5s %s%s [%s],%s ===== */
00447   ISA_PRINT_TYPE print_25;
00448   print_25 = ISA_Print_Type_Create("print_25", "%5s %s%s [%s],%s");
00449   Operand(0);           // qp
00450   Name();
00451   Operand(1);           // lfhint
00452   Operand(2);           // r3
00453   Operand(3);           // imm
00454   Instruction_Print_Group(print_25,
00455         TOP_lfetch_i,   TOP_lfetch_i_excl,      TOP_lfetch_i_fault,
00456         TOP_lfetch_i_fault_excl,        TOP_lfetch_r,   TOP_lfetch_r_excl,
00457         TOP_lfetch_r_fault,     TOP_lfetch_r_fault_excl,
00458         TOP_UNDEFINED);
00459 
00460 /* ===== %5s %s%s [%s]=%s ===== */
00461   ISA_PRINT_TYPE print_26;
00462   print_26 = ISA_Print_Type_Create("print_26", "%5s %s%s [%s]=%s");
00463   Operand(0);           // qp
00464   Name();
00465   Operand(1);           // sthint
00466   Operand(2);           // r3
00467   Operand(3);           // r2
00468   Instruction_Print_Group(print_26,
00469         TOP_st8_spill,  TOP_stf_spill,  TOP_stf8,
00470         TOP_stfd,       TOP_stfe,       TOP_stfs,
00471         TOP_UNDEFINED);
00472 
00473 /* =====       %s%s%s%s %s ===== */
00474   ISA_PRINT_TYPE print_27;
00475   print_27 = ISA_Print_Type_Create("print_27", "      %s%s%s%s %s");
00476   Name();
00477   Operand(0);           // bwh
00478   Operand(1);           // ph
00479   Operand(2);           // dh
00480   Operand(3);           // imm
00481   Instruction_Print_Group(print_27,
00482         TOP_br_cexit,   TOP_br_cloop,   TOP_br_ctop,
00483         TOP_br_ia,
00484         TOP_UNDEFINED);
00485 
00486 /* ===== %5s %s %s=%s,%s,1 ===== */
00487   ISA_PRINT_TYPE print_28;
00488   print_28 = ISA_Print_Type_Create("print_28", "%5s %s %s=%s,%s,1");
00489   Operand(0);           // qp
00490   Name();
00491   Result(0);            // r1
00492   Operand(1);           // r2
00493   Operand(2);           // r3
00494   Instruction_Print_Group(print_28,
00495         TOP_add_1,      TOP_sub_1,
00496         TOP_UNDEFINED);
00497 
00498 /* ===== %5s %s %s=dbr[%s] ===== */
00499   ISA_PRINT_TYPE print_29;
00500   print_29 = ISA_Print_Type_Create("print_29", "%5s %s %s=dbr[%s]");
00501   Operand(0);           // qp
00502   Name();
00503   Result(0);            // r1
00504   Operand(1);           // r3
00505   Instruction_Print_Group(print_29,
00506         TOP_mov_f_dbr,
00507         TOP_UNDEFINED);
00508 
00509 /* ===== %5s %s %s=ibr[%s] ===== */
00510   ISA_PRINT_TYPE print_30;
00511   print_30 = ISA_Print_Type_Create("print_30", "%5s %s %s=ibr[%s]");
00512   Operand(0);           // qp
00513   Name();
00514   Result(0);            // r1
00515   Operand(1);           // r3
00516   Instruction_Print_Group(print_30,
00517         TOP_mov_f_ibr,
00518         TOP_UNDEFINED);
00519 
00520 /* ===== %5s %s %s=msr[%s] ===== */
00521   ISA_PRINT_TYPE print_31;
00522   print_31 = ISA_Print_Type_Create("print_31", "%5s %s %s=msr[%s]");
00523   Operand(0);           // qp
00524   Name();
00525   Result(0);            // r1
00526   Operand(1);           // r3
00527   Instruction_Print_Group(print_31,
00528         TOP_mov_f_msr,
00529         TOP_UNDEFINED);
00530 
00531 /* ===== %5s %s %s=pkr[%s] ===== */
00532   ISA_PRINT_TYPE print_32;
00533   print_32 = ISA_Print_Type_Create("print_32", "%5s %s %s=pkr[%s]");
00534   Operand(0);           // qp
00535   Name();
00536   Result(0);            // r1
00537   Operand(1);           // r3
00538   Instruction_Print_Group(print_32,
00539         TOP_mov_f_pkr,
00540         TOP_UNDEFINED);
00541 
00542 /* ===== %5s %s %s=pmc[%s] ===== */
00543   ISA_PRINT_TYPE print_33;
00544   print_33 = ISA_Print_Type_Create("print_33", "%5s %s %s=pmc[%s]");
00545   Operand(0);           // qp
00546   Name();
00547   Result(0);            // r1
00548   Operand(1);           // r3
00549   Instruction_Print_Group(print_33,
00550         TOP_mov_f_pmc,
00551         TOP_UNDEFINED);
00552 
00553 /* ===== %5s %s %s=pmd[%s] ===== */
00554   ISA_PRINT_TYPE print_34;
00555   print_34 = ISA_Print_Type_Create("print_34", "%5s %s %s=pmd[%s]");
00556   Operand(0);           // qp
00557   Name();
00558   Result(0);            // r1
00559   Operand(1);           // r3
00560   Instruction_Print_Group(print_34,
00561         TOP_mov_f_pmd,
00562         TOP_UNDEFINED);
00563 
00564 /* ===== %5s %s dbr[%s]=%s ===== */
00565   ISA_PRINT_TYPE print_35;
00566   print_35 = ISA_Print_Type_Create("print_35", "%5s %s dbr[%s]=%s");
00567   Operand(0);           // qp
00568   Name();
00569   Operand(1);           // r3
00570   Operand(2);           // r2
00571   Instruction_Print_Group(print_35,
00572         TOP_mov_t_dbr,
00573         TOP_UNDEFINED);
00574 
00575 /* ===== %5s %s dtr[%s]=%s ===== */
00576   ISA_PRINT_TYPE print_36;
00577   print_36 = ISA_Print_Type_Create("print_36", "%5s %s dtr[%s]=%s");
00578   Operand(0);           // qp
00579   Name();
00580   Operand(1);           // r3
00581   Operand(2);           // r2
00582   Instruction_Print_Group(print_36,
00583         TOP_itr_d,
00584         TOP_UNDEFINED);
00585 
00586 /* ===== %5s %s ibr[%s]=%s ===== */
00587   ISA_PRINT_TYPE print_37;
00588   print_37 = ISA_Print_Type_Create("print_37", "%5s %s ibr[%s]=%s");
00589   Operand(0);           // qp
00590   Name();
00591   Operand(1);           // r3
00592   Operand(2);           // r2
00593   Instruction_Print_Group(print_37,
00594         TOP_mov_t_ibr,
00595         TOP_UNDEFINED);
00596 
00597 /* ===== %5s %s itr[%s]=%s ===== */
00598   ISA_PRINT_TYPE print_38;
00599   print_38 = ISA_Print_Type_Create("print_38", "%5s %s itr[%s]=%s");
00600   Operand(0);           // qp
00601   Name();
00602   Operand(1);           // r3
00603   Operand(2);           // r2
00604   Instruction_Print_Group(print_38,
00605         TOP_itr_i,
00606         TOP_UNDEFINED);
00607 
00608 /* ===== %5s %s msr[%s]=%s ===== */
00609   ISA_PRINT_TYPE print_39;
00610   print_39 = ISA_Print_Type_Create("print_39", "%5s %s msr[%s]=%s");
00611   Operand(0);           // qp
00612   Name();
00613   Operand(1);           // r3
00614   Operand(2);           // r2
00615   Instruction_Print_Group(print_39,
00616         TOP_mov_t_msr,
00617         TOP_UNDEFINED);
00618 
00619 /* ===== %5s %s pkr[%s]=%s ===== */
00620   ISA_PRINT_TYPE print_40;
00621   print_40 = ISA_Print_Type_Create("print_40", "%5s %s pkr[%s]=%s");
00622   Operand(0);           // qp
00623   Name();
00624   Operand(1);           // r3
00625   Operand(2);           // r2
00626   Instruction_Print_Group(print_40,
00627         TOP_mov_t_pkr,
00628         TOP_UNDEFINED);
00629 
00630 /* ===== %5s %s pmc[%s]=%s ===== */
00631   ISA_PRINT_TYPE print_41;
00632   print_41 = ISA_Print_Type_Create("print_41", "%5s %s pmc[%s]=%s");
00633   Operand(0);           // qp
00634   Name();
00635   Operand(1);           // r3
00636   Operand(2);           // r2
00637   Instruction_Print_Group(print_41,
00638         TOP_mov_t_pmc,
00639         TOP_UNDEFINED);
00640 
00641 /* ===== %5s %s pmd[%s]=%s ===== */
00642   ISA_PRINT_TYPE print_42;
00643   print_42 = ISA_Print_Type_Create("print_42", "%5s %s pmd[%s]=%s");
00644   Operand(0);           // qp
00645   Name();
00646   Operand(1);           // r3
00647   Operand(2);           // r2
00648   Instruction_Print_Group(print_42,
00649         TOP_mov_t_pmd,
00650         TOP_UNDEFINED);
00651 
00652 /* ===== %5s %s%s %s,%s=%s ===== */
00653   ISA_PRINT_TYPE print_43;
00654   print_43 = ISA_Print_Type_Create("print_43", "%5s %s%s %s,%s=%s");
00655   Operand(0);           // qp
00656   Name();
00657   Operand(1);           // sf
00658   Result(0);            // f1
00659   Result(1);            // p2
00660   Operand(2);           // f3
00661   Instruction_Print_Group(print_43,
00662         TOP_fprsqrta,   TOP_frsqrta,
00663         TOP_UNDEFINED);
00664 
00665 /* ===== %5s %s%s %s=%s,%s ===== */
00666   ISA_PRINT_TYPE print_44;
00667   print_44 = ISA_Print_Type_Create("print_44", "%5s %s%s %s=%s,%s");
00668   Operand(0);           // qp
00669   Name();
00670   Operand(1);           // sf
00671   Result(0);            // f1
00672   Operand(2);           // f3
00673   Operand(3);           // f2
00674   Instruction_Print_Group(print_44,
00675         TOP_fadd,       TOP_fadd_d,     TOP_fadd_s,
00676         TOP_famax,      TOP_famin,      TOP_fmax,
00677         TOP_fmin,       TOP_fmpy,       TOP_fmpy_d,
00678         TOP_fmpy_s,     TOP_fnmpy,      TOP_fnmpy_d,
00679         TOP_fnmpy_s,    TOP_fpamax,     TOP_fpamin,
00680         TOP_fpcmp_eq,   TOP_fpcmp_ge,   TOP_fpcmp_gt,
00681         TOP_fpcmp_le,   TOP_fpcmp_lt,   TOP_fpcmp_neq,
00682         TOP_fpcmp_nge,  TOP_fpcmp_ngt,  TOP_fpcmp_nle,
00683         TOP_fpcmp_nlt,  TOP_fpcmp_ord,  TOP_fpcmp_unord,
00684         TOP_fpmax,      TOP_fpmin,      TOP_fpmpy,
00685         TOP_fpnmpy,     TOP_fsub,       TOP_fsub_d,
00686         TOP_fsub_s,
00687         TOP_UNDEFINED);
00688 
00689 /* =====       %s%s%s %s,%s ===== */
00690   ISA_PRINT_TYPE print_45;
00691   print_45 = ISA_Print_Type_Create("print_45", "      %s%s%s %s,%s");
00692   Name();
00693   Operand(0);           // ipwh
00694   Operand(1);           // ih
00695   Operand(2);           // imm
00696   Operand(3);           // imm
00697   Instruction_Print_Group(print_45,
00698         TOP_brp,        TOP_brp_ret,    TOP_brp_r,
00699         TOP_UNDEFINED);
00700 
00701 /* ===== %5s %s %s,%s=%s,%s ===== */
00702   ISA_PRINT_TYPE print_46;
00703   print_46 = ISA_Print_Type_Create("print_46", "%5s %s %s,%s=%s,%s");
00704   Operand(0);           // qp
00705   Name();
00706   Result(0);            // p1
00707   Result(1);            // p2
00708   Operand(1);           // r2
00709   Operand(2);           // r3
00710   Instruction_Print_Group(print_46,
00711         TOP_cmp_eq,     TOP_cmp_eq_and, TOP_cmp_eq_and_orcm,
00712         TOP_cmp_eq_andcm,       TOP_cmp_eq_or,  TOP_cmp_eq_or_andcm,
00713         TOP_cmp_eq_orcm,        TOP_cmp_eq_unc, TOP_cmp_ge,
00714         TOP_cmp_ge_unc, TOP_cmp_geu,    TOP_cmp_geu_unc,
00715         TOP_cmp_gt,     TOP_cmp_gt_unc, TOP_cmp_gtu,
00716         TOP_cmp_gtu_unc,        TOP_cmp_le,     TOP_cmp_le_unc,
00717         TOP_cmp_leu,    TOP_cmp_leu_unc,        TOP_cmp_lt,
00718         TOP_cmp_lt_unc, TOP_cmp_ltu,    TOP_cmp_ltu_unc,
00719         TOP_cmp_ne,     TOP_cmp_ne_and, TOP_cmp_ne_and_orcm,
00720         TOP_cmp_ne_andcm,       TOP_cmp_ne_or,  TOP_cmp_ne_or_andcm,
00721         TOP_cmp_ne_orcm,        TOP_cmp_ne_unc, TOP_cmp4_eq,
00722         TOP_cmp4_eq_and,        TOP_cmp4_eq_and_orcm,   TOP_cmp4_eq_andcm,
00723         TOP_cmp4_eq_or, TOP_cmp4_eq_or_andcm,   TOP_cmp4_eq_orcm,
00724         TOP_cmp4_eq_unc,        TOP_cmp4_ge,    TOP_cmp4_ge_unc,
00725         TOP_cmp4_geu,   TOP_cmp4_geu_unc,       TOP_cmp4_gt,
00726         TOP_cmp4_gt_unc,        TOP_cmp4_gtu,   TOP_cmp4_gtu_unc,
00727         TOP_cmp4_le,    TOP_cmp4_le_unc,        TOP_cmp4_leu,
00728         TOP_cmp4_leu_unc,       TOP_cmp4_lt,    TOP_cmp4_lt_unc,
00729         TOP_cmp4_ltu,   TOP_cmp4_ltu_unc,       TOP_cmp4_ne,
00730         TOP_cmp4_ne_and,        TOP_cmp4_ne_and_orcm,   TOP_cmp4_ne_andcm,
00731         TOP_cmp4_ne_or, TOP_cmp4_ne_or_andcm,   TOP_cmp4_ne_orcm,
00732         TOP_cmp4_ne_unc,        TOP_cmp4_i_eq,  TOP_cmp4_i_eq_and,
00733         TOP_cmp4_i_eq_and_orcm, TOP_cmp4_i_eq_andcm,    TOP_cmp4_i_eq_or,
00734         TOP_cmp4_i_eq_or_andcm, TOP_cmp4_i_eq_orcm,     TOP_cmp4_i_eq_unc,
00735         TOP_cmp4_i_ge,  TOP_cmp4_i_ge_unc,      TOP_cmp4_i_geu,
00736         TOP_cmp4_i_geu_unc,     TOP_cmp4_i_gt,  TOP_cmp4_i_gt_unc,
00737         TOP_cmp4_i_gtu, TOP_cmp4_i_gtu_unc,     TOP_cmp4_i_le,
00738         TOP_cmp4_i_le_unc,      TOP_cmp4_i_leu, TOP_cmp4_i_leu_unc,
00739         TOP_cmp4_i_lt,  TOP_cmp4_i_lt_unc,      TOP_cmp4_i_ltu,
00740         TOP_cmp4_i_ltu_unc,     TOP_cmp4_i_ne,  TOP_cmp4_i_ne_and,
00741         TOP_cmp4_i_ne_and_orcm, TOP_cmp4_i_ne_andcm,    TOP_cmp4_i_ne_or,
00742         TOP_cmp4_i_ne_or_andcm, TOP_cmp4_i_ne_orcm,     TOP_cmp4_i_ne_unc,
00743         TOP_cmp_i_eq,   TOP_cmp_i_eq_and,       TOP_cmp_i_eq_and_orcm,
00744         TOP_cmp_i_eq_andcm,     TOP_cmp_i_eq_or,        TOP_cmp_i_eq_or_andcm,
00745         TOP_cmp_i_eq_orcm,      TOP_cmp_i_eq_unc,       TOP_cmp_i_ge,
00746         TOP_cmp_i_ge_unc,       TOP_cmp_i_geu,  TOP_cmp_i_geu_unc,
00747         TOP_cmp_i_gt,   TOP_cmp_i_gt_unc,       TOP_cmp_i_gtu,
00748         TOP_cmp_i_gtu_unc,      TOP_cmp_i_le,   TOP_cmp_i_le_unc,
00749         TOP_cmp_i_leu,  TOP_cmp_i_leu_unc,      TOP_cmp_i_lt,
00750         TOP_cmp_i_lt_unc,       TOP_cmp_i_ltu,  TOP_cmp_i_ltu_unc,
00751         TOP_cmp_i_ne,   TOP_cmp_i_ne_and,       TOP_cmp_i_ne_and_orcm,
00752         TOP_cmp_i_ne_andcm,     TOP_cmp_i_ne_or,        TOP_cmp_i_ne_or_andcm,
00753         TOP_cmp_i_ne_orcm,      TOP_cmp_i_ne_unc,       TOP_fclass_m,
00754         TOP_fclass_m_unc,       TOP_fclass_nm,  TOP_fclass_nm_unc,
00755         TOP_tbit_nz,    TOP_tbit_nz_and,        TOP_tbit_nz_or,
00756         TOP_tbit_nz_or_andcm,   TOP_tbit_nz_unc,        TOP_tbit_z,
00757         TOP_tbit_z_and, TOP_tbit_z_or,  TOP_tbit_z_or_andcm,
00758         TOP_tbit_z_unc,
00759         TOP_UNDEFINED);
00760 
00761 /* ===== %5s %s %s,%s=%s,r0 ===== */
00762   ISA_PRINT_TYPE print_47;
00763   print_47 = ISA_Print_Type_Create("print_47", "%5s %s %s,%s=%s,r0");
00764   Operand(0);           // qp
00765   Name();
00766   Result(0);            // p1
00767   Result(1);            // p2
00768   Operand(1);           // r3
00769   Instruction_Print_Group(print_47,
00770         TOP_cmp4_z2_ge_and,     TOP_cmp4_z2_ge_and_orcm,        TOP_cmp4_z2_ge_andcm,
00771         TOP_cmp4_z2_ge_or,      TOP_cmp4_z2_ge_or_andcm,        TOP_cmp4_z2_ge_orcm,
00772         TOP_cmp4_z2_gt_and,     TOP_cmp4_z2_gt_and_orcm,        TOP_cmp4_z2_gt_andcm,
00773         TOP_cmp4_z2_gt_or,      TOP_cmp4_z2_gt_or_andcm,        TOP_cmp4_z2_gt_orcm,
00774         TOP_cmp4_z2_le_and,     TOP_cmp4_z2_le_and_orcm,        TOP_cmp4_z2_le_andcm,
00775         TOP_cmp4_z2_le_or,      TOP_cmp4_z2_le_or_andcm,        TOP_cmp4_z2_le_orcm,
00776         TOP_cmp4_z2_lt_and,     TOP_cmp4_z2_lt_and_orcm,        TOP_cmp4_z2_lt_andcm,
00777         TOP_cmp4_z2_lt_or,      TOP_cmp4_z2_lt_or_andcm,        TOP_cmp4_z2_lt_orcm,
00778         TOP_cmp_z2_ge_and,      TOP_cmp_z2_ge_and_orcm, TOP_cmp_z2_ge_andcm,
00779         TOP_cmp_z2_ge_or,       TOP_cmp_z2_ge_or_andcm, TOP_cmp_z2_ge_orcm,
00780         TOP_cmp_z2_gt_and,      TOP_cmp_z2_gt_and_orcm, TOP_cmp_z2_gt_andcm,
00781         TOP_cmp_z2_gt_or,       TOP_cmp_z2_gt_or_andcm, TOP_cmp_z2_gt_orcm,
00782         TOP_cmp_z2_le_and,      TOP_cmp_z2_le_and_orcm, TOP_cmp_z2_le_andcm,
00783         TOP_cmp_z2_le_or,       TOP_cmp_z2_le_or_andcm, TOP_cmp_z2_le_orcm,
00784         TOP_cmp_z2_lt_and,      TOP_cmp_z2_lt_and_orcm, TOP_cmp_z2_lt_andcm,
00785         TOP_cmp_z2_lt_or,       TOP_cmp_z2_lt_or_andcm, TOP_cmp_z2_lt_orcm,
00786         TOP_UNDEFINED);
00787 
00788 /* ===== %5s %s %s,%s=r0,%s ===== */
00789   ISA_PRINT_TYPE print_48;
00790   print_48 = ISA_Print_Type_Create("print_48", "%5s %s %s,%s=r0,%s");
00791   Operand(0);           // qp
00792   Name();
00793   Result(0);            // p1
00794   Result(1);            // p2
00795   Operand(1);           // r3
00796   Instruction_Print_Group(print_48,
00797         TOP_cmp4_z1_ge_and,     TOP_cmp4_z1_ge_and_orcm,        TOP_cmp4_z1_ge_andcm,
00798         TOP_cmp4_z1_ge_or,      TOP_cmp4_z1_ge_or_andcm,        TOP_cmp4_z1_ge_orcm,
00799         TOP_cmp4_z1_gt_and,     TOP_cmp4_z1_gt_and_orcm,        TOP_cmp4_z1_gt_andcm,
00800         TOP_cmp4_z1_gt_or,      TOP_cmp4_z1_gt_or_andcm,        TOP_cmp4_z1_gt_orcm,
00801         TOP_cmp4_z1_le_and,     TOP_cmp4_z1_le_and_orcm,        TOP_cmp4_z1_le_andcm,
00802         TOP_cmp4_z1_le_or,      TOP_cmp4_z1_le_or_andcm,        TOP_cmp4_z1_le_orcm,
00803         TOP_cmp4_z1_lt_and,     TOP_cmp4_z1_lt_and_orcm,        TOP_cmp4_z1_lt_andcm,
00804         TOP_cmp4_z1_lt_or,      TOP_cmp4_z1_lt_or_andcm,        TOP_cmp4_z1_lt_orcm,
00805         TOP_cmp_z1_ge_and,      TOP_cmp_z1_ge_and_orcm, TOP_cmp_z1_ge_andcm,
00806         TOP_cmp_z1_ge_or,       TOP_cmp_z1_ge_or_andcm, TOP_cmp_z1_ge_orcm,
00807         TOP_cmp_z1_gt_and,      TOP_cmp_z1_gt_and_orcm, TOP_cmp_z1_gt_andcm,
00808         TOP_cmp_z1_gt_or,       TOP_cmp_z1_gt_or_andcm, TOP_cmp_z1_gt_orcm,
00809         TOP_cmp_z1_le_and,      TOP_cmp_z1_le_and_orcm, TOP_cmp_z1_le_andcm,
00810         TOP_cmp_z1_le_or,       TOP_cmp_z1_le_or_andcm, TOP_cmp_z1_le_orcm,
00811         TOP_cmp_z1_lt_and,      TOP_cmp_z1_lt_and_orcm, TOP_cmp_z1_lt_andcm,
00812         TOP_cmp_z1_lt_or,       TOP_cmp_z1_lt_or_andcm, TOP_cmp_z1_lt_orcm,
00813         TOP_UNDEFINED);
00814 
00815 /* ===== %5s %s %s=%s,%s,%s ===== */
00816   ISA_PRINT_TYPE print_49;
00817   print_49 = ISA_Print_Type_Create("print_49", "%5s %s %s=%s,%s,%s");
00818   Operand(0);           // qp
00819   Name();
00820   Result(0);            // r1
00821   Operand(1);           // r2
00822   Operand(2);           // imm
00823   Operand(3);           // imm
00824   Instruction_Print_Group(print_49,
00825         TOP_dep_z,      TOP_dep_i_z,    TOP_extr,
00826         TOP_extr_u,     TOP_fselect,    TOP_pmpyshr2,
00827         TOP_pmpyshr2_u, TOP_pshladd2,   TOP_pshradd2,
00828         TOP_shladd,     TOP_shladdp4,   TOP_shrp,
00829         TOP_xma_h,      TOP_xma_hu,     TOP_xma_l,
00830         TOP_xma_lu,
00831         TOP_UNDEFINED);
00832 
00833 /* ===== %5s %s%s%s %s=[%s] ===== */
00834   ISA_PRINT_TYPE print_50;
00835   print_50 = ISA_Print_Type_Create("print_50", "%5s %s%s%s %s=[%s]");
00836   Operand(0);           // qp
00837   Name();
00838   Operand(1);           // ldtype
00839   Operand(2);           // ldhint
00840   Result(0);            // r1
00841   Operand(3);           // r3
00842   Instruction_Print_Group(print_50,
00843         TOP_ld1,        TOP_ld2,        TOP_ld4,
00844         TOP_ld8,        TOP_ldf8,       TOP_ldfd,
00845         TOP_ldfe,       TOP_ldfs,
00846         TOP_UNDEFINED);
00847 
00848 /* ===== %5s %s%s%s [%s]=%s ===== */
00849   ISA_PRINT_TYPE print_51;
00850   print_51 = ISA_Print_Type_Create("print_51", "%5s %s%s%s [%s]=%s");
00851   Operand(0);           // qp
00852   Name();
00853   Operand(1);           // sttype
00854   Operand(2);           // sthint
00855   Operand(3);           // r3
00856   Operand(4);           // r2
00857   Instruction_Print_Group(print_51,
00858         TOP_st1,        TOP_st2,        TOP_st4,
00859         TOP_st8,
00860         TOP_UNDEFINED);
00861 
00862 /* ===== %5s %s%s%s%s %s=%s ===== */
00863   ISA_PRINT_TYPE print_52;
00864   print_52 = ISA_Print_Type_Create("print_52", "%5s %s%s%s%s %s=%s");
00865   Operand(0);           // qp
00866   Name();
00867   Operand(1);           // bwh
00868   Operand(2);           // ph
00869   Operand(3);           // dh
00870   Result(0);            // b1
00871   Operand(4);           // imm
00872   Instruction_Print_Group(print_52,
00873         TOP_br_call,    TOP_br_r_call,  TOP_brl_call,
00874         TOP_UNDEFINED);
00875 
00876 /* ===== %5s %s %s=cpuid[%s] ===== */
00877   ISA_PRINT_TYPE print_53;
00878   print_53 = ISA_Print_Type_Create("print_53", "%5s %s %s=cpuid[%s]");
00879   Operand(0);           // qp
00880   Name();
00881   Result(0);            // r1
00882   Operand(1);           // r3
00883   Instruction_Print_Group(print_53,
00884         TOP_mov_f_cpuid,
00885         TOP_UNDEFINED);
00886 
00887 /* ===== %5s %s%s %s=[%s],%s ===== */
00888   ISA_PRINT_TYPE print_54;
00889   print_54 = ISA_Print_Type_Create("print_54", "%5s %s%s %s=[%s],%s");
00890   Operand(0);           // qp
00891   Name();
00892   Operand(1);           // ldhint
00893   Result(0);            // r1
00894   Operand(2);           // r3
00895   Operand(3);           // imm
00896   Instruction_Print_Group(print_54,
00897         TOP_ld8_i_fill, TOP_ld8_r_fill, TOP_ldf_i_fill,
00898         TOP_ldf_r_fill, TOP_xchg1,      TOP_xchg2,
00899         TOP_xchg4,      TOP_xchg8,
00900         TOP_UNDEFINED);
00901 
00902 /* ===== %5s %s%s [%s]=%s,%s ===== */
00903   ISA_PRINT_TYPE print_55;
00904   print_55 = ISA_Print_Type_Create("print_55", "%5s %s%s [%s]=%s,%s");
00905   Operand(0);           // qp
00906   Name();
00907   Operand(1);           // sthint
00908   Operand(2);           // r3
00909   Operand(3);           // r2
00910   Operand(4);           // imm
00911   Instruction_Print_Group(print_55,
00912         TOP_st8_i_spill,        TOP_stf8_i,     TOP_stf_i_spill,
00913         TOP_stfd_i,     TOP_stfe_i,     TOP_stfs_i,
00914         TOP_UNDEFINED);
00915 
00916 /* ===== %5s %s%s%s %s=%s,%s ===== */
00917   ISA_PRINT_TYPE print_56;
00918   print_56 = ISA_Print_Type_Create("print_56", "%5s %s%s%s %s=%s,%s");
00919   Operand(0);           // qp
00920   Name();
00921   Operand(1);           // mwh
00922   Operand(2);           // ih
00923   Result(0);            // b1
00924   Operand(3);           // r2
00925   Operand(4);           // imm
00926   Instruction_Print_Group(print_56,
00927         TOP_mov_t_br_ret,       TOP_mov_t_br_i,
00928         TOP_UNDEFINED);
00929 
00930 /* ===== %5s %s%s %s,%s=%s,%s ===== */
00931   ISA_PRINT_TYPE print_57;
00932   print_57 = ISA_Print_Type_Create("print_57", "%5s %s%s %s,%s=%s,%s");
00933   Operand(0);           // qp
00934   Name();
00935   Operand(1);           // sf
00936   Result(0);            // p1
00937   Result(1);            // p2
00938   Operand(2);           // f2
00939   Operand(3);           // f3
00940   Instruction_Print_Group(print_57,
00941         TOP_fcmp_eq,    TOP_fcmp_eq_unc,        TOP_fcmp_ge,
00942         TOP_fcmp_ge_unc,        TOP_fcmp_gt,    TOP_fcmp_gt_unc,
00943         TOP_fcmp_le,    TOP_fcmp_le_unc,        TOP_fcmp_lt,
00944         TOP_fcmp_lt_unc,        TOP_fcmp_neq,   TOP_fcmp_neq_unc,
00945         TOP_fcmp_nge,   TOP_fcmp_nge_unc,       TOP_fcmp_ngt,
00946         TOP_fcmp_ngt_unc,       TOP_fcmp_nle,   TOP_fcmp_nle_unc,
00947         TOP_fcmp_nlt,   TOP_fcmp_nlt_unc,       TOP_fcmp_ord,
00948         TOP_fcmp_ord_unc,       TOP_fcmp_unord, TOP_fcmp_unord_unc,
00949         TOP_fprcpa,     TOP_frcpa,
00950         TOP_UNDEFINED);
00951 
00952 /* ===== %5s %s%s %s=%s,%s,%s ===== */
00953   ISA_PRINT_TYPE print_58;
00954   print_58 = ISA_Print_Type_Create("print_58", "%5s %s%s %s=%s,%s,%s");
00955   Operand(0);           // qp
00956   Name();
00957   Operand(1);           // sf
00958   Result(0);            // f1
00959   Operand(2);           // f3
00960   Operand(3);           // f4
00961   Operand(4);           // f2
00962   Instruction_Print_Group(print_58,
00963         TOP_fma,        TOP_fma_d,      TOP_fma_s,
00964         TOP_fms,        TOP_fms_d,      TOP_fms_s,
00965         TOP_fnma,       TOP_fnma_d,     TOP_fnma_s,
00966         TOP_fpma,       TOP_fpms,       TOP_fpnma,
00967         TOP_UNDEFINED);
00968 
00969 /* ===== %5s %s %s=%s,%s,%s,%s ===== */
00970   ISA_PRINT_TYPE print_59;
00971   print_59 = ISA_Print_Type_Create("print_59", "%5s %s %s=%s,%s,%s,%s");
00972   Operand(0);           // qp
00973   Name();
00974   Result(0);            // r1
00975   Operand(1);           // r2
00976   Operand(2);           // r3
00977   Operand(3);           // imm
00978   Operand(4);           // imm
00979   Instruction_Print_Group(print_59,
00980         TOP_dep,        TOP_dep_i,
00981         TOP_UNDEFINED);
00982 
00983 /* ===== %5s %s%s%s %s,%s=[%s] ===== */
00984   ISA_PRINT_TYPE print_60;
00985   print_60 = ISA_Print_Type_Create("print_60", "%5s %s%s%s %s,%s=[%s]");
00986   Operand(0);           // qp
00987   Name();
00988   Operand(1);           // fldtype
00989   Operand(2);           // ldhint
00990   Result(0);            // f1
00991   Result(1);            // f2
00992   Operand(3);           // r3
00993   Instruction_Print_Group(print_60,
00994         TOP_ldfp8,      TOP_ldfpd,      TOP_ldfps,
00995         TOP_UNDEFINED);
00996 
00997 /* ===== %5s %s%s%s %s=[%s],%s ===== */
00998   ISA_PRINT_TYPE print_61;
00999   print_61 = ISA_Print_Type_Create("print_61", "%5s %s%s%s %s=[%s],%s");
01000   Operand(0);           // qp
01001   Name();
01002   Operand(1);           // sem
01003   Operand(2);           // ldhint
01004   Result(0);            // r1
01005   Operand(3);           // r3
01006   Operand(4);           // imm
01007   Instruction_Print_Group(print_61,
01008         TOP_fetchadd4,  TOP_fetchadd8,  TOP_ld1_i,
01009         TOP_ld1_r,      TOP_ld2_i,      TOP_ld2_r,
01010         TOP_ld4_i,      TOP_ld4_r,      TOP_ld8_i,
01011         TOP_ld8_r,      TOP_ldf8_i,     TOP_ldf8_r,
01012         TOP_ldfd_i,     TOP_ldfd_r,     TOP_ldfe_i,
01013         TOP_ldfe_r,     TOP_ldfs_i,     TOP_ldfs_r,
01014         TOP_UNDEFINED);
01015 
01016 /* ===== %5s %s%s%s [%s]=%s,%s ===== */
01017   ISA_PRINT_TYPE print_62;
01018   print_62 = ISA_Print_Type_Create("print_62", "%5s %s%s%s [%s]=%s,%s");
01019   Operand(0);           // qp
01020   Name();
01021   Operand(1);           // sttype
01022   Operand(2);           // sthint
01023   Operand(3);           // r3
01024   Operand(4);           // r2
01025   Operand(5);           // imm
01026   Instruction_Print_Group(print_62,
01027         TOP_st1_i,      TOP_st2_i,      TOP_st4_i,
01028         TOP_st8_i,
01029         TOP_UNDEFINED);
01030 
01031 /* ===== %5s %s%s%s %s,%s=[%s],8 ===== */
01032   ISA_PRINT_TYPE print_63;
01033   print_63 = ISA_Print_Type_Create("print_63", "%5s %s%s%s %s,%s=[%s],8");
01034   Operand(0);           // qp
01035   Name();
01036   Operand(1);           // fldtype
01037   Operand(2);           // ldhint
01038   Result(0);            // f1
01039   Result(1);            // f2
01040   Operand(3);           // r3
01041   Instruction_Print_Group(print_63,
01042         TOP_ldfps_i,
01043         TOP_UNDEFINED);
01044 
01045 /* ===== %5s %s%s%s %s,%s=[%s],16 ===== */
01046   ISA_PRINT_TYPE print_64;
01047   print_64 = ISA_Print_Type_Create("print_64", "%5s %s%s%s %s,%s=[%s],16");
01048   Operand(0);           // qp
01049   Name();
01050   Operand(1);           // fldtype
01051   Operand(2);           // ldhint
01052   Result(0);            // f1
01053   Result(1);            // f2
01054   Operand(3);           // r3
01055   Instruction_Print_Group(print_64,
01056         TOP_ldfp8_i,    TOP_ldfpd_i,
01057         TOP_UNDEFINED);
01058 
01059 /* =====       %s %s=ar.pfs,%s,%s,%s ===== */
01060   ISA_PRINT_TYPE print_65;
01061   print_65 = ISA_Print_Type_Create("print_65", "      %s %s=ar.pfs,%s,%s,%s");
01062   Name();
01063   Result(0);            // r1
01064   Operand(0);           // imm
01065   Operand(1);           // imm
01066   Operand(2);           // imm
01067   Instruction_Print_Group(print_65,
01068         TOP_alloc_3,
01069         TOP_UNDEFINED);
01070 
01071 /* ===== %5s %s%s%s %s=[%s],%s,ar.ccv ===== */
01072   ISA_PRINT_TYPE print_66;
01073   print_66 = ISA_Print_Type_Create("print_66", "%5s %s%s%s %s=[%s],%s,ar.ccv");
01074   Operand(0);           // qp
01075   Name();
01076   Operand(1);           // sem
01077   Operand(2);           // ldhint
01078   Result(0);            // r1
01079   Operand(3);           // r3
01080   Operand(4);           // r2
01081   Instruction_Print_Group(print_66,
01082         TOP_cmpxchg1,   TOP_cmpxchg2,   TOP_cmpxchg4,
01083         TOP_cmpxchg8,
01084         TOP_UNDEFINED);
01085 
01086 /* =====       %s %s=ar.pfs,%s,%s,%s,%s ===== */
01087   ISA_PRINT_TYPE print_67;
01088   print_67 = ISA_Print_Type_Create("print_67", "      %s %s=ar.pfs,%s,%s,%s,%s");
01089   Name();
01090   Result(0);            // r1
01091   Operand(0);           // imm
01092   Operand(1);           // imm
01093   Operand(2);           // imm
01094   Operand(3);           // imm
01095   Instruction_Print_Group(print_67,
01096         TOP_alloc,
01097         TOP_UNDEFINED);
01098 
01099   ISA_Print_End();
01100   return 0;
01101 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines