Tue May 6 06:12:04 1997 Mike Meissner * igen.c (print_itrace): Call trace_one_insn to trace instructions, rather than doing it directly. Mon May 5 14:11:46 1997 Mike Meissner * gen-engine.c (engine_switch_leaf): Remove extra %s. (print_engine_floating_point_unavailable): Wrap in #ifdef UNUSED/#endif, until somebody uses it. * gen-idecode.c (error_leaf_contains_multiple_insn): Remove unused variable. (print_jump_until_stop_body): Wrap in #ifdef UNUSED/#endif, until somebody uses it. (print_idecode_validate): Use long formats to print long values. * gen-semantics.c (print_idecode_invalid): Set name to "unknown" if we get an unexpected type. Fri May 2 13:28:06 1997 Andrew Cagney * igen.c (print_itrace): Pass SD as well as CPU to calls to trace_printf. * gen-support.c (gen_support_h): Always pass sim_cia cia to support functions. (print_support_function_name): Ditto. Wed Apr 30 17:35:51 1997 Andrew Cagney * gen-support.c (support_c_function): Remove unnecessary memset of cia. * gen-semantics.c (print_semantic_body): Wasn't closing generated comment. Tue Apr 29 11:11:12 1997 Andrew Cagney * ld-insn.c (load_insn_table): Report instructions that do not have at least a format and name. (insn_table_find_opcode_field): Check progress is being made. * gen-support.c (support_c_function): Report empty function body. Thu Apr 24 11:43:45 1997 Andrew Cagney * ld-insn.c (insn_table_expand_opcode): Allow reserved fields to be broken up. (insn_table_expand_insns): Allow special rules to apply to groups of instructions when all members of the group match the special mask/value. * gen-semantics.c (print_c_semantic): Ditto. * igen.c (print_semantic_function_formal): Ditto. (print_semantic_function_type): Ditto. * igen.c (print_icache_function_formal): Ditto. * gen-idecode.c (print_idecode_issue_function_body): Ditto. * gen-idecode.c (gen_idecode_h): Prepend the global_prefix to the instruction_address type. * gen-semantics.c (print_semantic_body): Call cpu_error when an unimplemented instruction is encountered - gives the interpreter the chance to stop correctly. Wed Apr 23 20:06:36 1997 Andrew Cagney * igen.c (print_function_name): Allow dot's in instruction names. Tue Apr 22 21:46:28 1997 Andrew Cagney * igen.c (main), igen.h: Support new option - delayed-branch - generate code to drive a delayed branch processor. * gen-idecode.c (gen_idecode_h): Define instruction_address type. * igen.c (print_icache_function_formal): Replace address_word with instruction_address. (print_semantic_function_formal): Ditto. (print_semantic_function_type): Ditto. * gen-idecode.c (print_idecode_issue_function_body): Ditto. * gen-semantics.c (print_semantic_body): Ditto. (print_c_semantic): Ditto. * gen-support.c (support_c_function): Return a zeroed CIA instead of just zero - works with any cia type. * igen.c (print_itrace): For delayed branch case, print just the current instruction. Thu Apr 17 07:02:33 1997 Doug Evans * igen.c (print_itrace): Use TRACE_FOO_P and trace_printf. Tue Apr 15 15:20:31 1997 Ian Lance Taylor * Makefile.in (INSTALL): Set to @INSTALL@. (INSTALL_XFORM, INSTALL_XFORM1): Remove. Mon Apr 14 16:29:34 1997 Ian Lance Taylor * Makefile.in (INSTALL): Change install.sh to install-sh. Wed Apr 2 18:51:20 1997 Doug Evans * gen-support.c (gen_support_c): sim-state.h renamed to sim-main.h. * gen-idecode.c (gen_idecode_c): Likewise. * igen.c (gen_semantics_c): Likewise. Mon Mar 24 10:10:08 1997 Andrew Cagney * gen-icache.c (print_icache_body): No longer define cpu/sd, support.h now defines CPU/SD globally. * gen-model.c (gen_model_h): Ditto. * gen-idecode.c (print_idecode_issue_function_body): Ditto. (print_jump): Ditto. (print_jump_until_stop_body): Ditto. (print_idecode_validate): Ditto. * gen-icache.c (print_icache_body): Ditto. * gen-semantics.c (print_semantic_body): Ditto. * igen.c (print_semantic_function_formal): Rename cpu to sim_cpu, processor to cpu. (print_icache_function_formal): Ditto. * gen-support.c (print_support_function_name): Include sd/cpu arg in support function argument list. (support_c_function): Generate code to cpu/sd from sd/cpu. (gen_support_h): Define _SD the argument prefix for all support functions. Define SD/CPU to determine sd/cpu from value of _SD macro. Tue Mar 18 15:52:24 1997 Andrew Cagney * gen-support.c (gen_support_c): Update for renaming of engine to sim-state. * igen.c: Ditto. * gen-idecode.c (gen_idecode_c): Ditto. Mon Mar 17 15:17:07 1997 Andrew Cagney * ld-decode.c (load_decode_table): Rename slash to reserved. (dump_decode_rule): Ditto. * ld-insn.c (parse_insn_format): Differentiate between a `/' - reserved bit - and a `*' - wild card. (parse_insn_format): Change is_slash to more informative reserved. (dump_insn_field): Ditto. (insn_field_is_constant): Ditto. (insn_table_expand_opcode): Ditto. * gen-idecode.c (print_idecode_validate): Make check_mask and check_val the correct integer size. (print_idecode_validate): Fix reserved bit check for 64 bit targets. Fri Mar 14 11:24:06 1997 Andrew Cagney * ld-insn.c (parse_insn_format): Accept '*' as an alternative of `/' in bit fields. `/' denotes a wild bit. Fri Mar 7 18:20:38 1997 Andrew Cagney * igen.h, igen.c (main): New options. Control generation of conditional issue and slot verification code. Fri Mar 7 18:17:25 1997 Andrew Cagney * gen-support.c (print_support_function_name): Prepend the global name prefix when applicable. Provide #define to map the user specified name the generated globaly unique one. Fri Mar 7 18:07:45 1997 Andrew Cagney * gen-idecode.c (print_idecode_validate): Wrap each of the checks - reserved bits, floating point and slot validation - with a #ifdef so that they are optional. Fri Mar 7 16:35:13 1997 Andrew Cagney * gen-idecode.c (error_leaf_contains_multiple_insn): New function - report the error of a leaf node in the decision tree containing several instructions. (print_idecode_table_leaf): Detect a leaf with multiple instructions. (print_idecode_switch_leaf): Ditto. * gen-semantics.h, gen-semantics.c (print_idecode_illegal, print_idecode_invalid): Rename former to latter. Add argument so that one function can generate all invalid instruction cases - illegal, fp-unavailable, wrong-slot. * gen-engine.c: Update. * gen-idecode.c: Use print_idecode_invalid to generate a function call for cases when fp-unavailable and the slot is wrong. * gen-idecode.c (print_idecode_validate): New check, generate code to verify that the instruction slot is correct. * igen.c (main): Simplify options. Wed Mar 5 09:55:55 1997 Andrew Cagney * igen.c (print_itrace): Remove source line reference for trace code - let the user see the generated file. (print_itrace): Print the trace code rather than reference a macro. Tue Mar 4 17:31:55 1997 Andrew Cagney * igen.c (print_semantic_function_actual): Pass either the processor - smp - or the engine - mono - into semantic functions. Don't pass in both. * gen-icache.c (print_icache_body): Dependant on smp, derive processor from engine or engine from processor, and hence ensuring that both are defined in all semantic functions. Mon Mar 3 17:11:21 1997 Andrew Cagney * ld-insn.c (parse_insn_format): Make the width field optional. If missing assume that the number of characters in the value determines the number of bits in the field. Thu Feb 27 11:27:48 1997 Andrew Cagney * ld-insn.c (insn_table_expand_opcode): Replace assertion with more useful error message. Tue Feb 25 16:43:27 1997 Andrew Cagney * misc.c (error): Output errors on stderr. * ld-insn.c (parse_insn_format): Skip any leading spaces. Verify the width of instructions being parsed. * table.c (table_entry_read): Parse CPP's convention for specifying original file name/line-nr. Wed Feb 19 12:30:28 1997 Andrew Cagney * ld-insn.c (parse_insn_format): Allow trailing spaces in instruction fields. * Makefile.in: Create using ../ppc/Makefile.in as a starting point. * configure.in: Ditto vis ../ppc/configure.in Mon Feb 17 10:44:18 1997 Andrew Cagney * gen-support.c (gen_support_c): Always include engine.h instead of cpu.h * gen-idecode.c (gen_idecode_c): Ditto. * words.h (instruction_word): Remove instruction_word - now generated by igen. (address_word): New. Used by igen. * lf.c (lf_print_function_type_function): New, pass a function to print out the type instead of a constant string. * igen.h, igen.c (print_semantic_function_formal, SEMANTIC_FUNCTION_FORMAL): Relace macro with function. (print_semantic_function_actual, SEMANTIC_FUNCTION_ACTUAL): Ditto. (print_semantic_function_type, SEMANTIC_FUNCTION_TYPE): Ditto. (print_icache_function_type, ICACHE_FUNCTION_TYPE): Ditto. (print_icache_function_formal, ICACHE_FUNCTION_FORMAL): Ditto. (print_icache_function_actual, ICACHE_FUNCTION_ACTUAL): Ditto. * gen-idecode.c (print_idecode_table): Update. (idecode_switch_leaf): Update. (print_idecode_switch_function_header): Ditto. (print_idecode_floating_point_unavailable): Ditto. (print_idecode_issue_function_header): Ditto. * igen.c (gen_icache_h): Ditto. * gen-engine.c (print_engine_table): Ditto. (engine_switch_leaf): Ditto. * gen-support.c (print_support_function_name): Ditto. * gen-semantics.c (print_semantic_function_header): Update. Update. * gen-icache.c (print_icache_function_header): Update. (print_icache_function): Update. (print_icache_internal_function_declaration): Update. (print_icache_internal_function_definition): Update. * gen-idecode.c (gen_idecode_h): Drop including of idecode_*.h files, will at some stage need to move it into support. * igen.h, igen.c (main): New option -e - generate a full simulation engine. Previously this was the -d option. * gen-engine.h, gen-engine.c: Copies of gen-idecode.*. Will need to clean these up so that that call upon the updated gen-idecode code. * gen-idecode.h, gen-idecode.c: Prune out any code not relevant to generating a decode table. * Makefile.in (igen): Add dependencies for new gen-engine.* files. * igen.h, igen.c (main): New option -M - Control what is returned by semantic functions - -1/NIA vs CIA+N/NIA. Add generate_semantic_returning_modified_nia_only to igen_code enum. * gen-semantics.c (print_semantic_body): As an alternative, make NIA == -1 instead of CIA+insn_size by default. * igen.h, igen.c (main, global_name_prefix, global_uname_prefix): New option -P - Prepend all generated functions with the specified prefix. (gen_idecode_c): Adjust. * gen-icache.c (print_icache_struct): Ditto. * gen-support.c (gen_support_c): Ditto. Sun Feb 16 15:23:15 1997 Andrew Cagney * igen.c (main): Correct usage. Missleading message about ucase options dumping internal tables. -F now includes rather then excludes instructions. * misc.h, misc.c (a2i): Make 64bit. * ld-insn.h (max_insn_bit_size, default_insn_bit_size): Increase max to 64bits, expect trouble. Make the default 32 bits. * gen-idecode.c (print_idecode_table): Change EXTRACTED* et.al. macro's to use the insn_bit_size instead of assuming 32 bits. * gen-icache.c (print_icache_extraction): Ditto. * gen-idecode.c (idecode_switch_start): Ditto. * gen-idecode.c (gen_idecode_c): Ditto * igen.h (insn_specifying_widths), igen.c (main): New option -W. Indicates that the instruction field of the table is specifying bit widths instead of bit offsets. * ld-insn.c (parse_insn_format): Parse instruction fields specifying widths. * misc.c (a2i): Allow binary numbers to be specified using the syntax 0bNNNN. * ld-insn.c: Allow such numbers to appear in the instruction format. * table.c (table_entry_read): Make // a valid comment character. (table_entry_read): Skip lines containing a leading " - these may eventually be used in a disasembler. Fri Feb 14 15:23:15 1997 Andrew Cagney * filter.c, filter.h, gen-engine.c, gen-engine.h, gen-icache.c, gen-icache.h, gen-idecode.c, gen-idecode.h, gen-itable.c, gen-itable.h, gen-model.c, gen-model.h, gen-semantics.c, gen-semantics.h, gen-support.c, gen-support.h, igen.c, igen.h, ld-cache.c, ld-cache.h, ld-decode.c, ld-decode.h, ld-insn.c, ld-insn.h, lf.c, lf.h, misc.c, misc.h, table.c, table.h: Copy in from the ../ppc directory. * filter_host.c, filter_host.h: Copy in from the ../ppc directory renaming from filter_filename.[hc]