The attached patch si_subset.diff enables the target SI generator to
work with ISA subsets.  Previously I had not tested this case as no
one was using it, but it looks like it is useful as a way to avoid
having to explicitly list unsupported instructions in the set of dummy
instructions.  There are also a few minor changes to fix compilation
warnings for si_gen.cxx.  The generator still requires that you
provide SI for all instructions in the processor's target ISA subset.

The second patch, sl_example.diff, shows how to modify the definitions
of the SL target to use a second ISA subset.  I do not plan to check
these changes in -- the patch is provided only as an example.  Here, a
common subset of instructions is factored out to form the SL5 subset.
The instruction "smult" is added to the list of dummy instructions for
the other targets -- it seems to be an odd case where it is supported
by SL5 but not the other processors which otherwise support many more
instructions, and I think it seems reasonable to require that it be
listed as a dummy.

Could a gatekeeper please review the first patch?  Thanks,

-David Coakley / AMD Open Source Compiler Engineering
Index: osprey/common/targ_info/generate/si_gen.cxx
===================================================================
--- osprey/common/targ_info/generate/si_gen.cxx (revision 3467)
+++ osprey/common/targ_info/generate/si_gen.cxx (working copy)
@@ -89,8 +89,8 @@
 const int max_results = ISA_OPERAND_max_results;
 const int max_machine_slots = 16;
 
-static ISA_SUBSET machine_isa;
 static int current_machine_slot;
+static ISA_SUBSET machine_isa[max_machine_slots];
 static std::string machine_name[max_machine_slots];
 
 static const char * const interface[] = {
@@ -1172,7 +1172,7 @@
   GNAME gname("latency");
   output_latencies[*this] = gname;
 
-  fprintf(fd,"static const mUINT8 %s[%d] = {",gname.Gname(),times.size());
+  fprintf(fd,"static const mUINT8 %s[%lu] = {",gname.Gname(),times.size());
 
     bool is_first = true;
     std::vector<int>::iterator i;
@@ -1696,7 +1696,7 @@
   }
 
   i = 1;
-  fprintf(fd,"\nconst SI SI_all[%u] = {\n", instruction_group_set.size());
+  fprintf(fd,"\nconst SI SI_all[%lu] = {\n", instruction_group_set.size());
   for (mi = instruction_group_set.begin();
        mi != instruction_group_set.end();
        ++mi
@@ -1714,7 +1714,7 @@
 {
   std::list<INSTRUCTION_GROUP*>::iterator iig;
 
-  fprintf(fd,"\nstatic const int SI_ID_si_%d[%d] = {",machine_slot,
+  fprintf(fd,"\nstatic const int SI_ID_si_%d[%lu] = {",machine_slot,
           by_machine_instruction_groups[machine_slot].size());
 
   bool is_first = true;
@@ -1733,7 +1733,7 @@
 
 void INSTRUCTION_GROUP::Output_Members(FILE* fd, int machine_slot)
 {
-  fprintf(fd,"    %-20u  /* SI_ID_count */,\n",
+  fprintf(fd,"    %-20lu  /* SI_ID_count */,\n",
           by_machine_instruction_groups[machine_slot].size());
   fprintf(fd,"    SI_ID_si_%-11d  /* SI_ID_si */,\n",machine_slot);
 }
@@ -1780,6 +1780,9 @@
 
   static std::vector<bool> top_sched_info_defined[max_machine_slots];
   // Which elements defined
+
+  static INSTRUCTION_GROUP* machine_dummies[max_machine_slots];
+  // Pointer to dummy instruction used to fill unused slots
 };
 
 std::vector<INSTRUCTION_GROUP*>
@@ -1787,14 +1790,14 @@
 std::vector<bool>
   TOP_SCHED_INFO_MAP::top_sched_info_defined[max_machine_slots];
 
+INSTRUCTION_GROUP* TOP_SCHED_INFO_MAP::machine_dummies[max_machine_slots];
+
 void TOP_SCHED_INFO_MAP::Create_Dummies( void )
 {
   INSTRUCTION_GROUP *dummies = NULL;
 
-  TOP_SCHED_INFO_MAP::top_sched_info_ptr_map[current_machine_slot].resize(
-    TOP_count,NULL);
-  TOP_SCHED_INFO_MAP::top_sched_info_defined[current_machine_slot].resize(
-    TOP_count,false);
+  top_sched_info_ptr_map[current_machine_slot].resize(TOP_count,NULL);
+  top_sched_info_defined[current_machine_slot].resize(TOP_count,false);
 
   for ( int i = 0; i < TOP_count; ++i ) {
     if ( TOP_is_dummy((TOP)i) ) {
@@ -1806,6 +1809,7 @@
       top_sched_info_ptr_map[current_machine_slot][i] = dummies;
     }
   }
+  machine_dummies[current_machine_slot] = dummies;
 }
 
 void TOP_SCHED_INFO_MAP::Add_Entry( TOP top, INSTRUCTION_GROUP* ig )
@@ -1828,14 +1832,14 @@
   bool err = false;
   bool is_first = true;
   for ( i = 0; i < TOP_count; ++i ) {
-    bool isa_member = ISA_SUBSET_Member(machine_isa, (TOP)i);
+    bool isa_member = ISA_SUBSET_Member(machine_isa[machine_slot], (TOP)i);
     bool is_dummy = TOP_is_dummy((TOP)i);
 
     if ( top_sched_info_defined[machine_slot][i] ) {
       if ( ! isa_member ) {
         fprintf(stderr,
                 "### Warning: scheduling info for non-%s ISA opcode %s (%s)\n",
-                ISA_SUBSET_Name(machine_isa),
+                ISA_SUBSET_Name(machine_isa[machine_slot]),
                 TOP_Name((TOP)i),
                 machine_name[machine_slot].c_str());
       } else if ( is_dummy ) {
@@ -1858,8 +1862,13 @@
     // If we have seen a fatal error, skip printing the entry to avoid a crash.
     if ( ! err ) {
       Maybe_Print_Comma(fd,is_first);
-      fprintf(fd,"\n  %-4u  /* %s */",
-              top_sched_info_ptr_map[machine_slot][i]->Id(),TOP_Name((TOP)i));
+      if ( ! isa_member )
+        fprintf(fd,"\n  %-4u  /* %s (dummy, not in ISA subset %s) */",
+                machine_dummies[machine_slot]->Id(),TOP_Name((TOP)i),
+                ISA_SUBSET_Name(machine_isa[machine_slot]));
+      else
+        fprintf(fd,"\n  %-4u  /* %s */",
+                
top_sched_info_ptr_map[machine_slot][i]->Id(),TOP_Name((TOP)i));
     }
   }
   fprintf(fd,"\n};\n");
@@ -1886,7 +1895,7 @@
 void Machine( const char* name, ISA_SUBSET isa )
 {
   machine_name[current_machine_slot] = name;
-  machine_isa = isa;
+  machine_isa[current_machine_slot] = isa;
 
   TOP_SCHED_INFO_MAP::Create_Dummies();
 }
Index: osprey/common/targ_info/proc/SL/sl5_si.cxx
===================================================================
--- osprey/common/targ_info/proc/SL/sl5_si.cxx  (revision 3467)
+++ osprey/common/targ_info/proc/SL/sl5_si.cxx  (working copy)
@@ -44,7 +44,7 @@
 
 void Generate_SL5 (void)
 {
-  Machine("sl5", ISA_SUBSET_MIPS4);
+  Machine("sl5", ISA_SUBSET_SL5);
 
   res_issue = RESOURCE_Create("issue", 1);
   res_memory = RESOURCE_Create("memory", 1);
Index: osprey/common/targ_info/proc/SL/sl1_dsp_si.cxx
===================================================================
--- osprey/common/targ_info/proc/SL/sl1_dsp_si.cxx      (revision 3467)
+++ osprey/common/targ_info/proc/SL/sl1_dsp_si.cxx      (working copy)
@@ -1344,6 +1344,7 @@
   Resource_Requirement(res_issue, 0);
 
   Instruction_Group("dummy",
+                   TOP_smult,
                    TOP_asm,
                    TOP_intrncall,
                    TOP_spadjust,
Index: osprey/common/targ_info/proc/SL/sl2_mcore_si.cxx
===================================================================
--- osprey/common/targ_info/proc/SL/sl2_mcore_si.cxx    (revision 3467)
+++ osprey/common/targ_info/proc/SL/sl2_mcore_si.cxx    (working copy)
@@ -1360,6 +1360,7 @@
   Resource_Requirement(res_integer, 0);
 
   Instruction_Group("dummy",
+                   TOP_smult,
                    TOP_asm,
                    TOP_intrncall,
                    TOP_spadjust,
Index: osprey/common/targ_info/proc/SL/sl1_pcore_si.cxx
===================================================================
--- osprey/common/targ_info/proc/SL/sl1_pcore_si.cxx    (revision 3467)
+++ osprey/common/targ_info/proc/SL/sl1_pcore_si.cxx    (working copy)
@@ -1342,6 +1342,7 @@
   Resource_Requirement(res_issue, 0);
 
   Instruction_Group("dummy",
+                   TOP_smult,
                    TOP_asm,
                    TOP_intrncall,
                    TOP_spadjust,
Index: osprey/common/targ_info/proc/SL/sl2_pcore_si.cxx
===================================================================
--- osprey/common/targ_info/proc/SL/sl2_pcore_si.cxx    (revision 3467)
+++ osprey/common/targ_info/proc/SL/sl2_pcore_si.cxx    (working copy)
@@ -1360,6 +1360,7 @@
   Resource_Requirement(res_integer, 0);
 
   Instruction_Group("dummy",
+                   TOP_smult,
                    TOP_asm,
                    TOP_intrncall,
                    TOP_spadjust,
Index: osprey/common/targ_info/generate/si_gen.cxx
===================================================================
--- osprey/common/targ_info/generate/si_gen.cxx (revision 3467)
+++ osprey/common/targ_info/generate/si_gen.cxx (working copy)
@@ -89,8 +89,8 @@
 const int max_results = ISA_OPERAND_max_results;
 const int max_machine_slots = 16;
 
-static ISA_SUBSET machine_isa;
 static int current_machine_slot;
+static ISA_SUBSET machine_isa[max_machine_slots];
 static std::string machine_name[max_machine_slots];
 
 static const char * const interface[] = {
@@ -1172,7 +1172,7 @@
   GNAME gname("latency");
   output_latencies[*this] = gname;
 
-  fprintf(fd,"static const mUINT8 %s[%d] = {",gname.Gname(),times.size());
+  fprintf(fd,"static const mUINT8 %s[%lu] = {",gname.Gname(),times.size());
 
     bool is_first = true;
     std::vector<int>::iterator i;
@@ -1696,7 +1696,7 @@
   }
 
   i = 1;
-  fprintf(fd,"\nconst SI SI_all[%u] = {\n", instruction_group_set.size());
+  fprintf(fd,"\nconst SI SI_all[%lu] = {\n", instruction_group_set.size());
   for (mi = instruction_group_set.begin();
        mi != instruction_group_set.end();
        ++mi
@@ -1714,7 +1714,7 @@
 {
   std::list<INSTRUCTION_GROUP*>::iterator iig;
 
-  fprintf(fd,"\nstatic const int SI_ID_si_%d[%d] = {",machine_slot,
+  fprintf(fd,"\nstatic const int SI_ID_si_%d[%lu] = {",machine_slot,
           by_machine_instruction_groups[machine_slot].size());
 
   bool is_first = true;
@@ -1733,7 +1733,7 @@
 
 void INSTRUCTION_GROUP::Output_Members(FILE* fd, int machine_slot)
 {
-  fprintf(fd,"    %-20u  /* SI_ID_count */,\n",
+  fprintf(fd,"    %-20lu  /* SI_ID_count */,\n",
           by_machine_instruction_groups[machine_slot].size());
   fprintf(fd,"    SI_ID_si_%-11d  /* SI_ID_si */,\n",machine_slot);
 }
@@ -1780,6 +1780,9 @@
 
   static std::vector<bool> top_sched_info_defined[max_machine_slots];
   // Which elements defined
+
+  static INSTRUCTION_GROUP* machine_dummies[max_machine_slots];
+  // Pointer to dummy instruction used to fill unused slots
 };
 
 std::vector<INSTRUCTION_GROUP*>
@@ -1787,14 +1790,14 @@
 std::vector<bool>
   TOP_SCHED_INFO_MAP::top_sched_info_defined[max_machine_slots];
 
+INSTRUCTION_GROUP* TOP_SCHED_INFO_MAP::machine_dummies[max_machine_slots];
+
 void TOP_SCHED_INFO_MAP::Create_Dummies( void )
 {
   INSTRUCTION_GROUP *dummies = NULL;
 
-  TOP_SCHED_INFO_MAP::top_sched_info_ptr_map[current_machine_slot].resize(
-    TOP_count,NULL);
-  TOP_SCHED_INFO_MAP::top_sched_info_defined[current_machine_slot].resize(
-    TOP_count,false);
+  top_sched_info_ptr_map[current_machine_slot].resize(TOP_count,NULL);
+  top_sched_info_defined[current_machine_slot].resize(TOP_count,false);
 
   for ( int i = 0; i < TOP_count; ++i ) {
     if ( TOP_is_dummy((TOP)i) ) {
@@ -1806,6 +1809,7 @@
       top_sched_info_ptr_map[current_machine_slot][i] = dummies;
     }
   }
+  machine_dummies[current_machine_slot] = dummies;
 }
 
 void TOP_SCHED_INFO_MAP::Add_Entry( TOP top, INSTRUCTION_GROUP* ig )
@@ -1828,14 +1832,14 @@
   bool err = false;
   bool is_first = true;
   for ( i = 0; i < TOP_count; ++i ) {
-    bool isa_member = ISA_SUBSET_Member(machine_isa, (TOP)i);
+    bool isa_member = ISA_SUBSET_Member(machine_isa[machine_slot], (TOP)i);
     bool is_dummy = TOP_is_dummy((TOP)i);
 
     if ( top_sched_info_defined[machine_slot][i] ) {
       if ( ! isa_member ) {
         fprintf(stderr,
                 "### Warning: scheduling info for non-%s ISA opcode %s (%s)\n",
-                ISA_SUBSET_Name(machine_isa),
+                ISA_SUBSET_Name(machine_isa[machine_slot]),
                 TOP_Name((TOP)i),
                 machine_name[machine_slot].c_str());
       } else if ( is_dummy ) {
@@ -1858,8 +1862,13 @@
     // If we have seen a fatal error, skip printing the entry to avoid a crash.
     if ( ! err ) {
       Maybe_Print_Comma(fd,is_first);
-      fprintf(fd,"\n  %-4u  /* %s */",
-              top_sched_info_ptr_map[machine_slot][i]->Id(),TOP_Name((TOP)i));
+      if ( ! isa_member )
+        fprintf(fd,"\n  %-4u  /* %s (dummy, not in ISA subset %s) */",
+                machine_dummies[machine_slot]->Id(),TOP_Name((TOP)i),
+                ISA_SUBSET_Name(machine_isa[machine_slot]));
+      else
+        fprintf(fd,"\n  %-4u  /* %s */",
+                
top_sched_info_ptr_map[machine_slot][i]->Id(),TOP_Name((TOP)i));
     }
   }
   fprintf(fd,"\n};\n");
@@ -1886,7 +1895,7 @@
 void Machine( const char* name, ISA_SUBSET isa )
 {
   machine_name[current_machine_slot] = name;
-  machine_isa = isa;
+  machine_isa[current_machine_slot] = isa;
 
   TOP_SCHED_INFO_MAP::Create_Dummies();
 }
Index: osprey/common/targ_info/isa/SL/isa_subset.cxx
===================================================================
--- osprey/common/targ_info/isa/SL/isa_subset.cxx       (revision 3467)
+++ osprey/common/targ_info/isa/SL/isa_subset.cxx       (working copy)
@@ -33,53 +33,13 @@
 
 main()
 {
-  ISA_SUBSET mips4;
+  ISA_SUBSET mips4, sl5;
 
   ISA_Subset_Begin("MIPS");
-  mips4 = ISA_Subset_Create(NULL,"MIPS4");
 
+  mips4 = ISA_Subset_Create(NULL, "MIPS4");
+
   Instruction_Group(mips4,
-#if defined(TARG_SL)
-      TOP_loop,
-      TOP_mvtc,
-      TOP_mvfc,
-      TOP_mvtc_i,
-      TOP_ret,
-      TOP_abs16,
-      TOP_add16,
-      TOP_add16_i,
-      TOP_add16_sp,
-      TOP_and16,
-      TOP_and16_i,
-      TOP_jr16,
-      TOP_jr16_lnk,
-      TOP_ldw16,
-      TOP_ldub16_rs,
-      TOP_lduh16_rs,
-      TOP_mv16,
-      TOP_mv16_i,
-      TOP_mvfc16,
-      TOP_mvtc16,
-      TOP_nop16,
-      TOP_inv16,
-      TOP_or16,
-      TOP_or16_i,
-      TOP_pop16,
-      TOP_push16,
-      TOP_ret16,
-      TOP_shll16,
-      TOP_shll16_i,
-      TOP_shra16,
-      TOP_shra16_i,
-      TOP_shrl16,
-      TOP_shrl16_i,
-      TOP_stw16,
-      TOP_sub16,
-      TOP_sub16_i,
-      TOP_xor16,
-      TOP_xor16_i,
-      TOP_br16_eqz,
-      TOP_br16_nez,
       //new c3 
       TOP_c3_aadda,
       TOP_c3_bitr,
@@ -148,153 +108,17 @@
       TOP_c3_mvtacc,
       TOP_c3_mvtaddr,
       TOP_c3_mvtadds,
-#endif
-      TOP_lb,
-      TOP_lbu,
-      TOP_lh,
-      TOP_lhu,
-      TOP_lw,
-      TOP_lwl,
-      TOP_lwr,
-      TOP_sb,
-      TOP_sh,
-      TOP_sw,
-      TOP_swl,
-      TOP_swr,
-      TOP_ll,
-      TOP_sc,
       TOP_sync,
-      TOP_lwu,
-      TOP_ld,
-      TOP_ldl,
-      TOP_ldr,
-      TOP_lld,
-      TOP_sd,
-      TOP_sdl,
-      TOP_sdr,
-      TOP_scd,
       TOP_pref,
       TOP_prefx,
-      TOP_add,
-      TOP_addi,
-      TOP_addiu,
-      TOP_addu,
       TOP_div,
       TOP_divu,
       TOP_mult,
       TOP_multu,
-      TOP_slt,
-      TOP_slti,
-      TOP_sltiu,
-      TOP_sltu,
-      TOP_sub,
-      TOP_subu,
-      TOP_dadd,
-      TOP_daddi,
-      TOP_daddiu,
-      TOP_daddu,
       TOP_ddiv,
       TOP_ddivu,
       TOP_dmult,
       TOP_dmultu,
-      TOP_dsub,
-      TOP_dsubu,
-      TOP_and,
-      TOP_andi,
-      TOP_lui,
-      TOP_nor,
-      TOP_or,
-      TOP_ori,
-      TOP_xor,
-      TOP_xori,
-      TOP_mfhi,
-      TOP_mflo,
-      TOP_mthi,
-      TOP_mtlo,
-#if defined(TARG_SL)   
-      TOP_smult,
-      TOP_mc_abs,
-      TOP_mc_zc_eq,
-      TOP_mc_zc_ne,
-      TOP_mc_zc_gt,
-      TOP_mc_zc_ge,
-      TOP_mc_zc_lt,
-      TOP_mc_zc_le,
-      TOP_mc_z_eq,
-      TOP_mc_z_ne,
-      TOP_mc_z_gt,
-      TOP_mc_z_ge,
-      TOP_mc_z_lt,
-      TOP_mc_z_le,
-      TOP_mc_zn_eq,
-      TOP_mc_zn_ne,
-      TOP_mc_zn_gt,
-      TOP_mc_zn_ge,
-      TOP_mc_zn_lt,
-      TOP_mc_zn_le,
-      TOP_mc_r_eq,
-      TOP_mc_r_ne,
-      TOP_mc_r_gt,
-      TOP_mc_r_ge,
-      TOP_mc_r_lt,
-      TOP_mc_r_le,
-      TOP_depb,
-      TOP_extrbs,
-      TOP_extrbu,                          
-#endif                 
-      TOP_movf,
-      TOP_movn,
-      TOP_movt,
-      TOP_movz,
-      TOP_sll,
-      TOP_sllv,
-      TOP_sra,
-      TOP_srav,
-      TOP_srl,
-      TOP_srlv,
-      TOP_dsll,
-      TOP_dsll32,
-      TOP_dsllv,
-      TOP_dsra,
-      TOP_dsra32,
-      TOP_dsrav,
-      TOP_dsrl,
-      TOP_dsrl32,
-      TOP_dsrlv,
-      TOP_beq,
-      TOP_bgez,
-      TOP_bgezal,
-      TOP_bgtz,
-      TOP_blez,
-      TOP_bltz,
-      TOP_bltzal,
-      TOP_bne,
-      TOP_j,
-      TOP_jal,
-      TOP_jalr,
-      TOP_jr,
-      TOP_break,
-      TOP_syscall,
-      TOP_teq,
-      TOP_teqi,
-      TOP_tge,
-      TOP_tgei,
-      TOP_tgeiu,
-      TOP_tgeu,
-      TOP_tlt,
-      TOP_tlti,
-      TOP_tltiu,
-      TOP_tltu,
-      TOP_tne,
-      TOP_tnei,
-      TOP_lwc1,
-      TOP_ldc1,
-      TOP_lwxc1,
-      TOP_ldxc1,
-      TOP_swc1,
-      TOP_sdc1,
-      TOP_swxc1,
-      TOP_sdxc1,
       TOP_abs_s,
       TOP_abs_d,
       TOP_add_s,
@@ -429,19 +253,6 @@
       TOP_trunc_l_d,
       TOP_bc1f,
       TOP_bc1t,
-      TOP_asm,
-      TOP_intrncall,
-      TOP_spadjust,
-      TOP_begin_pregtn,
-      TOP_end_pregtn,
-      TOP_bwd_bar,
-      TOP_fwd_bar,
-#if defined(TARG_SL) || defined(TARG_SL2)
-      TOP_peripheral_rw_begin, 
-      TOP_peripheral_rw_end, 
-#endif
-      TOP_label,
-#ifdef TARG_SL2
       TOP_c2_mvgr_r2g_h_u,
       TOP_c2_mvgr_r2g_h,
       TOP_c2_mvgr_r2g_w,
@@ -768,7 +579,7 @@
       TOP_c2_sum4_saddr, 
       TOP_c2_med,
       TOP_c2_fork_m,
-      TOP_c2_fork_n ,
+      TOP_c2_fork_n,
       TOP_c2_joint,
       TOP_c2_ld_v2g_b_u,
       TOP_c2_ld_v2g_b,
@@ -819,7 +630,194 @@
       TOP_c2_shsub_l_i,
       TOP_c2_shsub_rl_i, 
       TOP_c2_shsub_ra_i, 
-#endif  //TARG_SL2
+      TOP_UNDEFINED);
+
+  sl5 = ISA_Subset_Create(mips4, "SL5");
+
+  Instruction_Group(sl5,
+      TOP_loop,
+      TOP_mvtc,
+      TOP_mvfc,
+      TOP_mvtc_i,
+      TOP_ret,
+      TOP_abs16,
+      TOP_add16,
+      TOP_add16_i,
+      TOP_add16_sp,
+      TOP_and16,
+      TOP_and16_i,
+      TOP_jr16,
+      TOP_jr16_lnk,
+      TOP_ldw16,
+      TOP_ldub16_rs,
+      TOP_lduh16_rs,
+      TOP_mv16,
+      TOP_mv16_i,
+      TOP_mvfc16,
+      TOP_mvtc16,
+      TOP_nop16,
+      TOP_inv16,
+      TOP_or16,
+      TOP_or16_i,
+      TOP_pop16,
+      TOP_push16,
+      TOP_ret16,
+      TOP_shll16,
+      TOP_shll16_i,
+      TOP_shra16,
+      TOP_shra16_i,
+      TOP_shrl16,
+      TOP_shrl16_i,
+      TOP_stw16,
+      TOP_sub16,
+      TOP_sub16_i,
+      TOP_xor16,
+      TOP_xor16_i,
+      TOP_br16_eqz,
+      TOP_br16_nez,
+      TOP_lb,
+      TOP_lbu,
+      TOP_lh,
+      TOP_lhu,
+      TOP_lw,
+      TOP_lwl,
+      TOP_lwr,
+      TOP_sb,
+      TOP_sh,
+      TOP_sw,
+      TOP_swl,
+      TOP_swr,
+      TOP_ll,
+      TOP_sc,
+      TOP_lwu,
+      TOP_ld,
+      TOP_ldl,
+      TOP_ldr,
+      TOP_lld,
+      TOP_sd,
+      TOP_sdl,
+      TOP_sdr,
+      TOP_scd,
+      TOP_add,
+      TOP_addi,
+      TOP_addiu,
+      TOP_addu,
+      TOP_slt,
+      TOP_slti,
+      TOP_sltiu,
+      TOP_sltu,
+      TOP_smult,
+      TOP_sub,
+      TOP_subu,
+      TOP_dadd,
+      TOP_daddi,
+      TOP_daddiu,
+      TOP_daddu,
+      TOP_dsub,
+      TOP_dsubu,
+      TOP_and,
+      TOP_andi,
+      TOP_lui,
+      TOP_nor,
+      TOP_or,
+      TOP_ori,
+      TOP_xor,
+      TOP_xori,
+      TOP_mfhi,
+      TOP_mflo,
+      TOP_mthi,
+      TOP_mtlo,
+      TOP_mc_abs,
+      TOP_mc_zc_eq,
+      TOP_mc_zc_ne,
+      TOP_mc_zc_gt,
+      TOP_mc_zc_ge,
+      TOP_mc_zc_lt,
+      TOP_mc_zc_le,
+      TOP_mc_z_eq,
+      TOP_mc_z_ne,
+      TOP_mc_z_gt,
+      TOP_mc_z_ge,
+      TOP_mc_z_lt,
+      TOP_mc_z_le,
+      TOP_mc_zn_eq,
+      TOP_mc_zn_ne,
+      TOP_mc_zn_gt,
+      TOP_mc_zn_ge,
+      TOP_mc_zn_lt,
+      TOP_mc_zn_le,
+      TOP_mc_r_eq,
+      TOP_mc_r_ne,
+      TOP_mc_r_gt,
+      TOP_mc_r_ge,
+      TOP_mc_r_lt,
+      TOP_mc_r_le,
+      TOP_depb,
+      TOP_extrbs,
+      TOP_extrbu,                          
+      TOP_movf,
+      TOP_movn,
+      TOP_movt,
+      TOP_movz,
+      TOP_sll,
+      TOP_sllv,
+      TOP_sra,
+      TOP_srav,
+      TOP_srl,
+      TOP_srlv,
+      TOP_dsll,
+      TOP_dsll32,
+      TOP_dsllv,
+      TOP_dsra,
+      TOP_dsra32,
+      TOP_dsrav,
+      TOP_dsrl,
+      TOP_dsrl32,
+      TOP_dsrlv,
+      TOP_beq,
+      TOP_bgez,
+      TOP_bgezal,
+      TOP_bgtz,
+      TOP_blez,
+      TOP_bltz,
+      TOP_bltzal,
+      TOP_bne,
+      TOP_j,
+      TOP_jal,
+      TOP_jalr,
+      TOP_jr,
+      TOP_break,
+      TOP_syscall,
+      TOP_teq,
+      TOP_teqi,
+      TOP_tge,
+      TOP_tgei,
+      TOP_tgeiu,
+      TOP_tgeu,
+      TOP_tlt,
+      TOP_tlti,
+      TOP_tltiu,
+      TOP_tltu,
+      TOP_tne,
+      TOP_tnei,
+      TOP_lwc1,
+      TOP_ldc1,
+      TOP_lwxc1,
+      TOP_ldxc1,
+      TOP_swc1,
+      TOP_sdc1,
+      TOP_swxc1,
+      TOP_sdxc1,
+      TOP_asm,
+      TOP_intrncall,
+      TOP_spadjust,
+      TOP_begin_pregtn,
+      TOP_end_pregtn,
+      TOP_bwd_bar,
+      TOP_fwd_bar,
+      TOP_peripheral_rw_begin, 
+      TOP_peripheral_rw_end, 
+      TOP_label,
       TOP_nop,
       TOP_noop,
       TOP_UNDEFINED);
------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to