1997-10-14 02:54:08 +00:00
|
|
|
Tue Oct 14 11:13:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (print_itrace): Output line-ref to igen source file when
|
|
|
|
generating trace statements.
|
|
|
|
(print_itrace_prefix, print_itrace_format): Escape newline at end
|
|
|
|
of each line of generated call to trace function.
|
|
|
|
|
|
|
|
Mon Oct 13 11:27:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-support.c (gen_support_h): Generate #define NIA. Definition
|
|
|
|
dependant on gen-delayed-branch mode.
|
|
|
|
|
|
|
|
* ld-insn.c (parse_insn_mnemonic_record): Check for opening and
|
|
|
|
closing double quote in mnemonic field.
|
|
|
|
(parse_option_record): Add gen-delayed-branch option.
|
|
|
|
|
1997-10-09 08:35:33 +00:00
|
|
|
Wed Oct 8 13:10:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen.c (insn_list_insert): Missing \n in warning.
|
|
|
|
|
|
|
|
* ld-insn.c (load_insn_table): Only notify of discarded
|
|
|
|
instrctions when warn.discard enabled.
|
|
|
|
|
|
|
|
* igen.h: Add option.warn.discard, default enabled.
|
|
|
|
|
|
|
|
* igen.c (main): Add -Wnodiscard option.
|
|
|
|
|
|
|
|
* ld-insn.c (record_type): For old record type, check the number
|
|
|
|
of fields is correct.
|
|
|
|
(load_insn_table): Allow insn assembler and insn model records to
|
|
|
|
appear in any order.
|
|
|
|
(parse_insn_model_record): Rename from parse_insn_model_records.
|
|
|
|
Parse only one record.
|
|
|
|
(parse_insn_mnemonic_record): Rename from
|
|
|
|
parse_insn_mnemonic_records. Parse only one record.
|
|
|
|
|
|
|
|
Tue Sep 23 15:52:06 1997 Felix Lee <flee@yin.cygnus.com>
|
|
|
|
|
|
|
|
* gen-itable.c (gen_itable_h): [nr_itable_* + 1] to avoid
|
|
|
|
illegal zero-sized array.
|
|
|
|
(itable_print_set): likewise, avoid empty initializers.
|
|
|
|
|
|
|
|
Mon Sep 22 18:49:07 1997 Felix Lee <flee@cygnus.com>
|
|
|
|
|
|
|
|
* configure.in: i386-windows is a cross, so don't expect
|
|
|
|
libiberty to be there.
|
|
|
|
* configure: updated.
|
|
|
|
|
1997-09-19 00:50:24 +00:00
|
|
|
Fri Sep 19 10:36:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (print_function_name): Put the format name after the
|
|
|
|
function / instruction name, not before.
|
1997-10-09 08:35:33 +00:00
|
|
|
(print_itrace): Better format trace code.
|
1997-09-19 00:50:24 +00:00
|
|
|
|
1997-09-16 02:14:18 +00:00
|
|
|
Tue Sep 16 11:01:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen.c (insns_bit_useless): Don't treat string fields restricted
|
|
|
|
to a range of values as useless.
|
|
|
|
|
1997-09-15 08:25:04 +00:00
|
|
|
Mon Sep 15 15:47:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
1997-09-15 22:40:14 +00:00
|
|
|
* igen.c (gen_run_c): Handle non-multi-sim case.
|
|
|
|
|
1997-09-15 08:25:04 +00:00
|
|
|
* gen-support.c (gen_support_h): Define SD_ - to replace _SD.
|
|
|
|
Define CIA from cia.
|
|
|
|
|
1997-09-12 02:26:31 +00:00
|
|
|
Thu Sep 11 10:27:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-semantics.c (print_semantic_body): Trace the instruction
|
|
|
|
after it has been validated.
|
|
|
|
(print_semantic_body): Count the instruction using sim-profile.
|
|
|
|
|
1997-09-10 22:07:06 +00:00
|
|
|
Wed Sep 10 13:35:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-itable.c (gen_itable_h): Collect summary info on instruction
|
|
|
|
table when traversing it.
|
|
|
|
(gen_itable_h): Output an enum defining the max size of each of
|
|
|
|
the itable string members.
|
|
|
|
|
1997-09-08 17:40:24 +00:00
|
|
|
Tue Sep 9 03:30:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (gen_run_c): New function. Generate sim_engine_run that
|
|
|
|
looks at the currently selected architecture.
|
|
|
|
|
|
|
|
* gen-engine.c, gen-idecode.c: Add multi-sim support - generate
|
|
|
|
one engine per model.
|
|
|
|
|
|
|
|
* gen-semantics.c, gen-icache.c gen-support.c:
|
|
|
|
Update.
|
|
|
|
|
|
|
|
* ld-insn.h, ld-insn-h (load_insn_table): Rewrite. table.h only
|
|
|
|
returns a line at a time. Parse multi-word instructions. Add
|
|
|
|
multi-sim support.
|
|
|
|
|
|
|
|
* table.h, table.c: Simplify. Only parse a single line at a time.
|
|
|
|
ld-insn can handle the rest.
|
|
|
|
|
|
|
|
* filter.h, filter.c (filter_parse, filter_add, filter_is_subset,
|
|
|
|
filter_is_common, filter_is_member, filter_next): New filter
|
|
|
|
operations.
|
|
|
|
(dump_filter): Ditto.
|
|
|
|
|
|
|
|
* gen.h, gen.c: New file. Takes the insn table and turns it into
|
|
|
|
a set of decode tables and semantic functions.
|
|
|
|
|
|
|
|
* ld-insn.c: Copy generator code from here.
|
|
|
|
* gen.c: To here.
|
|
|
|
|
|
|
|
Fri Aug 8 11:43:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* misc.h (NZALLOC): Allocate an N element array of TYPE.
|
|
|
|
|
|
|
|
* table.h, table.c: Simplify table parser so that it only
|
|
|
|
understands colon delimited lines and code blocks.
|
|
|
|
(table_read): Parse '{' ... '}' as a code block.
|
|
|
|
(table_print_code): New function, print out a code block to file.
|
|
|
|
(main): Add suport for standalone testing.
|
|
|
|
|
|
|
|
* ld-insn.h, ld-insn.c:
|
|
|
|
|
|
|
|
|
|
|
|
Mon Sep 1 11:41:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-idecode.c (error_leaf_contains_multiple_insn): Make static.
|
|
|
|
(print_jump_definition, print_jump, print_jump_internal_function,
|
|
|
|
print_jump_insn, print_jump_until_stop_body): Delete, moved to
|
|
|
|
sim-engine.c
|
|
|
|
|
|
|
|
* igen.c (print_itrace_format): Delete unused variable chp.
|
|
|
|
(gen-engine.h): Include.
|
|
|
|
|
|
|
|
* table.c (current_file_name, current_line_entry,
|
|
|
|
current_line_entry): Make static.
|
|
|
|
|
|
|
|
Wed Aug 6 12:31:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* configure.in: Define AR_FOR_BUILD, AR_FLAGS_FOR_BUILD,
|
|
|
|
RANLIB_FOR_BUILD and CFLAGS_FOR_BUILD.
|
|
|
|
* configure.in: Include simulator common/aclocal.m4.
|
|
|
|
* configure.in: Add --enable-sim-warnings option.
|
|
|
|
* configure: Re-generate.
|
|
|
|
|
|
|
|
* Makefile.in: Use.
|
|
|
|
|
|
|
|
* Makefile.in (tmp-filter): New rule.
|
|
|
|
(igen.o, tmp-table, tmp-ld-decode, tmp-ld-cache, tmp-ld-insn,
|
|
|
|
ld-decode.o, ld-cache.o, ld-insn.o): Fix dependencies.
|
|
|
|
|
|
|
|
* gen.h, gen.c: New files.
|
|
|
|
|
|
|
|
* Makefile.in (gen.o, tmp-gen): New rules, update all
|
|
|
|
dependencies.
|
|
|
|
|
|
|
|
Tue Jun 24 11:46:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* ld-insn.c (load_insn_table): Accept %s as a function type.
|
|
|
|
|
1997-06-06 00:31:08 +00:00
|
|
|
Thu Jun 5 17:14:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (print_itrace_prefix): Move printing of insn prefix to
|
|
|
|
here.
|
|
|
|
(print_itrace_format): Drop printing of MY_NAME in instruction
|
|
|
|
trace. Printing of insn prefix moved.
|
|
|
|
(print_itrace): Ditto.
|
|
|
|
|
|
|
|
Fri May 30 11:27:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-icache.c (print_icache_function_header): Pass
|
|
|
|
table_line_entry instead of separate file and line.
|
|
|
|
|
|
|
|
* table.c (table_entry_read): Set assembler source file/line-nr to
|
|
|
|
the current not initial file.
|
|
|
|
(table_entry_read): Fix line numbering of source files.
|
|
|
|
|
|
|
|
table.h (table_line_entry): New structure. Exactly specifies a
|
|
|
|
source file/line-nr.
|
|
|
|
(table_*_entry): Add this to all.
|
|
|
|
|
|
|
|
table.c (table_entry_print_cpp_line_nr): Change to use values from
|
|
|
|
a table_line_entry struct.
|
|
|
|
(table_entry_read): Save table_line_entry in all structures read.
|
|
|
|
|
|
|
|
gen-icache.c, gen-support.c, gen-idecode.c, gen-semantics.c,
|
|
|
|
gen-model.c: Update all references.
|
|
|
|
|
1997-05-29 07:06:41 +00:00
|
|
|
Thu May 29 10:29:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
1997-06-06 00:31:08 +00:00
|
|
|
* igen.c (print_my_defines): Define MY_NAME - a string. For
|
|
|
|
MY_PREFIX, undefine the name of the function incase some dumb
|
|
|
|
header defined it. it.
|
|
|
|
(print_itrace): Use MY_NAME not MY_PREFIX.
|
|
|
|
|
1997-05-29 07:06:41 +00:00
|
|
|
* lf.c (lf_write): New function write an N character buffer to the
|
|
|
|
file.
|
|
|
|
|
|
|
|
* igen.c (print_itrace): When available, use the assembler to
|
|
|
|
print the insn-trace.
|
|
|
|
(print_itrace_prefix): New function, print first part of call to
|
|
|
|
print_one_insn.
|
|
|
|
(print_itrace_format): New function, print fmt argument for
|
|
|
|
print_one_insn.
|
|
|
|
|
|
|
|
* table.c (table_entry_read): Save any assembler lines instead of
|
|
|
|
discarding them.
|
|
|
|
|
|
|
|
Wed May 28 09:55:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-icache.c (print_icache_body): Process immeds.
|
|
|
|
|
|
|
|
* gen-semantics.c (print_semantic_body): When computing NIA, skip
|
|
|
|
any immed words that follow the instruction word.
|
|
|
|
|
|
|
|
* ld-insn.c (parse_insn_format): Parse immeds appended to an
|
|
|
|
instruction.
|
|
|
|
|
|
|
|
* igen.c (main): Allow any register to be specified as the zero
|
|
|
|
register.
|
|
|
|
(semantic_zero_reg): Global, index to zero register.
|
|
|
|
|
|
|
|
* gen-semantics.c (print_semantic_body): Zero selected register.
|
|
|
|
|
1997-05-27 06:48:20 +00:00
|
|
|
Tue May 27 14:12:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* igen.h: Stop options and code gen type bit masks overlaping.
|
|
|
|
|
1997-05-23 02:01:04 +00:00
|
|
|
Fri May 23 12:01:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-semantics.c (print_semantic_body): Incorrect test for
|
|
|
|
zero-r0 code.
|
|
|
|
|
|
|
|
Fri May 16 14:32:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-semantics.c (print_semantic_body): Use common sim-engine
|
|
|
|
interface.
|
|
|
|
|
1997-05-16 03:27:40 +00:00
|
|
|
Fri May 16 11:48:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* gen-semantics.c (print_semantic_body): Add code to clear r0.
|
|
|
|
|
|
|
|
* igen.c (main): Add new option zero-r0, which adds code to clear
|
|
|
|
GPR(0) each cycle.
|
|
|
|
|
1997-05-07 13:58:52 +00:00
|
|
|
Wed May 7 12:31:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (print_itrace): Fix so line-nr is passed to trace
|
|
|
|
function.
|
|
|
|
|
|
|
|
* gen-idecode.c (print_idecode_validate): Correct FP code.
|
|
|
|
|
|
|
|
* gen-support.c (gen_support_h): Always pass MY_INDEX to support
|
|
|
|
functions.
|
|
|
|
(print_support_function_name): Ditto.
|
|
|
|
|
1997-05-06 10:21:57 +00:00
|
|
|
Tue May 6 06:12:04 1997 Mike Meissner <meissner@cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (print_itrace): Call trace_one_insn to trace
|
|
|
|
instructions, rather than doing it directly.
|
|
|
|
|
1997-05-05 18:16:10 +00:00
|
|
|
Mon May 5 14:11:46 1997 Mike Meissner <meissner@cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
1997-04-30 08:39:51 +00:00
|
|
|
Wed Apr 30 17:35:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
1997-04-24 12:06:27 +00:00
|
|
|
Thu Apr 24 11:43:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
1997-04-23 13:56:14 +00:00
|
|
|
Wed Apr 23 20:06:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (print_function_name): Allow dot's in instruction names.
|
|
|
|
|
1997-04-22 17:46:07 +00:00
|
|
|
Tue Apr 22 21:46:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
1997-04-17 14:03:16 +00:00
|
|
|
Thu Apr 17 07:02:33 1997 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
|
|
|
|
* igen.c (print_itrace): Use TRACE_FOO_P and trace_printf.
|
|
|
|
|
1997-04-15 19:20:58 +00:00
|
|
|
Tue Apr 15 15:20:31 1997 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
|
|
|
|
* Makefile.in (INSTALL): Set to @INSTALL@.
|
|
|
|
(INSTALL_XFORM, INSTALL_XFORM1): Remove.
|
|
|
|
|
|
|
|
Mon Apr 14 16:29:34 1997 Ian Lance Taylor <ian@cygnus.com>
|
|
|
|
|
|
|
|
* Makefile.in (INSTALL): Change install.sh to install-sh.
|
|
|
|
|
1997-04-03 02:52:07 +00:00
|
|
|
Wed Apr 2 18:51:20 1997 Doug Evans <dje@canuck.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* gen-support.c (gen_support_c): Update for renaming of engine to
|
|
|
|
sim-state.
|
|
|
|
|
|
|
|
* igen.c: Ditto.
|
|
|
|
* gen-idecode.c (gen_idecode_c): Ditto.
|
|
|
|
|
1997-03-17 15:29:29 +00:00
|
|
|
Mon Mar 17 15:17:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
1997-03-14 02:00:07 +00:00
|
|
|
Fri Mar 14 11:24:06 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* ld-insn.c (insn_table_expand_opcode): Replace assertion with
|
|
|
|
more useful error message.
|
|
|
|
|
|
|
|
Tue Feb 25 16:43:27 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@critters.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@critters.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <engine> - generate a full
|
|
|
|
simulation engine. Previously this was the -d <idecode-file>
|
|
|
|
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 <prefix> - 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 <cagney@critters.cygnus.com>
|
|
|
|
|
|
|
|
* 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 <cagney@critters.cygnus.com>
|
|
|
|
|
|
|
|
* 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]
|