1 2002-05-01 Chris Demetriou <cgd@broadcom.com>
3 * igen.c: Use 'deprecated' rather than 'depreciated.'
5 2002-03-23 Andrew Cagney <ac131313@redhat.com>
7 * gen.c (format_name_cmp): New function.
8 (insn_list_insert): Use the instruction field name as an
9 additional key. Different field names indicate different
12 2002-03-07 Chris Demetriou <cgd@broadcom.com>
14 * igen.c (print_itrace_format): Add support for a new "%#lx" format.
16 Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
18 * configure: Regenerated to track ../common/aclocal.m4 changes.
20 2000-04-12 Frank Ch. Eigler <fche@redhat.com>
22 * gen-semantics.c (print_semantic_body): Use GPR_CLEAR(N) instead
23 of GPR_SET(N,0) for gen-zero-rN.
25 Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
27 * Makefile.in (SIM_WARNINGS): Replace this with.
28 (IGEN_WERROR_CFLAGS, IGEN_WARN_CFLAGS, WERROR_CFLAGS,
29 WARN_CFLAGS): With these.
30 (BUILD_CFLAGS): Update.
32 * configure: Regenerated to track ../common/aclocal.m4 changes.
34 1999-05-08 Felix Lee <flee@cygnus.com>
36 * configure: Regenerated to track ../common/aclocal.m4 changes.
38 Fri Dec 4 15:14:09 1998 Andrew Cagney <cagney@b1.cygnus.com>
40 * igen.c (main): Fix -Pitable=.
42 * gen-engine.c (print_run_body): Prefix instruction_address.
44 Wed Oct 28 18:12:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
46 * Makefile.in (SIM_WARNINGS): Update to match ../common/aclocal.m4
49 Wed Aug 12 10:55:28 1998 Frank Ch. Eigler <fche@cygnus.com>
51 * gen-icache.c (print_icache_extraction): #undef a generated
52 symbol before #define'ing it, to remove conflict with system
55 Wed Jul 29 10:07:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
57 * gen.c (gen_entry_expand_opcode): For conditional, fields. Fix
58 the extraction of the value from its source - both table and bit
61 Tue Jul 28 11:19:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
63 * ld-insn.c (parse_insn_word): For constant conditional strings,
64 encode their bit value.
66 * ld-insn.c (parse_insn_word, parse_insn_words): Allow conditional
67 operands to refer to fields in earlier instruction words.
69 * gen.c (sub_val): Replace field argument with val_last_pos.
70 (gen_entry_expand_opcode): Look in previous tables for a value for
71 a conditional field as well as the bits from the current table.
72 (insn_list_insert): Add sort key of instructions where
73 their operand fields have different conditionals.
74 (insn_field_cmp): New function.
76 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
78 * configure: Regenerated to track ../common/aclocal.m4 changes.
81 Sun Apr 26 15:20:08 1998 Tom Tromey <tromey@cygnus.com>
83 * acconfig.h: New file.
84 * configure.in: Reverted change of Apr 24; use sinclude again.
86 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
88 * configure: Regenerated to track ../common/aclocal.m4 changes.
91 Fri Apr 24 11:19:33 1998 Tom Tromey <tromey@cygnus.com>
93 * configure.in: Don't call sinclude.
95 Fri Apr 24 19:45:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
97 * gen-icache.c (print_icache_extraction): Do not type cast
100 * ld-insn.c (load_insn_table): Terminate error with NL.
102 * gen.c (insns_bit_useless): Perform unsigned bit comparisons.
104 * filter.c (is_filtered_out, filter_parse): Pacify GCC, len is
107 Wed Apr 22 14:27:39 1998 Michael Meissner <meissner@cygnus.com>
109 * configure: Reconfigure to pick up ../common/aclocal.m4 changes
110 to suppress inlining by default.
112 Tue Apr 21 01:37:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
114 * gen-icache.c (print_icache_extraction): When generating #define
115 force the expression to the correct type.
117 Thu Apr 16 08:50:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
119 * misc.c (name2i): strlen returns an unsigned.
121 Tue Apr 14 19:04:28 1998 Andrew Cagney <cagney@b1.cygnus.com>
123 * igen.h (struct igen_warn_options): Add unimplemented option.
124 * igen.c (main): Update
126 * ld-insn.c (load_insn_table): Report unimplemented functions.
128 Tue Apr 14 10:57:26 1998 Andrew Cagney <cagney@b1.cygnus.com>
130 * ld-insn.c (parse_insn_word): Treat `!' and `=' as valid
131 separator tokens when parsing a conditional.
133 * igen.h (main): Add option -S so that suffix can be specified.
135 Tue Apr 14 08:44:53 1998 Andrew Cagney <cagney@b1.cygnus.com>
137 * igen.h (struct igen_trace_options): Add members insn_expansion
140 * igen.c (main): Add options -Gtrace-insn-expansion,
141 -Gtrace-insn-insertion and -Gtrace-all.
143 * gen.c (gen_entry_expand_insns): Trace each instruction as it is
144 selected for expansion.
145 (gen_entry_expand_opcode): Trace each expanded instruction as it
146 is inserted into the table.
148 Mon Apr 13 19:21:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
150 * ld-insn.c (parse_insn_word): Parse conditional operators.
151 (parse_insn_word): Verify field conditionals.
153 * ld-insn.h: Extend syntax to allow macros and field equality.
154 (struct insn_field_cond): Rename insn_field_exclusion, add type.
156 * gen.c (gen_entry_expand_opcode): Check type of conditional.
157 (insns_bit_useless): Ditto.
159 * ld-insn.c (parse_macro_record): New function.
161 Mon Apr 13 22:37:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
163 * ld-insn.h (enum insn_field_type): Add insn_field_invalid.
165 * ld-insn.c (parse_insn_word): Check instruction field type
166 correctly initialized.
167 (print_insn_words): Ditto.
168 (insn_field_type_to_str): Ditto.
169 (dump_insn_field): Ditto.
171 * gen.c (insns_bit_useless): Ditto.
173 Fri Apr 3 18:08:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
175 * gen.h, igen.c (print_include_inline, print_includes,
176 print_includes): New functions. Generate include list. For for
177 semantics et.al. generate CPP code to inline when
180 * igen.c (gen_semantics_c): Call print_includes.
181 * gen-engine.c (gen_engine_c): Ditto.
183 Sat Apr 4 21:09:11 1998 Andrew Cagney <cagney@b1.cygnus.com>
185 * igen.h: (struct _igen_name_option): Replace with struct
186 igen_module_option. Contains both module prefix and suffix.
187 (INIT_OPTIONS): Initialize.
189 * igen.c (main): Update -P option to fill in full module info.
190 (gen-engine.c, gen-icache.c, gen-itable.c, gen-semantics.c,
191 gen-support.c): Update.
193 Sat Apr 4 02:15:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
195 * igen.c (print_itrace): Use TRACE_ANY_P macro to determine if any
198 Thu Mar 26 20:51:23 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
200 * table.c (table_push): Redo, using stdio. Fixes NT native
201 problem with <CRLF>=><LF> translation...
203 Tue Mar 24 23:30:07 1998 Andrew Cagney <cagney@b1.cygnus.com>
205 * gen-engine.c (print_run_body): Re-extract the CIA after
206 processing any events.
208 Tue Mar 24 17:46:08 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
210 * Makefile.in: Get SHELL from configure.
211 * configure: Regenerate with autoconf 2.12.1 to fix shell issues for
214 Mon Mar 16 12:51:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
216 * igen.c: Pass sim_cia to trace_prefix.
218 Thu Feb 26 19:25:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
220 * ld-insn.c (parse_function_record): Check models are valid.
221 (parse_function_record): Only discard function when no model is
224 Tue Feb 24 01:42:03 1998 Andrew Cagney <cagney@b1.cygnus.com>
226 * gen-engine.c (print_run_body): Always wrap generated idecode
227 body in ENGINE_ISSUE_PREFIX_HOOK / ENGINE_ISSUE_POSTFIX_HOOK.
229 Fri Feb 20 16:22:10 1998 Andrew Cagney <cagney@b1.cygnus.com>
231 * ld-insn.c (parse_function_record): When -Wnodiscard, suppress
232 discarded function warning.
234 * igen.c (main): Clarify -Wnodiscard.
236 * ld-insn.c (parse_function_record): For functions, allow use of
237 instruction style function model records
239 * ld-insn.h (nr_function_model_fields): Define.
241 Tue Feb 17 16:36:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
243 * igen.c (print_itrace_prefix): Generate call to trace_prefix
244 instead of trace_one_insn.
245 (print_itrace): Generate trace_prefix call if any tracing enabled,
246 (print_itrace): Nest generated call to trace_generic inside
247 conditional for any tracing enabled.
248 (print_itrace_prefix): Do not pass PHASE to trace_prefix.
250 Tue Feb 3 14:00:32 1998 Andrew Cagney <cagney@b1.cygnus.com>
252 * gen-engine.c (print_run_body): Add bitsize suffix to IMEM macro.
253 * gen-icache.c (print_icache_body): Ditto.
254 * gen-idecode.c (print_idecode_ifetch): Ditto.
256 * gen-icache.c (print_icache_body): Mark successive instruction
259 * ld-insn.c (parse_insn_word): Only report insn-width problems
260 when warning enabled.
262 * igen.h: Add flag for warning about invalid instruction widths.
263 * igen.c: Parse -Wwidth option.
265 * gen-support.c (gen_support_h): Map instruction_word onto
266 <PREFIX>_instruction_word when needed.
267 (print_support_function_name): Use support prefix.
268 (gen_support_h): Ditto for <PREFIX>_idecode_issue.
270 Sun Feb 1 11:08:48 1998 Andrew Cagney <cagney@b1.cygnus.com>
272 * gen-support.c (gen_support_h): Generate new macro CPU_.
274 Sat Jan 31 14:50:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
276 * gen-engine.c (gen_engine_h): Don't assume a model is present.
277 (gen_engine_c): Ditto.
279 * igen.c (gen_run_c): Ditto.
281 * gen-engine.c (print_run_body): Use CIA_GET & CIA_SET instead of
282 CPU_CIA. Parameterize with CPU argument.
284 Fri Jan 30 09:09:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
286 * gen.h (struct _gen_list): Replace processor with model.
288 * igen.c (gen_idecode_h): Update.
289 (gen_run_c): For generated switch, use model->full_name.
291 * gen.c (print_gen_entry_path): Ditto.
293 (gen_entry_expand_insns): Ditto.
294 (make_gen_tables): Ditto.
296 * igen.c (gen_run_c): Add extra argument `nr_cpus' to generated
297 function sim_engine_run. Pass argument on to engine_run.
299 * gen-engine.c (print_engine_run_function_header): Add extra
300 argument `nr_cpus' to generated function engine_run.
301 (print_run_body): Fix SMP case.
303 * gen-support.c (support_c_function): Call sim_engine_abort when
304 internal function fails to long jump.
306 Wed Jan 21 18:00:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
308 * gen-semantics.c (print_semantic_body): Use GPR_SET to zero
311 Wed Dec 17 14:49:03 1997 Jeffrey A Law (law@cygnus.com)
313 * gen-semantics.c (print_semantic_body): Fix handling of
314 hardwired zero register.
316 Tue Dec 9 12:45:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
318 * igen.h (struct _igen_gen_options): Add member default_model.
320 * igen.c (gen_run_c): Default to the first machine in the
322 (main): Add MODEL parameter to gen-multi-sim option.
324 * gen.h (function_decl_type): Declare enum.
326 * gen-engine.c (print_engine_run_function_header), gen-engine.h:
327 Make global, pass function_decl_type as argument.
328 (gen_engine_h, gen_engine_c): Update call.
330 * gen-idecode.c (print_idecode_issue_function_header),
331 gen-idecode.h: Pass function_decl_type as argument.
333 * igen.c (gen_idecode_h): For multi-sim, delcare global variable
336 * igen.c (gen_run_c): For multi-sim, initialize globals
337 idecode_issue and engine_run.
339 Fri Nov 14 10:51:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
341 * ld-insn.c (parse_insn_model_record): Allow multiple model names
342 to be specified in a single instruction model record.
343 (dump_insn_model_entry): Update.
345 * ld-insn.h (struct _insn_model_entry): Replace member name with
346 the filter names. Document syntax change.
348 Wed Nov 12 15:45:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
350 * gen-engine.c (print_run_body): Add hooks for adding code before
351 and after an instruction has been issued.
353 1997-11-04 Brendan Kehoe <brendan@lisa.cygnus.com>
355 * gen-idecode.c (print_jump_until_stop_body): Use `#if 0' instead of
356 `#ifdef 0' around this.
358 Tue Nov 4 08:18:29 1997 Michael Meissner <meissner@cygnus.com>
360 * ld-decode.c (load_decode_table): Don't assume NULL is an integer
363 Wed Oct 29 13:17:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
365 * ld-insn.h: Document mnemonic string format.
367 Tue Oct 28 10:50:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
369 * gen-icache.c (print_icache_extraction): Force result of atol to
372 * ld-insn.c (parse_function_record): Separate handling of old and
373 ney fynction records.
374 (load_insn_table): For %s record, hack function name & type after
377 * filter.h (filter_is_subset): Reverse argument names, wrong
380 * ld-insn.c (load_insn_table): Move include code to.
381 (parse_include_record): New function. Check for filtering of
382 include statement by both flags and models.
383 (load_insn_table): Check for model filtering of cache and model
385 (parse_model_data_record): Check for model & flag filtering of
387 (parse_function_record): Check for model & flag filtering of
390 * ld-insn.h: Define record_filter_models_field. Add filter-models
391 field to all but instruction records.
392 (struct _function_entry, struct _cache_entry): Add models field.
393 (nr_function_fields): Make parm field mandatory.
395 Mon Oct 27 15:14:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
397 * igen.c (main): Change -I option to -I<directory>. Add optional
398 size to -Ggen-icache option. Add -Gno-... support.
400 * igen.h (struct _igen_options): Add include field.
402 * ld-insn.c (enum insn_record_type, insn_type_map): Add
404 (load_insn_table): Call table_push when include record.
406 * table.c (struct _open table, struct table): Make table object an
407 indirect ptr to the current table file.
408 (current_line, new_table_entry, next_line): Make file arg type
410 (table_open): Use table_push.
411 (table_read): Point variable file at current table, at eof, pop
414 * table.h, table.c (table_push): New function.
416 Thu Oct 16 11:03:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
418 * gen-semantics.c (print_semantic_body): Use CIA not
419 cia.ip. Escape newlines at end of generated call to
422 Tue Oct 14 11:13:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
424 * igen.c (print_itrace): Output line-ref to igen source file when
425 generating trace statements.
426 (print_itrace_prefix, print_itrace_format): Escape newline at end
427 of each line of generated call to trace function.
429 Mon Oct 13 11:27:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
431 * gen-support.c (gen_support_h): Generate #define NIA. Definition
432 dependant on gen-delayed-branch mode.
434 * ld-insn.c (parse_insn_mnemonic_record): Check for opening and
435 closing double quote in mnemonic field.
436 (parse_option_record): Add gen-delayed-branch option.
438 Wed Oct 8 13:10:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
440 * gen.c (insn_list_insert): Missing \n in warning.
442 * ld-insn.c (load_insn_table): Only notify of discarded
443 instrctions when warn.discard enabled.
445 * igen.h: Add option.warn.discard, default enabled.
447 * igen.c (main): Add -Wnodiscard option.
449 * ld-insn.c (record_type): For old record type, check the number
450 of fields is correct.
451 (load_insn_table): Allow insn assembler and insn model records to
453 (parse_insn_model_record): Rename from parse_insn_model_records.
454 Parse only one record.
455 (parse_insn_mnemonic_record): Rename from
456 parse_insn_mnemonic_records. Parse only one record.
458 Tue Sep 23 15:52:06 1997 Felix Lee <flee@yin.cygnus.com>
460 * gen-itable.c (gen_itable_h): [nr_itable_* + 1] to avoid
461 illegal zero-sized array.
462 (itable_print_set): likewise, avoid empty initializers.
464 Mon Sep 22 18:49:07 1997 Felix Lee <flee@cygnus.com>
466 * configure.in: i386-windows is a cross, so don't expect
467 libiberty to be there.
468 * configure: updated.
470 Fri Sep 19 10:36:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
472 * igen.c (print_function_name): Put the format name after the
473 function / instruction name, not before.
474 (print_itrace): Better format trace code.
476 Tue Sep 16 11:01:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
478 * gen.c (insns_bit_useless): Don't treat string fields restricted
479 to a range of values as useless.
481 Mon Sep 15 15:47:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
483 * igen.c (gen_run_c): Handle non-multi-sim case.
485 * gen-support.c (gen_support_h): Define SD_ - to replace _SD.
488 Thu Sep 11 10:27:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
490 * gen-semantics.c (print_semantic_body): Trace the instruction
491 after it has been validated.
492 (print_semantic_body): Count the instruction using sim-profile.
494 Wed Sep 10 13:35:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
496 * gen-itable.c (gen_itable_h): Collect summary info on instruction
497 table when traversing it.
498 (gen_itable_h): Output an enum defining the max size of each of
499 the itable string members.
501 Tue Sep 9 03:30:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
503 * igen.c (gen_run_c): New function. Generate sim_engine_run that
504 looks at the currently selected architecture.
506 * gen-engine.c, gen-idecode.c: Add multi-sim support - generate
507 one engine per model.
509 * gen-semantics.c, gen-icache.c gen-support.c:
512 * ld-insn.h, ld-insn-h (load_insn_table): Rewrite. table.h only
513 returns a line at a time. Parse multi-word instructions. Add
516 * table.h, table.c: Simplify. Only parse a single line at a time.
517 ld-insn can handle the rest.
519 * filter.h, filter.c (filter_parse, filter_add, filter_is_subset,
520 filter_is_common, filter_is_member, filter_next): New filter
522 (dump_filter): Ditto.
524 * gen.h, gen.c: New file. Takes the insn table and turns it into
525 a set of decode tables and semantic functions.
527 * ld-insn.c: Copy generator code from here.
530 Fri Aug 8 11:43:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
532 * misc.h (NZALLOC): Allocate an N element array of TYPE.
534 * table.h, table.c: Simplify table parser so that it only
535 understands colon delimited lines and code blocks.
536 (table_read): Parse '{' ... '}' as a code block.
537 (table_print_code): New function, print out a code block to file.
538 (main): Add suport for standalone testing.
540 * ld-insn.h, ld-insn.c:
543 Mon Sep 1 11:41:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
545 * gen-idecode.c (error_leaf_contains_multiple_insn): Make static.
546 (print_jump_definition, print_jump, print_jump_internal_function,
547 print_jump_insn, print_jump_until_stop_body): Delete, moved to
550 * igen.c (print_itrace_format): Delete unused variable chp.
551 (gen-engine.h): Include.
553 * table.c (current_file_name, current_line_entry,
554 current_line_entry): Make static.
556 Wed Aug 6 12:31:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
558 * configure.in: Define AR_FOR_BUILD, AR_FLAGS_FOR_BUILD,
559 RANLIB_FOR_BUILD and CFLAGS_FOR_BUILD.
560 * configure.in: Include simulator common/aclocal.m4.
561 * configure.in: Add --enable-sim-warnings option.
562 * configure: Re-generate.
566 * Makefile.in (tmp-filter): New rule.
567 (igen.o, tmp-table, tmp-ld-decode, tmp-ld-cache, tmp-ld-insn,
568 ld-decode.o, ld-cache.o, ld-insn.o): Fix dependencies.
570 * gen.h, gen.c: New files.
572 * Makefile.in (gen.o, tmp-gen): New rules, update all
575 Tue Jun 24 11:46:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
577 * ld-insn.c (load_insn_table): Accept %s as a function type.
579 Thu Jun 5 17:14:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
581 * igen.c (print_itrace_prefix): Move printing of insn prefix to
583 (print_itrace_format): Drop printing of MY_NAME in instruction
584 trace. Printing of insn prefix moved.
585 (print_itrace): Ditto.
587 Fri May 30 11:27:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
589 * gen-icache.c (print_icache_function_header): Pass
590 table_line_entry instead of separate file and line.
592 * table.c (table_entry_read): Set assembler source file/line-nr to
593 the current not initial file.
594 (table_entry_read): Fix line numbering of source files.
596 table.h (table_line_entry): New structure. Exactly specifies a
598 (table_*_entry): Add this to all.
600 table.c (table_entry_print_cpp_line_nr): Change to use values from
601 a table_line_entry struct.
602 (table_entry_read): Save table_line_entry in all structures read.
604 gen-icache.c, gen-support.c, gen-idecode.c, gen-semantics.c,
605 gen-model.c: Update all references.
607 Thu May 29 10:29:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
609 * igen.c (print_my_defines): Define MY_NAME - a string. For
610 MY_PREFIX, undefine the name of the function incase some dumb
611 header defined it. it.
612 (print_itrace): Use MY_NAME not MY_PREFIX.
614 * lf.c (lf_write): New function write an N character buffer to the
617 * igen.c (print_itrace): When available, use the assembler to
618 print the insn-trace.
619 (print_itrace_prefix): New function, print first part of call to
621 (print_itrace_format): New function, print fmt argument for
624 * table.c (table_entry_read): Save any assembler lines instead of
627 Wed May 28 09:55:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
629 * gen-icache.c (print_icache_body): Process immeds.
631 * gen-semantics.c (print_semantic_body): When computing NIA, skip
632 any immed words that follow the instruction word.
634 * ld-insn.c (parse_insn_format): Parse immeds appended to an
637 * igen.c (main): Allow any register to be specified as the zero
639 (semantic_zero_reg): Global, index to zero register.
641 * gen-semantics.c (print_semantic_body): Zero selected register.
643 Tue May 27 14:12:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
645 * igen.h: Stop options and code gen type bit masks overlaping.
647 Fri May 23 12:01:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
649 * gen-semantics.c (print_semantic_body): Incorrect test for
652 Fri May 16 14:32:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
654 * gen-semantics.c (print_semantic_body): Use common sim-engine
657 Fri May 16 11:48:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
659 * gen-semantics.c (print_semantic_body): Add code to clear r0.
661 * igen.c (main): Add new option zero-r0, which adds code to clear
664 Wed May 7 12:31:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
666 * igen.c (print_itrace): Fix so line-nr is passed to trace
669 * gen-idecode.c (print_idecode_validate): Correct FP code.
671 * gen-support.c (gen_support_h): Always pass MY_INDEX to support
673 (print_support_function_name): Ditto.
675 Tue May 6 06:12:04 1997 Mike Meissner <meissner@cygnus.com>
677 * igen.c (print_itrace): Call trace_one_insn to trace
678 instructions, rather than doing it directly.
680 Mon May 5 14:11:46 1997 Mike Meissner <meissner@cygnus.com>
682 * gen-engine.c (engine_switch_leaf): Remove extra %s.
683 (print_engine_floating_point_unavailable): Wrap in #ifdef
684 UNUSED/#endif, until somebody uses it.
686 * gen-idecode.c (error_leaf_contains_multiple_insn): Remove unused
688 (print_jump_until_stop_body): Wrap in #ifdef UNUSED/#endif, until
690 (print_idecode_validate): Use long formats to print long values.
692 * gen-semantics.c (print_idecode_invalid): Set name to "unknown"
693 if we get an unexpected type.
695 Fri May 2 13:28:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
697 * igen.c (print_itrace): Pass SD as well as CPU to calls to
700 * gen-support.c (gen_support_h): Always pass sim_cia cia to
702 (print_support_function_name): Ditto.
704 Wed Apr 30 17:35:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
706 * gen-support.c (support_c_function): Remove unnecessary memset of
708 * gen-semantics.c (print_semantic_body): Wasn't closing
711 Tue Apr 29 11:11:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
713 * ld-insn.c (load_insn_table): Report instructions that do not
714 have at least a format and name.
715 (insn_table_find_opcode_field): Check progress is being made.
717 * gen-support.c (support_c_function): Report empty function body.
719 Thu Apr 24 11:43:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
721 * ld-insn.c (insn_table_expand_opcode): Allow reserved fields to
723 (insn_table_expand_insns): Allow special rules to apply to groups
724 of instructions when all members of the group match the special
727 * gen-semantics.c (print_c_semantic): Ditto.
728 * igen.c (print_semantic_function_formal): Ditto.
729 (print_semantic_function_type): Ditto.
730 * igen.c (print_icache_function_formal): Ditto.
731 * gen-idecode.c (print_idecode_issue_function_body): Ditto.
733 * gen-idecode.c (gen_idecode_h): Prepend the global_prefix to the
734 instruction_address type.
736 * gen-semantics.c (print_semantic_body): Call cpu_error when an
737 unimplemented instruction is encountered - gives the interpreter
738 the chance to stop correctly.
740 Wed Apr 23 20:06:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
742 * igen.c (print_function_name): Allow dot's in instruction names.
744 Tue Apr 22 21:46:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
746 * igen.c (main), igen.h: Support new option - delayed-branch -
747 generate code to drive a delayed branch processor.
749 * gen-idecode.c (gen_idecode_h): Define instruction_address type.
751 * igen.c (print_icache_function_formal): Replace address_word with
753 (print_semantic_function_formal): Ditto.
754 (print_semantic_function_type): Ditto.
755 * gen-idecode.c (print_idecode_issue_function_body): Ditto.
757 * gen-semantics.c (print_semantic_body): Ditto.
758 (print_c_semantic): Ditto.
760 * gen-support.c (support_c_function): Return a zeroed CIA instead
761 of just zero - works with any cia type.
763 * igen.c (print_itrace): For delayed branch case, print just the
766 Thu Apr 17 07:02:33 1997 Doug Evans <dje@canuck.cygnus.com>
768 * igen.c (print_itrace): Use TRACE_FOO_P and trace_printf.
770 Tue Apr 15 15:20:31 1997 Ian Lance Taylor <ian@cygnus.com>
772 * Makefile.in (INSTALL): Set to @INSTALL@.
773 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
775 Mon Apr 14 16:29:34 1997 Ian Lance Taylor <ian@cygnus.com>
777 * Makefile.in (INSTALL): Change install.sh to install-sh.
779 Wed Apr 2 18:51:20 1997 Doug Evans <dje@canuck.cygnus.com>
781 * gen-support.c (gen_support_c): sim-state.h renamed to sim-main.h.
782 * gen-idecode.c (gen_idecode_c): Likewise.
783 * igen.c (gen_semantics_c): Likewise.
785 Mon Mar 24 10:10:08 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
787 * gen-icache.c (print_icache_body): No longer define cpu/sd,
788 support.h now defines CPU/SD globally.
790 * gen-model.c (gen_model_h): Ditto.
792 * gen-idecode.c (print_idecode_issue_function_body): Ditto.
794 (print_jump_until_stop_body): Ditto.
795 (print_idecode_validate): Ditto.
797 * gen-icache.c (print_icache_body): Ditto.
799 * gen-semantics.c (print_semantic_body): Ditto.
801 * igen.c (print_semantic_function_formal): Rename cpu to sim_cpu,
803 (print_icache_function_formal): Ditto.
805 * gen-support.c (print_support_function_name): Include sd/cpu arg
806 in support function argument list.
807 (support_c_function): Generate code to cpu/sd from sd/cpu.
808 (gen_support_h): Define _SD the argument prefix for all support
809 functions. Define SD/CPU to determine sd/cpu from value of _SD
812 Tue Mar 18 15:52:24 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
814 * gen-support.c (gen_support_c): Update for renaming of engine to
818 * gen-idecode.c (gen_idecode_c): Ditto.
820 Mon Mar 17 15:17:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
822 * ld-decode.c (load_decode_table): Rename slash to reserved.
823 (dump_decode_rule): Ditto.
825 * ld-insn.c (parse_insn_format): Differentiate between a `/' -
826 reserved bit - and a `*' - wild card.
827 (parse_insn_format): Change is_slash to more informative reserved.
828 (dump_insn_field): Ditto.
829 (insn_field_is_constant): Ditto.
830 (insn_table_expand_opcode): Ditto.
832 * gen-idecode.c (print_idecode_validate): Make check_mask and
833 check_val the correct integer size.
834 (print_idecode_validate): Fix reserved bit check for 64 bit
837 Fri Mar 14 11:24:06 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
839 * ld-insn.c (parse_insn_format): Accept '*' as an alternative of
840 `/' in bit fields. `/' denotes a wild bit.
842 Fri Mar 7 18:20:38 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
844 * igen.h, igen.c (main): New options. Control generation of
845 conditional issue and slot verification code.
847 Fri Mar 7 18:17:25 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
849 * gen-support.c (print_support_function_name): Prepend the global
850 name prefix when applicable. Provide #define to map the user
851 specified name the generated globaly unique one.
853 Fri Mar 7 18:07:45 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
855 * gen-idecode.c (print_idecode_validate): Wrap each of the checks
856 - reserved bits, floating point and slot validation - with a
857 #ifdef so that they are optional.
859 Fri Mar 7 16:35:13 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
861 * gen-idecode.c (error_leaf_contains_multiple_insn): New function
862 - report the error of a leaf node in the decision tree containing
863 several instructions.
864 (print_idecode_table_leaf): Detect a leaf with multiple instructions.
865 (print_idecode_switch_leaf): Ditto.
867 * gen-semantics.h, gen-semantics.c (print_idecode_illegal,
868 print_idecode_invalid): Rename former to latter. Add argument so
869 that one function can generate all invalid instruction cases -
870 illegal, fp-unavailable, wrong-slot.
871 * gen-engine.c: Update.
873 * gen-idecode.c: Use print_idecode_invalid to generate a function
874 call for cases when fp-unavailable and the slot is wrong.
876 * gen-idecode.c (print_idecode_validate): New check, generate code
877 to verify that the instruction slot is correct.
879 * igen.c (main): Simplify options.
881 Wed Mar 5 09:55:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
883 * igen.c (print_itrace): Remove source line reference for trace
884 code - let the user see the generated file.
885 (print_itrace): Print the trace code rather than reference a
888 Tue Mar 4 17:31:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
890 * igen.c (print_semantic_function_actual): Pass either the
891 processor - smp - or the engine - mono - into semantic functions.
894 * gen-icache.c (print_icache_body): Dependant on smp, derive
895 processor from engine or engine from processor, and hence ensuring
896 that both are defined in all semantic functions.
898 Mon Mar 3 17:11:21 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
900 * ld-insn.c (parse_insn_format): Make the width field optional.
901 If missing assume that the number of characters in the value
902 determines the number of bits in the field.
904 Thu Feb 27 11:27:48 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
906 * ld-insn.c (insn_table_expand_opcode): Replace assertion with
907 more useful error message.
909 Tue Feb 25 16:43:27 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
911 * misc.c (error): Output errors on stderr.
913 * ld-insn.c (parse_insn_format): Skip any leading spaces.
914 Verify the width of instructions being parsed.
916 * table.c (table_entry_read): Parse CPP's convention for
917 specifying original file name/line-nr.
919 Wed Feb 19 12:30:28 1997 Andrew Cagney <cagney@critters.cygnus.com>
921 * ld-insn.c (parse_insn_format): Allow trailing spaces in
924 * Makefile.in: Create using ../ppc/Makefile.in as a starting
926 * configure.in: Ditto vis ../ppc/configure.in
928 Mon Feb 17 10:44:18 1997 Andrew Cagney <cagney@critters.cygnus.com>
930 * gen-support.c (gen_support_c): Always include engine.h instead
932 * gen-idecode.c (gen_idecode_c): Ditto.
934 * words.h (instruction_word): Remove instruction_word - now
936 (address_word): New. Used by igen.
938 * lf.c (lf_print_function_type_function): New, pass a function to
939 print out the type instead of a constant string.
941 * igen.h, igen.c (print_semantic_function_formal,
942 SEMANTIC_FUNCTION_FORMAL): Relace macro with function.
943 (print_semantic_function_actual, SEMANTIC_FUNCTION_ACTUAL): Ditto.
944 (print_semantic_function_type, SEMANTIC_FUNCTION_TYPE): Ditto.
945 (print_icache_function_type, ICACHE_FUNCTION_TYPE): Ditto.
946 (print_icache_function_formal, ICACHE_FUNCTION_FORMAL): Ditto.
947 (print_icache_function_actual, ICACHE_FUNCTION_ACTUAL): Ditto.
948 * gen-idecode.c (print_idecode_table): Update.
949 (idecode_switch_leaf): Update.
950 (print_idecode_switch_function_header): Ditto.
951 (print_idecode_floating_point_unavailable): Ditto.
952 (print_idecode_issue_function_header): Ditto.
953 * igen.c (gen_icache_h): Ditto.
954 * gen-engine.c (print_engine_table): Ditto.
955 (engine_switch_leaf): Ditto.
956 * gen-support.c (print_support_function_name): Ditto.
957 * gen-semantics.c (print_semantic_function_header): Update.
959 * gen-icache.c (print_icache_function_header): Update.
960 (print_icache_function): Update.
961 (print_icache_internal_function_declaration): Update.
962 (print_icache_internal_function_definition): Update.
964 * gen-idecode.c (gen_idecode_h): Drop including of idecode_*.h
965 files, will at some stage need to move it into support.
967 * igen.h, igen.c (main): New option -e <engine> - generate a full
968 simulation engine. Previously this was the -d <idecode-file>
970 * gen-engine.h, gen-engine.c: Copies of gen-idecode.*. Will need
971 to clean these up so that that call upon the updated gen-idecode
974 * gen-idecode.h, gen-idecode.c: Prune out any code not relevant to
975 generating a decode table.
977 * Makefile.in (igen): Add dependencies for new gen-engine.* files.
979 * igen.h, igen.c (main): New option -M - Control what is returned
980 by semantic functions - -1/NIA vs CIA+N/NIA. Add
981 generate_semantic_returning_modified_nia_only to igen_code enum.
982 * gen-semantics.c (print_semantic_body): As an alternative, make
983 NIA == -1 instead of CIA+insn_size by default.
985 * igen.h, igen.c (main, global_name_prefix, global_uname_prefix):
986 New option -P <prefix> - Prepend all generated functions with the
988 (gen_idecode_c): Adjust.
989 * gen-icache.c (print_icache_struct): Ditto.
990 * gen-support.c (gen_support_c): Ditto.
992 Sun Feb 16 15:23:15 1997 Andrew Cagney <cagney@critters.cygnus.com>
994 * igen.c (main): Correct usage. Missleading message about ucase
995 options dumping internal tables. -F now includes rather then
996 excludes instructions.
998 * misc.h, misc.c (a2i): Make 64bit.
1000 * ld-insn.h (max_insn_bit_size, default_insn_bit_size): Increase
1001 max to 64bits, expect trouble. Make the default 32 bits.
1002 * gen-idecode.c (print_idecode_table): Change EXTRACTED*
1003 et.al. macro's to use the insn_bit_size instead of assuming 32
1005 * gen-icache.c (print_icache_extraction): Ditto.
1006 * gen-idecode.c (idecode_switch_start): Ditto.
1007 * gen-idecode.c (gen_idecode_c): Ditto
1009 * igen.h (insn_specifying_widths), igen.c (main): New option -W.
1010 Indicates that the instruction field of the table is specifying
1011 bit widths instead of bit offsets.
1012 * ld-insn.c (parse_insn_format): Parse instruction fields
1015 * misc.c (a2i): Allow binary numbers to be specified using the
1017 * ld-insn.c: Allow such numbers to appear in the instruction
1020 * table.c (table_entry_read): Make // a valid comment character.
1021 (table_entry_read): Skip lines containing a leading " - these may
1022 eventually be used in a disasembler.
1024 Fri Feb 14 15:23:15 1997 Andrew Cagney <cagney@critters.cygnus.com>
1026 * filter.c, filter.h, gen-engine.c, gen-engine.h, gen-icache.c,
1027 gen-icache.h, gen-idecode.c, gen-idecode.h, gen-itable.c,
1028 gen-itable.h, gen-model.c, gen-model.h, gen-semantics.c,
1029 gen-semantics.h, gen-support.c, gen-support.h, igen.c, igen.h,
1030 ld-cache.c, ld-cache.h, ld-decode.c, ld-decode.h, ld-insn.c,
1031 ld-insn.h, lf.c, lf.h, misc.c, misc.h, table.c, table.h: Copy in
1032 from the ../ppc directory.
1034 * filter_host.c, filter_host.h: Copy in from the ../ppc directory
1035 renaming from filter_filename.[hc]