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,
};
/* 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
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,
(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 */
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,
-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
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;