1 2011-10-17 Mike Frysinger <vapier@gentoo.org>
3 * configure.ac: Change AC_PREREQ to 2.64. Delete AC_CONFIG_HEADER
4 call. Replace common.m4 include with SIM_AC_COMMON.
5 * configure: Regenerate.
7 2011-07-08 Hans-Peter Nilsson <hp@axis.com>
9 * ld-insn.c (print_insn_words): For fields, print conditionals.
11 Correct handling of constant named fields.
12 * gen.c (insn_field_cmp): Tweak comment about neither field
13 being an insn_field_string with a cond_eq-to-value condition.
14 (insns_bit_useless) <case insn_field_string, case
15 decode_find_mixed>: Handle cond_eq-to-value fields as
17 * gen-idecode.c (print_idecode_validate): Handle
18 insn_field_string cond-equal-to-value fields as insn_field_int.
19 * gen-icache.c (print_icache_body): Add comment why constant
20 string fields are handled.
22 Remove all #if 0'd code.
23 * filter.c: Remove #if 0'd function it_is.
24 (main): Remove #if 0'd code.
25 * gen-engine.c: Remove #if 0'd functions print_jump,
26 print_jump_insn, print_jump_definition,
27 print_jump_internal_function, print_jump_body.
28 (gen_engine_c): Remove #if 0'd code.
29 * gen-idecode.c: Remove #if 0'd functions print_jump print_jump,
30 print_jump_insn, print_jump_definition,
31 print_jump_internal_function, print_jump_until_stop_body.
32 * gen-model.c: Remove #if 0'd functions model_c_or_h_data,
33 model_c_or_h_function, gen_model_h, model_c_insn,
34 model_c_function, gen_model_c and types model_c_passed_data
35 and struct _model_c_passed_data.
36 * gen.c: Remove #if 0'd type constant_field_types and function
37 insn_field_is_constant.
38 (gen_entry_find_opcode_field): Remove #if 0'd code.
39 * ld-insn.c (parse_insn_model_record): Remove #if 0'd code.
40 * misc.h (STRDUP, STRNDUP): Remove #if 0'd macros.
42 2011-02-14 Mike Frysinger <vapier@gentoo.org>
44 * table.c (table_push): Change zfree to free.
46 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
48 * config.in: Regenerate.
49 * configure: Likewise.
51 * configure: Regenerate.
53 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
55 * Makefile.in (datarootdir): New variable.
57 2008-08-28 Joel Brobecker <brobecker@adacore.com>
59 * compare_igen_models: Change license to GPL version 3.
61 2007-08-27 Joel Brobecker <brobecker@adacore.com>
63 * lf.c (lf_print__gnu_copyleft): Change license to GPL version 3.
65 2006-12-21 Hans-Peter Nilsson <hp@axis.com>
68 * config.in: Regenerate.
70 2005-01-11 Andrew Cagney <cagney@localhost.localdomain>
72 * configure.ac: Delete AC_CONFIG_AUX_DIR.
73 * configure: Re-generate.
75 2005-01-07 Andrew Cagney <cagney@gnu.org>
77 * configure.ac: Rename configure.in, require autoconf 2.59.
78 * configure: Re-generate.
80 2003-05-03 Chris Demetriou <cgd@broadcom.com>
82 * compare_igen_models: Tweak attribution slightly.
84 2002-11-22 Andrew Cagney <cagney@redhat.com>
86 * gen.c (name_cmp): Rename format_name_cmp.
87 (insn_list_insert): When a merge, compare the format name and
88 instruction name. Add trace messages.
90 2002-11-21 Andrew Cagney <ac131313@redhat.com>
92 * filter.c: Re-indent.
93 * filter.h, filter_host.h, gen-engine.c, gen-engine.h: Ditto.
94 * gen-icache.c, gen-icache.h, gen-idecode.c: Ditto.
95 * gen-idecode.h, gen-itable.c, gen-itable.h: Ditto.
96 * gen-model.c, gen-model.h, gen-semantics.c: Ditto.
97 * gen-semantics.h, gen-support.c, gen-support.h: Ditto.
98 * gen.c, gen.h, igen.c, igen.h, ld-cache.c, ld-cache.h: Ditto.
99 * ld-decode.c, ld-decode.h, ld-insn.c, ld-insn.h, lf.c: Ditto.
100 * lf.h, misc.c, misc.h, table.c, table.h: Ditto.
102 2002-11-21 Andrew Cagney <ac131313@redhat.com>
104 * Makefile.in: Update copyright. IGEN contributed to the FSF.
105 * filter.c, filter.h, filter_host.c, filter_host.h: Ditto.
106 * gen-engine.c, gen-engine.h, gen-icache.c, gen-icache.h: Ditto.
107 * gen-idecode.c, gen-idecode.h, gen-itable.c: Ditto.
108 * gen-itable.h, gen-model.c, gen-model.h, gen-semantics.c: Ditto.
109 * gen-semantics.h, gen-support.c, gen-support.h, gen.c: Ditto.
110 * gen.h, igen.c, igen.h, ld-cache.c, ld-cache.h: Ditto.
111 * ld-decode.c, ld-decode.h, ld-insn.c, ld-insn.h, lf.c: Ditto.
112 * lf.h, misc.c, misc.h, table.c, table.h: Ditto.
114 2002-11-06 Richard Sandiford <rsandifo@redhat.com>
116 * gen-engine.c (print_engine_issue_prefix_hook): Don't add the
117 global prefix to ENGINE_ISSUE_PREFIX_HOOK.
118 (print_engine_issue_postfix_hook): Likewise ENGINE_ISSUE_POSTFIX_HOOK.
120 2002-08-28 Dave Brolley <brolley@redhat.com>
122 * gen-support.c (gen_support_h): Generate
123 '#define semantic_illegal <PREFIX>_semantic_illegal'.
125 2002-08-22 Chris Demetriou <cgd@broadcom.com>
127 * compare_igen_models: New script.
129 2002-06-17 Andrew Cagney <cagney@redhat.com>
131 * gen.c (gen_entry_expand_opcode): Initialize ``value'' to -1 and
133 * igen.c (main): Add default case to switch.
134 * gen-icache.c (print_icache_extraction): Ditto.
136 2002-06-17 Andrew Cagney <cagney@redhat.com>
138 * Makefile.in (BUILD_CFLAGS): Remove -O0.
140 2002-06-16 Andrew Cagney <ac131313@redhat.com>
142 * configure: Regenerated to track ../common/aclocal.m4 changes.
144 2002-06-03 Richard Henderson <rth@redhat.com>
146 * gen-engine.c (print_run_body): Avoid multi-line strings.
147 * lf.c (lf_print__gnu_copyleft): Likewise.
149 2002-05-01 Chris Demetriou <cgd@broadcom.com>
151 * igen.c: Use 'deprecated' rather than 'depreciated.'
153 2002-03-23 Andrew Cagney <ac131313@redhat.com>
155 * gen.c (format_name_cmp): New function.
156 (insn_list_insert): Use the instruction field name as an
157 additional key. Different field names indicate different
160 2002-03-07 Chris Demetriou <cgd@broadcom.com>
162 * igen.c (print_itrace_format): Add support for a new "%#lx" format.
164 Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
166 * configure: Regenerated to track ../common/aclocal.m4 changes.
168 2000-04-12 Frank Ch. Eigler <fche@redhat.com>
170 * gen-semantics.c (print_semantic_body): Use GPR_CLEAR(N) instead
171 of GPR_SET(N,0) for gen-zero-rN.
173 Thu Sep 2 18:15:53 1999 Andrew Cagney <cagney@b1.cygnus.com>
175 * Makefile.in (SIM_WARNINGS): Replace this with.
176 (IGEN_WERROR_CFLAGS, IGEN_WARN_CFLAGS, WERROR_CFLAGS,
177 WARN_CFLAGS): With these.
178 (BUILD_CFLAGS): Update.
180 * configure: Regenerated to track ../common/aclocal.m4 changes.
182 1999-05-08 Felix Lee <flee@cygnus.com>
184 * configure: Regenerated to track ../common/aclocal.m4 changes.
186 Fri Dec 4 15:14:09 1998 Andrew Cagney <cagney@b1.cygnus.com>
188 * igen.c (main): Fix -Pitable=.
190 * gen-engine.c (print_run_body): Prefix instruction_address.
192 Wed Oct 28 18:12:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
194 * Makefile.in (SIM_WARNINGS): Update to match ../common/aclocal.m4
197 Wed Aug 12 10:55:28 1998 Frank Ch. Eigler <fche@cygnus.com>
199 * gen-icache.c (print_icache_extraction): #undef a generated
200 symbol before #define'ing it, to remove conflict with system
203 Wed Jul 29 10:07:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
205 * gen.c (gen_entry_expand_opcode): For conditional, fields. Fix
206 the extraction of the value from its source - both table and bit
209 Tue Jul 28 11:19:43 1998 Andrew Cagney <cagney@b1.cygnus.com>
211 * ld-insn.c (parse_insn_word): For constant conditional strings,
212 encode their bit value.
214 * ld-insn.c (parse_insn_word, parse_insn_words): Allow conditional
215 operands to refer to fields in earlier instruction words.
217 * gen.c (sub_val): Replace field argument with val_last_pos.
218 (gen_entry_expand_opcode): Look in previous tables for a value for
219 a conditional field as well as the bits from the current table.
220 (insn_list_insert): Add sort key of instructions where
221 their operand fields have different conditionals.
222 (insn_field_cmp): New function.
224 Sun Apr 26 15:31:55 1998 Tom Tromey <tromey@creche>
226 * configure: Regenerated to track ../common/aclocal.m4 changes.
229 Sun Apr 26 15:20:08 1998 Tom Tromey <tromey@cygnus.com>
231 * acconfig.h: New file.
232 * configure.in: Reverted change of Apr 24; use sinclude again.
234 Fri Apr 24 14:16:40 1998 Tom Tromey <tromey@creche>
236 * configure: Regenerated to track ../common/aclocal.m4 changes.
239 Fri Apr 24 11:19:33 1998 Tom Tromey <tromey@cygnus.com>
241 * configure.in: Don't call sinclude.
243 Fri Apr 24 19:45:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
245 * gen-icache.c (print_icache_extraction): Do not type cast
248 * ld-insn.c (load_insn_table): Terminate error with NL.
250 * gen.c (insns_bit_useless): Perform unsigned bit comparisons.
252 * filter.c (is_filtered_out, filter_parse): Pacify GCC, len is
255 Wed Apr 22 14:27:39 1998 Michael Meissner <meissner@cygnus.com>
257 * configure: Reconfigure to pick up ../common/aclocal.m4 changes
258 to suppress inlining by default.
260 Tue Apr 21 01:37:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
262 * gen-icache.c (print_icache_extraction): When generating #define
263 force the expression to the correct type.
265 Thu Apr 16 08:50:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
267 * misc.c (name2i): strlen returns an unsigned.
269 Tue Apr 14 19:04:28 1998 Andrew Cagney <cagney@b1.cygnus.com>
271 * igen.h (struct igen_warn_options): Add unimplemented option.
272 * igen.c (main): Update
274 * ld-insn.c (load_insn_table): Report unimplemented functions.
276 Tue Apr 14 10:57:26 1998 Andrew Cagney <cagney@b1.cygnus.com>
278 * ld-insn.c (parse_insn_word): Treat `!' and `=' as valid
279 separator tokens when parsing a conditional.
281 * igen.h (main): Add option -S so that suffix can be specified.
283 Tue Apr 14 08:44:53 1998 Andrew Cagney <cagney@b1.cygnus.com>
285 * igen.h (struct igen_trace_options): Add members insn_expansion
288 * igen.c (main): Add options -Gtrace-insn-expansion,
289 -Gtrace-insn-insertion and -Gtrace-all.
291 * gen.c (gen_entry_expand_insns): Trace each instruction as it is
292 selected for expansion.
293 (gen_entry_expand_opcode): Trace each expanded instruction as it
294 is inserted into the table.
296 Mon Apr 13 19:21:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
298 * ld-insn.c (parse_insn_word): Parse conditional operators.
299 (parse_insn_word): Verify field conditionals.
301 * ld-insn.h: Extend syntax to allow macros and field equality.
302 (struct insn_field_cond): Rename insn_field_exclusion, add type.
304 * gen.c (gen_entry_expand_opcode): Check type of conditional.
305 (insns_bit_useless): Ditto.
307 * ld-insn.c (parse_macro_record): New function.
309 Mon Apr 13 22:37:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
311 * ld-insn.h (enum insn_field_type): Add insn_field_invalid.
313 * ld-insn.c (parse_insn_word): Check instruction field type
314 correctly initialized.
315 (print_insn_words): Ditto.
316 (insn_field_type_to_str): Ditto.
317 (dump_insn_field): Ditto.
319 * gen.c (insns_bit_useless): Ditto.
321 Fri Apr 3 18:08:16 1998 Andrew Cagney <cagney@b1.cygnus.com>
323 * gen.h, igen.c (print_include_inline, print_includes,
324 print_includes): New functions. Generate include list. For for
325 semantics et.al. generate CPP code to inline when
328 * igen.c (gen_semantics_c): Call print_includes.
329 * gen-engine.c (gen_engine_c): Ditto.
331 Sat Apr 4 21:09:11 1998 Andrew Cagney <cagney@b1.cygnus.com>
333 * igen.h: (struct _igen_name_option): Replace with struct
334 igen_module_option. Contains both module prefix and suffix.
335 (INIT_OPTIONS): Initialize.
337 * igen.c (main): Update -P option to fill in full module info.
338 (gen-engine.c, gen-icache.c, gen-itable.c, gen-semantics.c,
339 gen-support.c): Update.
341 Sat Apr 4 02:15:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
343 * igen.c (print_itrace): Use TRACE_ANY_P macro to determine if any
346 Thu Mar 26 20:51:23 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
348 * table.c (table_push): Redo, using stdio. Fixes NT native
349 problem with <CRLF>=><LF> translation...
351 Tue Mar 24 23:30:07 1998 Andrew Cagney <cagney@b1.cygnus.com>
353 * gen-engine.c (print_run_body): Re-extract the CIA after
354 processing any events.
356 Tue Mar 24 17:46:08 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
358 * Makefile.in: Get SHELL from configure.
359 * configure: Regenerate with autoconf 2.12.1 to fix shell issues for
362 Mon Mar 16 12:51:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
364 * igen.c: Pass sim_cia to trace_prefix.
366 Thu Feb 26 19:25:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
368 * ld-insn.c (parse_function_record): Check models are valid.
369 (parse_function_record): Only discard function when no model is
372 Tue Feb 24 01:42:03 1998 Andrew Cagney <cagney@b1.cygnus.com>
374 * gen-engine.c (print_run_body): Always wrap generated idecode
375 body in ENGINE_ISSUE_PREFIX_HOOK / ENGINE_ISSUE_POSTFIX_HOOK.
377 Fri Feb 20 16:22:10 1998 Andrew Cagney <cagney@b1.cygnus.com>
379 * ld-insn.c (parse_function_record): When -Wnodiscard, suppress
380 discarded function warning.
382 * igen.c (main): Clarify -Wnodiscard.
384 * ld-insn.c (parse_function_record): For functions, allow use of
385 instruction style function model records
387 * ld-insn.h (nr_function_model_fields): Define.
389 Tue Feb 17 16:36:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
391 * igen.c (print_itrace_prefix): Generate call to trace_prefix
392 instead of trace_one_insn.
393 (print_itrace): Generate trace_prefix call if any tracing enabled,
394 (print_itrace): Nest generated call to trace_generic inside
395 conditional for any tracing enabled.
396 (print_itrace_prefix): Do not pass PHASE to trace_prefix.
398 Tue Feb 3 14:00:32 1998 Andrew Cagney <cagney@b1.cygnus.com>
400 * gen-engine.c (print_run_body): Add bitsize suffix to IMEM macro.
401 * gen-icache.c (print_icache_body): Ditto.
402 * gen-idecode.c (print_idecode_ifetch): Ditto.
404 * gen-icache.c (print_icache_body): Mark successive instruction
407 * ld-insn.c (parse_insn_word): Only report insn-width problems
408 when warning enabled.
410 * igen.h: Add flag for warning about invalid instruction widths.
411 * igen.c: Parse -Wwidth option.
413 * gen-support.c (gen_support_h): Map instruction_word onto
414 <PREFIX>_instruction_word when needed.
415 (print_support_function_name): Use support prefix.
416 (gen_support_h): Ditto for <PREFIX>_idecode_issue.
418 Sun Feb 1 11:08:48 1998 Andrew Cagney <cagney@b1.cygnus.com>
420 * gen-support.c (gen_support_h): Generate new macro CPU_.
422 Sat Jan 31 14:50:27 1998 Andrew Cagney <cagney@b1.cygnus.com>
424 * gen-engine.c (gen_engine_h): Don't assume a model is present.
425 (gen_engine_c): Ditto.
427 * igen.c (gen_run_c): Ditto.
429 * gen-engine.c (print_run_body): Use CIA_GET & CIA_SET instead of
430 CPU_CIA. Parameterize with CPU argument.
432 Fri Jan 30 09:09:39 1998 Andrew Cagney <cagney@b1.cygnus.com>
434 * gen.h (struct _gen_list): Replace processor with model.
436 * igen.c (gen_idecode_h): Update.
437 (gen_run_c): For generated switch, use model->full_name.
439 * gen.c (print_gen_entry_path): Ditto.
441 (gen_entry_expand_insns): Ditto.
442 (make_gen_tables): Ditto.
444 * igen.c (gen_run_c): Add extra argument `nr_cpus' to generated
445 function sim_engine_run. Pass argument on to engine_run.
447 * gen-engine.c (print_engine_run_function_header): Add extra
448 argument `nr_cpus' to generated function engine_run.
449 (print_run_body): Fix SMP case.
451 * gen-support.c (support_c_function): Call sim_engine_abort when
452 internal function fails to long jump.
454 Wed Jan 21 18:00:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
456 * gen-semantics.c (print_semantic_body): Use GPR_SET to zero
459 Wed Dec 17 14:49:03 1997 Jeffrey A Law (law@cygnus.com)
461 * gen-semantics.c (print_semantic_body): Fix handling of
462 hardwired zero register.
464 Tue Dec 9 12:45:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
466 * igen.h (struct _igen_gen_options): Add member default_model.
468 * igen.c (gen_run_c): Default to the first machine in the
470 (main): Add MODEL parameter to gen-multi-sim option.
472 * gen.h (function_decl_type): Declare enum.
474 * gen-engine.c (print_engine_run_function_header), gen-engine.h:
475 Make global, pass function_decl_type as argument.
476 (gen_engine_h, gen_engine_c): Update call.
478 * gen-idecode.c (print_idecode_issue_function_header),
479 gen-idecode.h: Pass function_decl_type as argument.
481 * igen.c (gen_idecode_h): For multi-sim, delcare global variable
484 * igen.c (gen_run_c): For multi-sim, initialize globals
485 idecode_issue and engine_run.
487 Fri Nov 14 10:51:44 1997 Andrew Cagney <cagney@b1.cygnus.com>
489 * ld-insn.c (parse_insn_model_record): Allow multiple model names
490 to be specified in a single instruction model record.
491 (dump_insn_model_entry): Update.
493 * ld-insn.h (struct _insn_model_entry): Replace member name with
494 the filter names. Document syntax change.
496 Wed Nov 12 15:45:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
498 * gen-engine.c (print_run_body): Add hooks for adding code before
499 and after an instruction has been issued.
501 1997-11-04 Brendan Kehoe <brendan@lisa.cygnus.com>
503 * gen-idecode.c (print_jump_until_stop_body): Use `#if 0' instead of
504 `#ifdef 0' around this.
506 Tue Nov 4 08:18:29 1997 Michael Meissner <meissner@cygnus.com>
508 * ld-decode.c (load_decode_table): Don't assume NULL is an integer
511 Wed Oct 29 13:17:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
513 * ld-insn.h: Document mnemonic string format.
515 Tue Oct 28 10:50:35 1997 Andrew Cagney <cagney@b1.cygnus.com>
517 * gen-icache.c (print_icache_extraction): Force result of atol to
520 * ld-insn.c (parse_function_record): Separate handling of old and
521 ney fynction records.
522 (load_insn_table): For %s record, hack function name & type after
525 * filter.h (filter_is_subset): Reverse argument names, wrong
528 * ld-insn.c (load_insn_table): Move include code to.
529 (parse_include_record): New function. Check for filtering of
530 include statement by both flags and models.
531 (load_insn_table): Check for model filtering of cache and model
533 (parse_model_data_record): Check for model & flag filtering of
535 (parse_function_record): Check for model & flag filtering of
538 * ld-insn.h: Define record_filter_models_field. Add filter-models
539 field to all but instruction records.
540 (struct _function_entry, struct _cache_entry): Add models field.
541 (nr_function_fields): Make parm field mandatory.
543 Mon Oct 27 15:14:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
545 * igen.c (main): Change -I option to -I<directory>. Add optional
546 size to -Ggen-icache option. Add -Gno-... support.
548 * igen.h (struct _igen_options): Add include field.
550 * ld-insn.c (enum insn_record_type, insn_type_map): Add
552 (load_insn_table): Call table_push when include record.
554 * table.c (struct _open table, struct table): Make table object an
555 indirect ptr to the current table file.
556 (current_line, new_table_entry, next_line): Make file arg type
558 (table_open): Use table_push.
559 (table_read): Point variable file at current table, at eof, pop
562 * table.h, table.c (table_push): New function.
564 Thu Oct 16 11:03:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
566 * gen-semantics.c (print_semantic_body): Use CIA not
567 cia.ip. Escape newlines at end of generated call to
570 Tue Oct 14 11:13:27 1997 Andrew Cagney <cagney@b1.cygnus.com>
572 * igen.c (print_itrace): Output line-ref to igen source file when
573 generating trace statements.
574 (print_itrace_prefix, print_itrace_format): Escape newline at end
575 of each line of generated call to trace function.
577 Mon Oct 13 11:27:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
579 * gen-support.c (gen_support_h): Generate #define NIA. Definition
580 dependant on gen-delayed-branch mode.
582 * ld-insn.c (parse_insn_mnemonic_record): Check for opening and
583 closing double quote in mnemonic field.
584 (parse_option_record): Add gen-delayed-branch option.
586 Wed Oct 8 13:10:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
588 * gen.c (insn_list_insert): Missing \n in warning.
590 * ld-insn.c (load_insn_table): Only notify of discarded
591 instrctions when warn.discard enabled.
593 * igen.h: Add option.warn.discard, default enabled.
595 * igen.c (main): Add -Wnodiscard option.
597 * ld-insn.c (record_type): For old record type, check the number
598 of fields is correct.
599 (load_insn_table): Allow insn assembler and insn model records to
601 (parse_insn_model_record): Rename from parse_insn_model_records.
602 Parse only one record.
603 (parse_insn_mnemonic_record): Rename from
604 parse_insn_mnemonic_records. Parse only one record.
606 Tue Sep 23 15:52:06 1997 Felix Lee <flee@yin.cygnus.com>
608 * gen-itable.c (gen_itable_h): [nr_itable_* + 1] to avoid
609 illegal zero-sized array.
610 (itable_print_set): likewise, avoid empty initializers.
612 Mon Sep 22 18:49:07 1997 Felix Lee <flee@cygnus.com>
614 * configure.in: i386-windows is a cross, so don't expect
615 libiberty to be there.
616 * configure: updated.
618 Fri Sep 19 10:36:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
620 * igen.c (print_function_name): Put the format name after the
621 function / instruction name, not before.
622 (print_itrace): Better format trace code.
624 Tue Sep 16 11:01:07 1997 Andrew Cagney <cagney@b1.cygnus.com>
626 * gen.c (insns_bit_useless): Don't treat string fields restricted
627 to a range of values as useless.
629 Mon Sep 15 15:47:21 1997 Andrew Cagney <cagney@b1.cygnus.com>
631 * igen.c (gen_run_c): Handle non-multi-sim case.
633 * gen-support.c (gen_support_h): Define SD_ - to replace _SD.
636 Thu Sep 11 10:27:39 1997 Andrew Cagney <cagney@b1.cygnus.com>
638 * gen-semantics.c (print_semantic_body): Trace the instruction
639 after it has been validated.
640 (print_semantic_body): Count the instruction using sim-profile.
642 Wed Sep 10 13:35:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
644 * gen-itable.c (gen_itable_h): Collect summary info on instruction
645 table when traversing it.
646 (gen_itable_h): Output an enum defining the max size of each of
647 the itable string members.
649 Tue Sep 9 03:30:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
651 * igen.c (gen_run_c): New function. Generate sim_engine_run that
652 looks at the currently selected architecture.
654 * gen-engine.c, gen-idecode.c: Add multi-sim support - generate
655 one engine per model.
657 * gen-semantics.c, gen-icache.c gen-support.c:
660 * ld-insn.h, ld-insn-h (load_insn_table): Rewrite. table.h only
661 returns a line at a time. Parse multi-word instructions. Add
664 * table.h, table.c: Simplify. Only parse a single line at a time.
665 ld-insn can handle the rest.
667 * filter.h, filter.c (filter_parse, filter_add, filter_is_subset,
668 filter_is_common, filter_is_member, filter_next): New filter
670 (dump_filter): Ditto.
672 * gen.h, gen.c: New file. Takes the insn table and turns it into
673 a set of decode tables and semantic functions.
675 * ld-insn.c: Copy generator code from here.
678 Fri Aug 8 11:43:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
680 * misc.h (NZALLOC): Allocate an N element array of TYPE.
682 * table.h, table.c: Simplify table parser so that it only
683 understands colon delimited lines and code blocks.
684 (table_read): Parse '{' ... '}' as a code block.
685 (table_print_code): New function, print out a code block to file.
686 (main): Add suport for standalone testing.
688 * ld-insn.h, ld-insn.c:
691 Mon Sep 1 11:41:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
693 * gen-idecode.c (error_leaf_contains_multiple_insn): Make static.
694 (print_jump_definition, print_jump, print_jump_internal_function,
695 print_jump_insn, print_jump_until_stop_body): Delete, moved to
698 * igen.c (print_itrace_format): Delete unused variable chp.
699 (gen-engine.h): Include.
701 * table.c (current_file_name, current_line_entry,
702 current_line_entry): Make static.
704 Wed Aug 6 12:31:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
706 * configure.in: Define AR_FOR_BUILD, AR_FLAGS_FOR_BUILD,
707 RANLIB_FOR_BUILD and CFLAGS_FOR_BUILD.
708 * configure.in: Include simulator common/aclocal.m4.
709 * configure.in: Add --enable-sim-warnings option.
710 * configure: Re-generate.
714 * Makefile.in (tmp-filter): New rule.
715 (igen.o, tmp-table, tmp-ld-decode, tmp-ld-cache, tmp-ld-insn,
716 ld-decode.o, ld-cache.o, ld-insn.o): Fix dependencies.
718 * gen.h, gen.c: New files.
720 * Makefile.in (gen.o, tmp-gen): New rules, update all
723 Tue Jun 24 11:46:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
725 * ld-insn.c (load_insn_table): Accept %s as a function type.
727 Thu Jun 5 17:14:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
729 * igen.c (print_itrace_prefix): Move printing of insn prefix to
731 (print_itrace_format): Drop printing of MY_NAME in instruction
732 trace. Printing of insn prefix moved.
733 (print_itrace): Ditto.
735 Fri May 30 11:27:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
737 * gen-icache.c (print_icache_function_header): Pass
738 table_line_entry instead of separate file and line.
740 * table.c (table_entry_read): Set assembler source file/line-nr to
741 the current not initial file.
742 (table_entry_read): Fix line numbering of source files.
744 table.h (table_line_entry): New structure. Exactly specifies a
746 (table_*_entry): Add this to all.
748 table.c (table_entry_print_cpp_line_nr): Change to use values from
749 a table_line_entry struct.
750 (table_entry_read): Save table_line_entry in all structures read.
752 gen-icache.c, gen-support.c, gen-idecode.c, gen-semantics.c,
753 gen-model.c: Update all references.
755 Thu May 29 10:29:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
757 * igen.c (print_my_defines): Define MY_NAME - a string. For
758 MY_PREFIX, undefine the name of the function incase some dumb
759 header defined it. it.
760 (print_itrace): Use MY_NAME not MY_PREFIX.
762 * lf.c (lf_write): New function write an N character buffer to the
765 * igen.c (print_itrace): When available, use the assembler to
766 print the insn-trace.
767 (print_itrace_prefix): New function, print first part of call to
769 (print_itrace_format): New function, print fmt argument for
772 * table.c (table_entry_read): Save any assembler lines instead of
775 Wed May 28 09:55:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
777 * gen-icache.c (print_icache_body): Process immeds.
779 * gen-semantics.c (print_semantic_body): When computing NIA, skip
780 any immed words that follow the instruction word.
782 * ld-insn.c (parse_insn_format): Parse immeds appended to an
785 * igen.c (main): Allow any register to be specified as the zero
787 (semantic_zero_reg): Global, index to zero register.
789 * gen-semantics.c (print_semantic_body): Zero selected register.
791 Tue May 27 14:12:32 1997 Andrew Cagney <cagney@b1.cygnus.com>
793 * igen.h: Stop options and code gen type bit masks overlaping.
795 Fri May 23 12:01:08 1997 Andrew Cagney <cagney@b1.cygnus.com>
797 * gen-semantics.c (print_semantic_body): Incorrect test for
800 Fri May 16 14:32:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
802 * gen-semantics.c (print_semantic_body): Use common sim-engine
805 Fri May 16 11:48:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
807 * gen-semantics.c (print_semantic_body): Add code to clear r0.
809 * igen.c (main): Add new option zero-r0, which adds code to clear
812 Wed May 7 12:31:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
814 * igen.c (print_itrace): Fix so line-nr is passed to trace
817 * gen-idecode.c (print_idecode_validate): Correct FP code.
819 * gen-support.c (gen_support_h): Always pass MY_INDEX to support
821 (print_support_function_name): Ditto.
823 Tue May 6 06:12:04 1997 Mike Meissner <meissner@cygnus.com>
825 * igen.c (print_itrace): Call trace_one_insn to trace
826 instructions, rather than doing it directly.
828 Mon May 5 14:11:46 1997 Mike Meissner <meissner@cygnus.com>
830 * gen-engine.c (engine_switch_leaf): Remove extra %s.
831 (print_engine_floating_point_unavailable): Wrap in #ifdef
832 UNUSED/#endif, until somebody uses it.
834 * gen-idecode.c (error_leaf_contains_multiple_insn): Remove unused
836 (print_jump_until_stop_body): Wrap in #ifdef UNUSED/#endif, until
838 (print_idecode_validate): Use long formats to print long values.
840 * gen-semantics.c (print_idecode_invalid): Set name to "unknown"
841 if we get an unexpected type.
843 Fri May 2 13:28:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
845 * igen.c (print_itrace): Pass SD as well as CPU to calls to
848 * gen-support.c (gen_support_h): Always pass sim_cia cia to
850 (print_support_function_name): Ditto.
852 Wed Apr 30 17:35:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
854 * gen-support.c (support_c_function): Remove unnecessary memset of
856 * gen-semantics.c (print_semantic_body): Wasn't closing
859 Tue Apr 29 11:11:12 1997 Andrew Cagney <cagney@b1.cygnus.com>
861 * ld-insn.c (load_insn_table): Report instructions that do not
862 have at least a format and name.
863 (insn_table_find_opcode_field): Check progress is being made.
865 * gen-support.c (support_c_function): Report empty function body.
867 Thu Apr 24 11:43:45 1997 Andrew Cagney <cagney@b1.cygnus.com>
869 * ld-insn.c (insn_table_expand_opcode): Allow reserved fields to
871 (insn_table_expand_insns): Allow special rules to apply to groups
872 of instructions when all members of the group match the special
875 * gen-semantics.c (print_c_semantic): Ditto.
876 * igen.c (print_semantic_function_formal): Ditto.
877 (print_semantic_function_type): Ditto.
878 * igen.c (print_icache_function_formal): Ditto.
879 * gen-idecode.c (print_idecode_issue_function_body): Ditto.
881 * gen-idecode.c (gen_idecode_h): Prepend the global_prefix to the
882 instruction_address type.
884 * gen-semantics.c (print_semantic_body): Call cpu_error when an
885 unimplemented instruction is encountered - gives the interpreter
886 the chance to stop correctly.
888 Wed Apr 23 20:06:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
890 * igen.c (print_function_name): Allow dot's in instruction names.
892 Tue Apr 22 21:46:28 1997 Andrew Cagney <cagney@b1.cygnus.com>
894 * igen.c (main), igen.h: Support new option - delayed-branch -
895 generate code to drive a delayed branch processor.
897 * gen-idecode.c (gen_idecode_h): Define instruction_address type.
899 * igen.c (print_icache_function_formal): Replace address_word with
901 (print_semantic_function_formal): Ditto.
902 (print_semantic_function_type): Ditto.
903 * gen-idecode.c (print_idecode_issue_function_body): Ditto.
905 * gen-semantics.c (print_semantic_body): Ditto.
906 (print_c_semantic): Ditto.
908 * gen-support.c (support_c_function): Return a zeroed CIA instead
909 of just zero - works with any cia type.
911 * igen.c (print_itrace): For delayed branch case, print just the
914 Thu Apr 17 07:02:33 1997 Doug Evans <dje@canuck.cygnus.com>
916 * igen.c (print_itrace): Use TRACE_FOO_P and trace_printf.
918 Tue Apr 15 15:20:31 1997 Ian Lance Taylor <ian@cygnus.com>
920 * Makefile.in (INSTALL): Set to @INSTALL@.
921 (INSTALL_XFORM, INSTALL_XFORM1): Remove.
923 Mon Apr 14 16:29:34 1997 Ian Lance Taylor <ian@cygnus.com>
925 * Makefile.in (INSTALL): Change install.sh to install-sh.
927 Wed Apr 2 18:51:20 1997 Doug Evans <dje@canuck.cygnus.com>
929 * gen-support.c (gen_support_c): sim-state.h renamed to sim-main.h.
930 * gen-idecode.c (gen_idecode_c): Likewise.
931 * igen.c (gen_semantics_c): Likewise.
933 Mon Mar 24 10:10:08 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
935 * gen-icache.c (print_icache_body): No longer define cpu/sd,
936 support.h now defines CPU/SD globally.
938 * gen-model.c (gen_model_h): Ditto.
940 * gen-idecode.c (print_idecode_issue_function_body): Ditto.
942 (print_jump_until_stop_body): Ditto.
943 (print_idecode_validate): Ditto.
945 * gen-icache.c (print_icache_body): Ditto.
947 * gen-semantics.c (print_semantic_body): Ditto.
949 * igen.c (print_semantic_function_formal): Rename cpu to sim_cpu,
951 (print_icache_function_formal): Ditto.
953 * gen-support.c (print_support_function_name): Include sd/cpu arg
954 in support function argument list.
955 (support_c_function): Generate code to cpu/sd from sd/cpu.
956 (gen_support_h): Define _SD the argument prefix for all support
957 functions. Define SD/CPU to determine sd/cpu from value of _SD
960 Tue Mar 18 15:52:24 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
962 * gen-support.c (gen_support_c): Update for renaming of engine to
966 * gen-idecode.c (gen_idecode_c): Ditto.
968 Mon Mar 17 15:17:07 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
970 * ld-decode.c (load_decode_table): Rename slash to reserved.
971 (dump_decode_rule): Ditto.
973 * ld-insn.c (parse_insn_format): Differentiate between a `/' -
974 reserved bit - and a `*' - wild card.
975 (parse_insn_format): Change is_slash to more informative reserved.
976 (dump_insn_field): Ditto.
977 (insn_field_is_constant): Ditto.
978 (insn_table_expand_opcode): Ditto.
980 * gen-idecode.c (print_idecode_validate): Make check_mask and
981 check_val the correct integer size.
982 (print_idecode_validate): Fix reserved bit check for 64 bit
985 Fri Mar 14 11:24:06 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
987 * ld-insn.c (parse_insn_format): Accept '*' as an alternative of
988 `/' in bit fields. `/' denotes a wild bit.
990 Fri Mar 7 18:20:38 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
992 * igen.h, igen.c (main): New options. Control generation of
993 conditional issue and slot verification code.
995 Fri Mar 7 18:17:25 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
997 * gen-support.c (print_support_function_name): Prepend the global
998 name prefix when applicable. Provide #define to map the user
999 specified name the generated globaly unique one.
1001 Fri Mar 7 18:07:45 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1003 * gen-idecode.c (print_idecode_validate): Wrap each of the checks
1004 - reserved bits, floating point and slot validation - with a
1005 #ifdef so that they are optional.
1007 Fri Mar 7 16:35:13 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1009 * gen-idecode.c (error_leaf_contains_multiple_insn): New function
1010 - report the error of a leaf node in the decision tree containing
1011 several instructions.
1012 (print_idecode_table_leaf): Detect a leaf with multiple instructions.
1013 (print_idecode_switch_leaf): Ditto.
1015 * gen-semantics.h, gen-semantics.c (print_idecode_illegal,
1016 print_idecode_invalid): Rename former to latter. Add argument so
1017 that one function can generate all invalid instruction cases -
1018 illegal, fp-unavailable, wrong-slot.
1019 * gen-engine.c: Update.
1021 * gen-idecode.c: Use print_idecode_invalid to generate a function
1022 call for cases when fp-unavailable and the slot is wrong.
1024 * gen-idecode.c (print_idecode_validate): New check, generate code
1025 to verify that the instruction slot is correct.
1027 * igen.c (main): Simplify options.
1029 Wed Mar 5 09:55:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1031 * igen.c (print_itrace): Remove source line reference for trace
1032 code - let the user see the generated file.
1033 (print_itrace): Print the trace code rather than reference a
1036 Tue Mar 4 17:31:55 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1038 * igen.c (print_semantic_function_actual): Pass either the
1039 processor - smp - or the engine - mono - into semantic functions.
1042 * gen-icache.c (print_icache_body): Dependant on smp, derive
1043 processor from engine or engine from processor, and hence ensuring
1044 that both are defined in all semantic functions.
1046 Mon Mar 3 17:11:21 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1048 * ld-insn.c (parse_insn_format): Make the width field optional.
1049 If missing assume that the number of characters in the value
1050 determines the number of bits in the field.
1052 Thu Feb 27 11:27:48 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1054 * ld-insn.c (insn_table_expand_opcode): Replace assertion with
1055 more useful error message.
1057 Tue Feb 25 16:43:27 1997 Andrew Cagney <cagney@kremvax.cygnus.com>
1059 * misc.c (error): Output errors on stderr.
1061 * ld-insn.c (parse_insn_format): Skip any leading spaces.
1062 Verify the width of instructions being parsed.
1064 * table.c (table_entry_read): Parse CPP's convention for
1065 specifying original file name/line-nr.
1067 Wed Feb 19 12:30:28 1997 Andrew Cagney <cagney@critters.cygnus.com>
1069 * ld-insn.c (parse_insn_format): Allow trailing spaces in
1072 * Makefile.in: Create using ../ppc/Makefile.in as a starting
1074 * configure.in: Ditto vis ../ppc/configure.in
1076 Mon Feb 17 10:44:18 1997 Andrew Cagney <cagney@critters.cygnus.com>
1078 * gen-support.c (gen_support_c): Always include engine.h instead
1080 * gen-idecode.c (gen_idecode_c): Ditto.
1082 * words.h (instruction_word): Remove instruction_word - now
1084 (address_word): New. Used by igen.
1086 * lf.c (lf_print_function_type_function): New, pass a function to
1087 print out the type instead of a constant string.
1089 * igen.h, igen.c (print_semantic_function_formal,
1090 SEMANTIC_FUNCTION_FORMAL): Relace macro with function.
1091 (print_semantic_function_actual, SEMANTIC_FUNCTION_ACTUAL): Ditto.
1092 (print_semantic_function_type, SEMANTIC_FUNCTION_TYPE): Ditto.
1093 (print_icache_function_type, ICACHE_FUNCTION_TYPE): Ditto.
1094 (print_icache_function_formal, ICACHE_FUNCTION_FORMAL): Ditto.
1095 (print_icache_function_actual, ICACHE_FUNCTION_ACTUAL): Ditto.
1096 * gen-idecode.c (print_idecode_table): Update.
1097 (idecode_switch_leaf): Update.
1098 (print_idecode_switch_function_header): Ditto.
1099 (print_idecode_floating_point_unavailable): Ditto.
1100 (print_idecode_issue_function_header): Ditto.
1101 * igen.c (gen_icache_h): Ditto.
1102 * gen-engine.c (print_engine_table): Ditto.
1103 (engine_switch_leaf): Ditto.
1104 * gen-support.c (print_support_function_name): Ditto.
1105 * gen-semantics.c (print_semantic_function_header): Update.
1107 * gen-icache.c (print_icache_function_header): Update.
1108 (print_icache_function): Update.
1109 (print_icache_internal_function_declaration): Update.
1110 (print_icache_internal_function_definition): Update.
1112 * gen-idecode.c (gen_idecode_h): Drop including of idecode_*.h
1113 files, will at some stage need to move it into support.
1115 * igen.h, igen.c (main): New option -e <engine> - generate a full
1116 simulation engine. Previously this was the -d <idecode-file>
1118 * gen-engine.h, gen-engine.c: Copies of gen-idecode.*. Will need
1119 to clean these up so that that call upon the updated gen-idecode
1122 * gen-idecode.h, gen-idecode.c: Prune out any code not relevant to
1123 generating a decode table.
1125 * Makefile.in (igen): Add dependencies for new gen-engine.* files.
1127 * igen.h, igen.c (main): New option -M - Control what is returned
1128 by semantic functions - -1/NIA vs CIA+N/NIA. Add
1129 generate_semantic_returning_modified_nia_only to igen_code enum.
1130 * gen-semantics.c (print_semantic_body): As an alternative, make
1131 NIA == -1 instead of CIA+insn_size by default.
1133 * igen.h, igen.c (main, global_name_prefix, global_uname_prefix):
1134 New option -P <prefix> - Prepend all generated functions with the
1136 (gen_idecode_c): Adjust.
1137 * gen-icache.c (print_icache_struct): Ditto.
1138 * gen-support.c (gen_support_c): Ditto.
1140 Sun Feb 16 15:23:15 1997 Andrew Cagney <cagney@critters.cygnus.com>
1142 * igen.c (main): Correct usage. Missleading message about ucase
1143 options dumping internal tables. -F now includes rather then
1144 excludes instructions.
1146 * misc.h, misc.c (a2i): Make 64bit.
1148 * ld-insn.h (max_insn_bit_size, default_insn_bit_size): Increase
1149 max to 64bits, expect trouble. Make the default 32 bits.
1150 * gen-idecode.c (print_idecode_table): Change EXTRACTED*
1151 et.al. macro's to use the insn_bit_size instead of assuming 32
1153 * gen-icache.c (print_icache_extraction): Ditto.
1154 * gen-idecode.c (idecode_switch_start): Ditto.
1155 * gen-idecode.c (gen_idecode_c): Ditto
1157 * igen.h (insn_specifying_widths), igen.c (main): New option -W.
1158 Indicates that the instruction field of the table is specifying
1159 bit widths instead of bit offsets.
1160 * ld-insn.c (parse_insn_format): Parse instruction fields
1163 * misc.c (a2i): Allow binary numbers to be specified using the
1165 * ld-insn.c: Allow such numbers to appear in the instruction
1168 * table.c (table_entry_read): Make // a valid comment character.
1169 (table_entry_read): Skip lines containing a leading " - these may
1170 eventually be used in a disasembler.
1172 Fri Feb 14 15:23:15 1997 Andrew Cagney <cagney@critters.cygnus.com>
1174 * filter.c, filter.h, gen-engine.c, gen-engine.h, gen-icache.c,
1175 gen-icache.h, gen-idecode.c, gen-idecode.h, gen-itable.c,
1176 gen-itable.h, gen-model.c, gen-model.h, gen-semantics.c,
1177 gen-semantics.h, gen-support.c, gen-support.h, igen.c, igen.h,
1178 ld-cache.c, ld-cache.h, ld-decode.c, ld-decode.h, ld-insn.c,
1179 ld-insn.h, lf.c, lf.h, misc.c, misc.h, table.c, table.h: Copy in
1180 from the ../ppc directory.
1182 * filter_host.c, filter_host.h: Copy in from the ../ppc directory
1183 renaming from filter_filename.[hc]