bfd macro conversion to inline functions
[deliverable/binutils-gdb.git] / sim / ppc / igen.h
index 2e3a8e038d22583128f7f994e9a0cdff591e58d7..052806af31fd6111cfc7b7a08661ffd62bb21d10 100644 (file)
@@ -4,7 +4,7 @@
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
+    the Free Software Foundation; either version 3 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -13,8 +13,7 @@
     GNU General Public License for more details.
  
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+    along with this program; if not, see <http://www.gnu.org/licenses/>.
  
     */
 
@@ -28,9 +27,10 @@ extern int insn_bit_size;
 
 
 enum {
-  generate_with_icache = 0x1,
-  generate_with_semantic_icache = 0x2,
-  generate_with_direct_access_icache = 0x4,
+  generate_with_direct_access = 0x1,
+  generate_with_icache = 0x2,
+  generate_with_semantic_icache = 0x4,
+  generate_with_insn_in_icache = 0x8,
 };
 
 
@@ -39,7 +39,13 @@ typedef enum {
   /* Transfer control to an instructions semantic code using the the
      standard call/return mechanism */
 
-  generate_calls = 0x10,
+  generate_calls = 0x100,
+
+  /* In addition, when refering to fields access them directly instead
+     of via variables */
+
+  generate_calls_with_direct_access
+    = generate_calls | generate_with_direct_access,
 
   /* In addition, pre-decode an instructions opcode fields (entering
      them into an icache) so that semantic code can avoid the need to
@@ -61,7 +67,7 @@ typedef enum {
      directly instead of first moving them into local variables */
 
   generate_calls_with_direct_access_icache
-    = generate_calls_with_icache | generate_with_direct_access_icache,
+    = generate_calls_with_icache | generate_with_direct_access,
 
   generate_calls_with_direct_access_semantic_icache
     = generate_calls_with_direct_access_icache | generate_with_semantic_icache,
@@ -71,7 +77,13 @@ typedef enum {
      (computed) goto's instead of the more conventional call/return
      mechanism */
 
-  generate_jumps = 0x20,
+  generate_jumps = 0x200,
+
+  /* As for generate jumps but with instruction fields accessed
+     directly */
+
+  generate_jumps_with_direct_access
+    = generate_jumps | generate_with_direct_access,
 
   /* As for generate_calls_with_icache but applies to jumping code */
 
@@ -84,10 +96,10 @@ typedef enum {
   generate_jumps_with_semantic_icache
     = generate_jumps_with_icache | generate_with_semantic_icache,
 
-  /* As for generate_calls_with_direct_access_icache */
+  /* As for generate_calls_with_direct_access */
 
   generate_jumps_with_direct_access_icache
-    = generate_jumps_with_icache | generate_with_direct_access_icache,
+    = generate_jumps_with_icache | generate_with_direct_access,
 
   generate_jumps_with_direct_access_semantic_icache
     = generate_jumps_with_direct_access_icache | generate_with_semantic_icache,
@@ -160,8 +172,9 @@ extern int generate_smp;
 
 
 
-extern void print_define_my_index
+extern void print_my_defines
 (lf *file,
+ insn_bits *expanded_bits,
  table_entry *file_entry);
 
 extern void print_itrace
@@ -174,7 +187,6 @@ typedef enum {
   function_name_prefix_semantics,
   function_name_prefix_idecode,
   function_name_prefix_itable,
-  function_name_prefix_goto,
   function_name_prefix_icache,
   function_name_prefix_none
 } lf_function_name_prefixes;
This page took 0.023758 seconds and 4 git commands to generate.