* acconfig.h: Remove.
[platform/upstream/binutils.git] / sim / igen / ChangeLog
1 2006-12-21  Hans-Peter Nilsson  <hp@axis.com>
2
3         * acconfig.h: Remove.
4         * config.in: Regenerate.
5
6 2005-01-11  Andrew Cagney  <cagney@localhost.localdomain>
7
8         * configure.ac: Delete AC_CONFIG_AUX_DIR.
9         * configure: Re-generate.
10
11 2005-01-07  Andrew Cagney  <cagney@gnu.org>
12
13         * configure.ac: Rename configure.in, require autoconf 2.59.
14         * configure: Re-generate.
15
16 2003-05-03  Chris Demetriou  <cgd@broadcom.com>
17
18         * compare_igen_models: Tweak attribution slightly.
19
20 2002-11-22  Andrew Cagney  <cagney@redhat.com>
21
22         * gen.c (name_cmp): Rename format_name_cmp.
23         (insn_list_insert): When a merge, compare the format name and
24         instruction name.  Add trace messages.
25
26 2002-11-21  Andrew Cagney  <ac131313@redhat.com>
27
28         * filter.c: Re-indent.
29         * filter.h, filter_host.h, gen-engine.c, gen-engine.h: Ditto.
30         * gen-icache.c, gen-icache.h, gen-idecode.c: Ditto.
31         * gen-idecode.h, gen-itable.c, gen-itable.h: Ditto.
32         * gen-model.c, gen-model.h, gen-semantics.c: Ditto.
33         * gen-semantics.h, gen-support.c, gen-support.h: Ditto.
34         * gen.c, gen.h, igen.c, igen.h, ld-cache.c, ld-cache.h: Ditto.
35         * ld-decode.c, ld-decode.h, ld-insn.c, ld-insn.h, lf.c: Ditto.
36         * lf.h, misc.c, misc.h, table.c, table.h: Ditto.
37         
38 2002-11-21  Andrew Cagney  <ac131313@redhat.com>
39
40         * Makefile.in: Update copyright.  IGEN contributed to the FSF.
41         * filter.c, filter.h, filter_host.c, filter_host.h: Ditto.
42         * gen-engine.c, gen-engine.h, gen-icache.c, gen-icache.h: Ditto.
43         * gen-idecode.c, gen-idecode.h, gen-itable.c: Ditto.
44         * gen-itable.h, gen-model.c, gen-model.h, gen-semantics.c: Ditto.
45         * gen-semantics.h, gen-support.c, gen-support.h, gen.c: Ditto.
46         * gen.h, igen.c, igen.h, ld-cache.c, ld-cache.h: Ditto.
47         * ld-decode.c, ld-decode.h, ld-insn.c, ld-insn.h, lf.c: Ditto.
48         * lf.h, misc.c, misc.h, table.c, table.h: Ditto.
49
50 2002-11-06  Richard Sandiford  <rsandifo@redhat.com>
51
52         * gen-engine.c (print_engine_issue_prefix_hook): Don't add the
53         global prefix to ENGINE_ISSUE_PREFIX_HOOK.
54         (print_engine_issue_postfix_hook): Likewise ENGINE_ISSUE_POSTFIX_HOOK.
55
56 2002-08-28  Dave Brolley  <brolley@redhat.com>
57
58         * gen-support.c (gen_support_h): Generate
59         '#define semantic_illegal <PREFIX>_semantic_illegal'.
60
61 2002-08-22  Chris Demetriou  <cgd@broadcom.com>
62
63         * compare_igen_models: New script.
64
65 2002-06-17  Andrew Cagney  <cagney@redhat.com>
66
67         * gen.c (gen_entry_expand_opcode): Initialize ``value'' to -1 and
68         ``t'' to NULL.
69         * igen.c (main): Add default case to switch.
70         * gen-icache.c (print_icache_extraction): Ditto.
71
72 2002-06-17  Andrew Cagney  <cagney@redhat.com>
73
74         * Makefile.in (BUILD_CFLAGS): Remove -O0.
75
76 2002-06-16  Andrew Cagney  <ac131313@redhat.com>
77
78         * configure: Regenerated to track ../common/aclocal.m4 changes.
79
80 2002-06-03  Richard Henderson  <rth@redhat.com>
81
82         * gen-engine.c (print_run_body): Avoid multi-line strings.
83         * lf.c (lf_print__gnu_copyleft): Likewise.
84
85 2002-05-01  Chris Demetriou  <cgd@broadcom.com>
86
87         * igen.c: Use 'deprecated' rather than 'depreciated.'
88
89 2002-03-23  Andrew Cagney  <ac131313@redhat.com>
90
91         * gen.c (format_name_cmp): New function.
92         (insn_list_insert): Use the instruction field name as an
93         additional key.  Different field names indicate different
94         semantics.
95
96 2002-03-07  Chris Demetriou  <cgd@broadcom.com>
97
98         * igen.c (print_itrace_format): Add support for a new "%#lx" format.
99
100 Tue May 23 21:39:23 2000  Andrew Cagney  <cagney@b1.cygnus.com>
101
102         * configure: Regenerated to track ../common/aclocal.m4 changes.
103
104 2000-04-12  Frank Ch. Eigler  <fche@redhat.com>
105
106         * gen-semantics.c (print_semantic_body): Use GPR_CLEAR(N) instead
107         of GPR_SET(N,0) for gen-zero-rN.
108
109 Thu Sep  2 18:15:53 1999  Andrew Cagney  <cagney@b1.cygnus.com>
110
111         * Makefile.in (SIM_WARNINGS): Replace this with.
112         (IGEN_WERROR_CFLAGS, IGEN_WARN_CFLAGS, WERROR_CFLAGS,
113         WARN_CFLAGS): With these.
114         (BUILD_CFLAGS): Update.
115
116         * configure: Regenerated to track ../common/aclocal.m4 changes.
117
118 1999-05-08  Felix Lee  <flee@cygnus.com>
119
120         * configure: Regenerated to track ../common/aclocal.m4 changes.
121         
122 Fri Dec  4 15:14:09 1998  Andrew Cagney  <cagney@b1.cygnus.com>
123
124         * igen.c (main): Fix -Pitable=.
125
126         * gen-engine.c (print_run_body): Prefix instruction_address.
127
128 Wed Oct 28 18:12:43 1998  Andrew Cagney  <cagney@b1.cygnus.com>
129
130         * Makefile.in (SIM_WARNINGS): Update to match ../common/aclocal.m4
131         changes.
132
133 Wed Aug 12 10:55:28 1998  Frank Ch. Eigler  <fche@cygnus.com>
134
135         * gen-icache.c (print_icache_extraction): #undef a generated
136         symbol before #define'ing it, to remove conflict with system
137         macros.
138
139 Wed Jul 29 10:07:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>
140
141         * gen.c (gen_entry_expand_opcode): For conditional, fields.  Fix
142         the extraction of the value from its source - both table and bit
143         cases were wrong.
144
145 Tue Jul 28 11:19:43 1998  Andrew Cagney  <cagney@b1.cygnus.com>
146
147         * ld-insn.c (parse_insn_word): For constant conditional strings,
148         encode their bit value.
149
150         * ld-insn.c (parse_insn_word, parse_insn_words): Allow conditional
151         operands to refer to fields in earlier instruction words.
152
153         * gen.c (sub_val): Replace field argument with val_last_pos.
154         (gen_entry_expand_opcode): Look in previous tables for a value for
155         a conditional field as well as the bits from the current table.
156         (insn_list_insert): Add sort key of instructions where
157         their operand fields have different conditionals.
158         (insn_field_cmp): New function.
159         
160 Sun Apr 26 15:31:55 1998  Tom Tromey  <tromey@creche>
161
162         * configure: Regenerated to track ../common/aclocal.m4 changes.
163         * config.in: Ditto.
164
165 Sun Apr 26 15:20:08 1998  Tom Tromey  <tromey@cygnus.com>
166
167         * acconfig.h: New file.
168         * configure.in: Reverted change of Apr 24; use sinclude again.
169
170 Fri Apr 24 14:16:40 1998  Tom Tromey  <tromey@creche>
171
172         * configure: Regenerated to track ../common/aclocal.m4 changes.
173         * config.in: Ditto.
174
175 Fri Apr 24 11:19:33 1998  Tom Tromey  <tromey@cygnus.com>
176
177         * configure.in: Don't call sinclude.
178
179 Fri Apr 24 19:45:00 1998  Andrew Cagney  <cagney@b1.cygnus.com>
180
181         * gen-icache.c (print_icache_extraction): Do not type cast
182         pointers.
183         
184         * ld-insn.c (load_insn_table): Terminate error with NL.
185
186         * gen.c (insns_bit_useless): Perform unsigned bit comparisons.
187
188         * filter.c (is_filtered_out, filter_parse): Pacify GCC, len is
189         unsigned.
190
191 Wed Apr 22 14:27:39 1998  Michael Meissner  <meissner@cygnus.com>
192
193         * configure: Reconfigure to pick up ../common/aclocal.m4 changes
194         to suppress inlining by default.
195
196 Tue Apr 21 01:37:54 1998  Andrew Cagney  <cagney@b1.cygnus.com>
197
198         * gen-icache.c (print_icache_extraction): When generating #define
199         force the expression to the correct type.
200
201 Thu Apr 16 08:50:29 1998  Andrew Cagney  <cagney@b1.cygnus.com>
202
203         * misc.c (name2i): strlen returns an unsigned.
204
205 Tue Apr 14 19:04:28 1998  Andrew Cagney  <cagney@b1.cygnus.com>
206
207         * igen.h (struct igen_warn_options): Add unimplemented option.
208         * igen.c (main): Update
209
210         * ld-insn.c (load_insn_table): Report unimplemented functions.
211
212 Tue Apr 14 10:57:26 1998  Andrew Cagney  <cagney@b1.cygnus.com>
213
214         * ld-insn.c (parse_insn_word): Treat `!' and `=' as valid
215         separator tokens when parsing a conditional.
216
217         * igen.h (main): Add option -S so that suffix can be specified.
218
219 Tue Apr 14 08:44:53 1998  Andrew Cagney  <cagney@b1.cygnus.com>
220
221         * igen.h (struct igen_trace_options): Add members insn_expansion
222         and insn_insertion.
223
224         * igen.c (main): Add options -Gtrace-insn-expansion,
225         -Gtrace-insn-insertion and -Gtrace-all.
226
227         * gen.c (gen_entry_expand_insns): Trace each instruction as it is
228         selected for expansion.
229         (gen_entry_expand_opcode): Trace each expanded instruction as it
230         is inserted into the table.
231         
232 Mon Apr 13 19:21:47 1998  Andrew Cagney  <cagney@b1.cygnus.com>
233
234         * ld-insn.c (parse_insn_word): Parse conditional operators.
235         (parse_insn_word): Verify field conditionals.
236
237         * ld-insn.h: Extend syntax to allow macros and field equality.
238         (struct insn_field_cond): Rename insn_field_exclusion, add type.
239
240         * gen.c (gen_entry_expand_opcode): Check type of conditional.
241         (insns_bit_useless): Ditto.
242
243         * ld-insn.c (parse_macro_record): New function.
244
245 Mon Apr 13 22:37:47 1998  Andrew Cagney  <cagney@b1.cygnus.com>
246
247         * ld-insn.h (enum insn_field_type): Add insn_field_invalid.
248
249         * ld-insn.c (parse_insn_word): Check instruction field type
250         correctly initialized.
251         (print_insn_words): Ditto.
252         (insn_field_type_to_str): Ditto.
253         (dump_insn_field): Ditto.
254
255         * gen.c (insns_bit_useless): Ditto.
256
257 Fri Apr  3 18:08:16 1998  Andrew Cagney  <cagney@b1.cygnus.com>
258
259         * gen.h, igen.c (print_include_inline, print_includes,
260         print_includes): New functions.  Generate include list.  For for
261         semantics et.al. generate CPP code to inline when
262         C_REVEALS_MODULE_P.
263         
264         * igen.c (gen_semantics_c): Call print_includes.
265         * gen-engine.c (gen_engine_c): Ditto.
266
267 Sat Apr  4 21:09:11 1998  Andrew Cagney  <cagney@b1.cygnus.com>
268
269         * igen.h: (struct _igen_name_option): Replace with struct
270         igen_module_option. Contains both module prefix and suffix.
271         (INIT_OPTIONS): Initialize.
272         
273         * igen.c (main): Update -P option to fill in full module info.
274         (gen-engine.c, gen-icache.c, gen-itable.c, gen-semantics.c,
275         gen-support.c): Update.
276
277 Sat Apr  4 02:15:35 1998  Andrew Cagney  <cagney@b1.cygnus.com>
278
279         * igen.c (print_itrace): Use TRACE_ANY_P macro to determine if any
280         tracing is needed.
281
282 Thu Mar 26 20:51:23 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>
283
284         * table.c (table_push):  Redo, using stdio.  Fixes NT native
285         problem with <CRLF>=><LF> translation...
286
287 Tue Mar 24 23:30:07 1998  Andrew Cagney  <cagney@b1.cygnus.com>
288
289         * gen-engine.c (print_run_body): Re-extract the CIA after
290         processing any events.
291
292 Tue Mar 24 17:46:08 1998  Stu Grossman  <grossman@bhuna.cygnus.co.uk>
293
294         * Makefile.in:  Get SHELL from configure.
295         * configure:  Regenerate with autoconf 2.12.1 to fix shell issues for
296         NT native builds.
297
298 Mon Mar 16 12:51:31 1998  Andrew Cagney  <cagney@b1.cygnus.com>
299
300         * igen.c: Pass sim_cia to trace_prefix.
301
302 Thu Feb 26 19:25:02 1998  Andrew Cagney  <cagney@b1.cygnus.com>
303
304         * ld-insn.c (parse_function_record): Check models are valid.
305         (parse_function_record): Only discard function when no model is
306         common.
307
308 Tue Feb 24 01:42:03 1998  Andrew Cagney  <cagney@b1.cygnus.com>
309
310         * gen-engine.c (print_run_body): Always wrap generated idecode
311         body in ENGINE_ISSUE_PREFIX_HOOK / ENGINE_ISSUE_POSTFIX_HOOK.
312
313 Fri Feb 20 16:22:10 1998  Andrew Cagney  <cagney@b1.cygnus.com>
314
315         * ld-insn.c (parse_function_record): When -Wnodiscard, suppress
316         discarded function warning.
317
318         * igen.c (main): Clarify -Wnodiscard.
319
320         * ld-insn.c (parse_function_record): For functions, allow use of
321         instruction style function model records
322
323         * ld-insn.h (nr_function_model_fields): Define.
324         
325 Tue Feb 17 16:36:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>
326
327         * igen.c (print_itrace_prefix): Generate call to trace_prefix
328         instead of trace_one_insn.
329         (print_itrace): Generate trace_prefix call if any tracing enabled,
330         (print_itrace): Nest generated call to trace_generic inside
331         conditional for any tracing enabled.
332         (print_itrace_prefix): Do not pass PHASE to trace_prefix.
333
334 Tue Feb  3 14:00:32 1998  Andrew Cagney  <cagney@b1.cygnus.com>
335
336         * gen-engine.c (print_run_body): Add bitsize suffix to IMEM macro.
337         * gen-icache.c (print_icache_body): Ditto.
338         * gen-idecode.c (print_idecode_ifetch): Ditto.
339
340         * gen-icache.c (print_icache_body): Mark successive instruction
341         words as unused.
342
343         * ld-insn.c (parse_insn_word): Only report insn-width problems
344         when warning enabled.
345
346         * igen.h: Add flag for warning about invalid instruction widths.
347         * igen.c: Parse -Wwidth option.
348         
349         * gen-support.c (gen_support_h): Map instruction_word onto
350         <PREFIX>_instruction_word when needed.
351         (print_support_function_name): Use support prefix.
352         (gen_support_h): Ditto for <PREFIX>_idecode_issue.
353         
354 Sun Feb  1 11:08:48 1998  Andrew Cagney  <cagney@b1.cygnus.com>
355
356         * gen-support.c (gen_support_h): Generate new macro CPU_.
357
358 Sat Jan 31 14:50:27 1998  Andrew Cagney  <cagney@b1.cygnus.com>
359
360         * gen-engine.c (gen_engine_h): Don't assume a model is present.
361         (gen_engine_c): Ditto.
362
363         * igen.c (gen_run_c): Ditto.
364
365         * gen-engine.c (print_run_body): Use CIA_GET & CIA_SET instead of
366         CPU_CIA.  Parameterize with CPU argument.
367         
368 Fri Jan 30 09:09:39 1998  Andrew Cagney  <cagney@b1.cygnus.com>
369
370         * gen.h (struct _gen_list): Replace processor with model.
371
372         * igen.c (gen_idecode_h): Update.
373         (gen_run_c): For generated switch, use model->full_name.
374
375         * gen.c (print_gen_entry_path): Ditto.
376         (make_table):  Ditto.
377         (gen_entry_expand_insns):  Ditto.
378         (make_gen_tables):  Ditto.
379
380         * igen.c (gen_run_c): Add extra argument `nr_cpus' to generated
381         function sim_engine_run.  Pass argument on to engine_run.
382
383         * gen-engine.c (print_engine_run_function_header): Add extra
384         argument `nr_cpus' to generated function engine_run.
385         (print_run_body): Fix SMP case.
386
387         * gen-support.c (support_c_function): Call sim_engine_abort when
388         internal function fails to long jump.
389
390 Wed Jan 21 18:00:22 1998  Andrew Cagney  <cagney@b1.cygnus.com>
391
392         * gen-semantics.c (print_semantic_body): Use GPR_SET to zero
393         hardwired register.
394
395 Wed Dec 17 14:49:03 1997  Jeffrey A Law  (law@cygnus.com)
396
397         * gen-semantics.c (print_semantic_body): Fix handling of
398         hardwired zero register.
399
400 Tue Dec  9 12:45:00 1997  Andrew Cagney  <cagney@b1.cygnus.com>
401
402         * igen.h (struct _igen_gen_options): Add member default_model.
403
404         * igen.c (gen_run_c): Default to the first machine in the
405         multi-sim list.
406         (main): Add MODEL parameter to gen-multi-sim option.
407
408         * gen.h (function_decl_type): Declare enum.
409
410         * gen-engine.c (print_engine_run_function_header), gen-engine.h:
411         Make global, pass function_decl_type as argument.
412         (gen_engine_h, gen_engine_c): Update call.
413
414         * gen-idecode.c (print_idecode_issue_function_header),
415         gen-idecode.h: Pass function_decl_type as argument.
416
417         * igen.c (gen_idecode_h): For multi-sim, delcare global variable
418         idecode_issue.
419
420         * igen.c (gen_run_c): For multi-sim, initialize globals
421         idecode_issue and engine_run.
422
423 Fri Nov 14 10:51:44 1997  Andrew Cagney  <cagney@b1.cygnus.com>
424
425         * ld-insn.c (parse_insn_model_record): Allow multiple model names
426         to be specified in a single instruction model record.
427         (dump_insn_model_entry): Update.
428
429         * ld-insn.h (struct _insn_model_entry): Replace member name with
430         the filter names.  Document syntax change.
431
432 Wed Nov 12 15:45:40 1997  Andrew Cagney  <cagney@b1.cygnus.com>
433
434         * gen-engine.c (print_run_body): Add hooks for adding code before
435         and after an instruction has been issued.
436
437 1997-11-04  Brendan Kehoe  <brendan@lisa.cygnus.com>
438
439         * gen-idecode.c (print_jump_until_stop_body): Use `#if 0' instead of
440         `#ifdef 0' around this.
441
442 Tue Nov  4 08:18:29 1997  Michael Meissner  <meissner@cygnus.com>
443
444         * ld-decode.c (load_decode_table): Don't assume NULL is an integer
445         constant.
446
447 Wed Oct 29 13:17:17 1997  Andrew Cagney  <cagney@b1.cygnus.com>
448
449         * ld-insn.h: Document mnemonic string format.
450
451 Tue Oct 28 10:50:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>
452
453         * gen-icache.c (print_icache_extraction): Force result of atol to
454         unsigned.
455
456         * ld-insn.c (parse_function_record): Separate handling of old and
457         ney fynction records.
458         (load_insn_table): For %s record, hack function name & type after
459         it has been parsed.
460
461         * filter.h (filter_is_subset): Reverse argument names, wrong
462         order.
463
464         * ld-insn.c (load_insn_table): Move include code to.
465         (parse_include_record): New function.  Check for filtering of
466         include statement by both flags and models.
467         (load_insn_table): Check for model filtering of cache and model
468         records.
469         (parse_model_data_record): Check for model & flag filtering of
470         model data records.
471         (parse_function_record): Check for model & flag filtering of
472         function records.
473
474         * ld-insn.h: Define record_filter_models_field.  Add filter-models
475         field to all but instruction records.
476         (struct _function_entry, struct _cache_entry): Add models field.
477         (nr_function_fields): Make parm field mandatory.
478
479 Mon Oct 27 15:14:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
480
481         * igen.c (main): Change -I option to -I<directory>.  Add optional
482         size to -Ggen-icache option.  Add -Gno-... support.
483         
484         * igen.h (struct _igen_options): Add include field.
485         
486         * ld-insn.c (enum insn_record_type, insn_type_map): Add
487         include_record.
488         (load_insn_table): Call table_push when include record.
489         
490         * table.c (struct _open table, struct table): Make table object an
491         indirect ptr to the current table file.
492         (current_line, new_table_entry, next_line): Make file arg type
493         open_table.
494         (table_open): Use table_push.
495         (table_read): Point variable file at current table, at eof, pop
496         last open table.
497
498         * table.h, table.c (table_push): New function.
499
500 Thu Oct 16 11:03:27 1997  Andrew Cagney  <cagney@b1.cygnus.com>
501
502         * gen-semantics.c (print_semantic_body): Use CIA not
503         cia.ip. Escape newlines at end of generated call to
504         sim_engine_abort.
505
506 Tue Oct 14 11:13:27 1997  Andrew Cagney  <cagney@b1.cygnus.com>
507
508         * igen.c (print_itrace): Output line-ref to igen source file when
509         generating trace statements.
510         (print_itrace_prefix, print_itrace_format): Escape newline at end
511         of each line of generated call to trace function.
512
513 Mon Oct 13 11:27:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
514
515         * gen-support.c (gen_support_h): Generate #define NIA. Definition
516         dependant on gen-delayed-branch mode.
517
518         * ld-insn.c (parse_insn_mnemonic_record): Check for opening and
519         closing double quote in mnemonic field.
520         (parse_option_record): Add gen-delayed-branch option.
521
522 Wed Oct  8 13:10:16 1997  Andrew Cagney  <cagney@b1.cygnus.com>
523
524         * gen.c (insn_list_insert): Missing \n in warning.
525
526         * ld-insn.c (load_insn_table): Only notify of discarded
527         instrctions when warn.discard enabled.
528
529         * igen.h: Add option.warn.discard, default enabled.
530
531         * igen.c (main): Add -Wnodiscard option.
532
533         * ld-insn.c (record_type): For old record type, check the number
534         of fields is correct.
535         (load_insn_table): Allow insn assembler and insn model records to
536         appear in any order.
537         (parse_insn_model_record): Rename from parse_insn_model_records.
538         Parse only one record.
539         (parse_insn_mnemonic_record): Rename from
540         parse_insn_mnemonic_records.  Parse only one record.
541
542 Tue Sep 23 15:52:06 1997  Felix Lee  <flee@yin.cygnus.com>
543
544         * gen-itable.c (gen_itable_h): [nr_itable_* + 1] to avoid
545         illegal zero-sized array.
546         (itable_print_set): likewise, avoid empty initializers.
547
548 Mon Sep 22 18:49:07 1997  Felix Lee  <flee@cygnus.com>
549
550         * configure.in: i386-windows is a cross, so don't expect
551         libiberty to be there.
552         * configure: updated.
553         
554 Fri Sep 19 10:36:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
555
556         * igen.c (print_function_name): Put the format name after the
557         function / instruction name, not before.
558         (print_itrace): Better format trace code.
559
560 Tue Sep 16 11:01:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
561
562         * gen.c (insns_bit_useless): Don't treat string fields restricted
563         to a range of values as useless.
564
565 Mon Sep 15 15:47:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>
566
567         * igen.c (gen_run_c): Handle non-multi-sim case.
568
569         * gen-support.c (gen_support_h): Define SD_ - to replace _SD.
570         Define CIA from cia.
571
572 Thu Sep 11 10:27:39 1997  Andrew Cagney  <cagney@b1.cygnus.com>
573
574         * gen-semantics.c (print_semantic_body): Trace the instruction
575         after it has been validated.
576         (print_semantic_body): Count the instruction using sim-profile.
577         
578 Wed Sep 10 13:35:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
579
580         * gen-itable.c (gen_itable_h): Collect summary info on instruction
581         table when traversing it.
582         (gen_itable_h): Output an enum defining the max size of each of
583         the itable string members.
584
585 Tue Sep  9 03:30:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
586
587         * igen.c (gen_run_c): New function. Generate sim_engine_run that
588         looks at the currently selected architecture.
589
590         * gen-engine.c, gen-idecode.c: Add multi-sim support - generate
591         one engine per model.
592         
593         * gen-semantics.c, gen-icache.c gen-support.c:
594         Update.
595
596         * ld-insn.h, ld-insn-h (load_insn_table): Rewrite.  table.h only
597         returns a line at a time.  Parse multi-word instructions.  Add
598         multi-sim support.
599
600         * table.h, table.c: Simplify.  Only parse a single line at a time.
601         ld-insn can handle the rest.
602
603         * filter.h, filter.c (filter_parse, filter_add, filter_is_subset,
604         filter_is_common, filter_is_member, filter_next): New filter
605         operations.
606         (dump_filter): Ditto.
607         
608         * gen.h, gen.c: New file.  Takes the insn table and turns it into
609         a set of decode tables and semantic functions.
610         
611         * ld-insn.c: Copy generator code from here.
612         * gen.c: To here.
613
614 Fri Aug  8 11:43:45 1997  Andrew Cagney  <cagney@b1.cygnus.com>
615
616         * misc.h (NZALLOC): Allocate an N element array of TYPE.
617
618         * table.h, table.c: Simplify table parser so that it only
619         understands colon delimited lines and code blocks.
620         (table_read): Parse '{' ... '}' as a code block.
621         (table_print_code): New function, print out a code block to file.
622         (main): Add suport for standalone testing.
623         
624         * ld-insn.h, ld-insn.c:
625         
626         
627 Mon Sep  1 11:41:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
628
629         * gen-idecode.c (error_leaf_contains_multiple_insn): Make static.
630         (print_jump_definition, print_jump, print_jump_internal_function,
631         print_jump_insn, print_jump_until_stop_body): Delete, moved to
632         sim-engine.c
633
634         * igen.c (print_itrace_format): Delete unused variable chp.
635         (gen-engine.h): Include.
636
637         * table.c (current_file_name, current_line_entry,
638         current_line_entry): Make static.
639
640 Wed Aug  6 12:31:17 1997  Andrew Cagney  <cagney@b1.cygnus.com>
641
642         * configure.in: Define AR_FOR_BUILD, AR_FLAGS_FOR_BUILD,
643         RANLIB_FOR_BUILD and CFLAGS_FOR_BUILD.
644         * configure.in: Include simulator common/aclocal.m4.
645         * configure.in: Add --enable-sim-warnings option.
646         * configure: Re-generate.
647         
648         * Makefile.in: Use.
649
650         * Makefile.in (tmp-filter): New rule.
651         (igen.o, tmp-table, tmp-ld-decode, tmp-ld-cache, tmp-ld-insn,
652         ld-decode.o, ld-cache.o, ld-insn.o): Fix dependencies.
653         
654         * gen.h, gen.c: New files.
655         
656         * Makefile.in (gen.o, tmp-gen): New rules, update all
657         dependencies.
658         
659 Tue Jun 24 11:46:45 1997  Andrew Cagney  <cagney@b1.cygnus.com>
660
661         * ld-insn.c (load_insn_table): Accept %s as a function type.
662
663 Thu Jun  5 17:14:32 1997  Andrew Cagney  <cagney@b1.cygnus.com>
664
665         * igen.c (print_itrace_prefix): Move printing of insn prefix to
666         here.
667         (print_itrace_format): Drop printing of MY_NAME in instruction
668         trace.  Printing of insn prefix moved.
669         (print_itrace): Ditto.
670
671 Fri May 30 11:27:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
672
673         * gen-icache.c (print_icache_function_header): Pass
674         table_line_entry instead of separate file and line.
675
676         * table.c (table_entry_read): Set assembler source file/line-nr to
677         the current not initial file.
678         (table_entry_read): Fix line numbering of source files.
679
680         table.h (table_line_entry): New structure.  Exactly specifies a
681         source file/line-nr.
682         (table_*_entry): Add this to all.
683         
684         table.c (table_entry_print_cpp_line_nr): Change to use values from
685         a table_line_entry struct.
686         (table_entry_read): Save table_line_entry in all structures read.
687
688         gen-icache.c, gen-support.c, gen-idecode.c, gen-semantics.c,
689         gen-model.c: Update all references.
690         
691 Thu May 29 10:29:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
692
693         * igen.c (print_my_defines): Define MY_NAME - a string.  For
694         MY_PREFIX, undefine the name of the function incase some dumb
695         header defined it.  it.
696         (print_itrace): Use MY_NAME not MY_PREFIX.
697
698         * lf.c (lf_write): New function write an N character buffer to the
699         file.
700
701         * igen.c (print_itrace): When available, use the assembler to
702         print the insn-trace.
703         (print_itrace_prefix): New function, print first part of call to
704         print_one_insn.
705         (print_itrace_format): New function, print fmt argument for
706         print_one_insn.
707         
708         * table.c (table_entry_read): Save any assembler lines instead of
709         discarding them.
710
711 Wed May 28 09:55:29 1997  Andrew Cagney  <cagney@b1.cygnus.com>
712
713         * gen-icache.c (print_icache_body): Process immeds.
714
715         * gen-semantics.c (print_semantic_body): When computing NIA, skip
716         any immed words that follow the instruction word.
717
718         * ld-insn.c (parse_insn_format): Parse immeds appended to an
719         instruction.
720
721         * igen.c (main): Allow any register to be specified as the zero
722         register.
723         (semantic_zero_reg): Global, index to zero register.
724
725         * gen-semantics.c (print_semantic_body): Zero selected register.
726
727 Tue May 27 14:12:32 1997  Andrew Cagney  <cagney@b1.cygnus.com>
728
729         * igen.h: Stop options and code gen type bit masks overlaping.
730
731 Fri May 23 12:01:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
732
733         * gen-semantics.c (print_semantic_body): Incorrect test for
734         zero-r0 code.
735
736 Fri May 16 14:32:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
737
738         * gen-semantics.c (print_semantic_body): Use common sim-engine
739         interface.
740
741 Fri May 16 11:48:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
742
743         * gen-semantics.c (print_semantic_body): Add code to clear r0.
744
745         * igen.c (main): Add new option zero-r0, which adds code to clear
746         GPR(0) each cycle.
747
748 Wed May  7 12:31:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
749
750         * igen.c (print_itrace): Fix so line-nr is passed to trace
751         function.
752
753         * gen-idecode.c (print_idecode_validate): Correct FP code.
754
755         * gen-support.c (gen_support_h): Always pass MY_INDEX to support
756         functions.
757         (print_support_function_name): Ditto.
758
759 Tue May  6 06:12:04 1997  Mike Meissner  <meissner@cygnus.com>
760
761         * igen.c (print_itrace): Call trace_one_insn to trace
762         instructions, rather than doing it directly.
763
764 Mon May  5 14:11:46 1997  Mike Meissner  <meissner@cygnus.com>
765
766         * gen-engine.c (engine_switch_leaf): Remove extra %s.
767         (print_engine_floating_point_unavailable): Wrap in #ifdef
768         UNUSED/#endif, until somebody uses it.
769
770         * gen-idecode.c (error_leaf_contains_multiple_insn): Remove unused
771         variable.
772         (print_jump_until_stop_body): Wrap in #ifdef UNUSED/#endif, until
773         somebody uses it.
774         (print_idecode_validate): Use long formats to print long values.
775
776         * gen-semantics.c (print_idecode_invalid): Set name to "unknown"
777         if we get an unexpected type.
778
779 Fri May  2 13:28:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
780
781         * igen.c (print_itrace): Pass SD as well as CPU to calls to
782         trace_printf.
783
784         * gen-support.c (gen_support_h): Always pass sim_cia cia to
785         support functions.
786         (print_support_function_name): Ditto.
787
788 Wed Apr 30 17:35:51 1997  Andrew Cagney  <cagney@b1.cygnus.com>
789
790         * gen-support.c (support_c_function): Remove unnecessary memset of
791         cia.
792         * gen-semantics.c (print_semantic_body): Wasn't closing
793         generated comment.
794
795 Tue Apr 29 11:11:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
796
797         * ld-insn.c (load_insn_table): Report instructions that do not
798         have at least a format and name.
799         (insn_table_find_opcode_field): Check progress is being made.
800
801         * gen-support.c (support_c_function): Report empty function body.
802
803 Thu Apr 24 11:43:45 1997  Andrew Cagney  <cagney@b1.cygnus.com>
804
805         * ld-insn.c (insn_table_expand_opcode): Allow reserved fields to
806         be broken up.
807         (insn_table_expand_insns): Allow special rules to apply to groups
808         of instructions when all members of the group match the special
809         mask/value.
810
811         * gen-semantics.c (print_c_semantic): Ditto.
812         * igen.c (print_semantic_function_formal): Ditto.
813         (print_semantic_function_type): Ditto.
814         * igen.c (print_icache_function_formal): Ditto.
815         * gen-idecode.c (print_idecode_issue_function_body): Ditto.
816
817         * gen-idecode.c (gen_idecode_h): Prepend the global_prefix to the
818         instruction_address type.
819
820         * gen-semantics.c (print_semantic_body): Call cpu_error when an
821         unimplemented instruction is encountered - gives the interpreter
822         the chance to stop correctly.
823
824 Wed Apr 23 20:06:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>
825
826         * igen.c (print_function_name): Allow dot's in instruction names.
827
828 Tue Apr 22 21:46:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
829
830         * igen.c (main), igen.h: Support new option - delayed-branch -
831         generate code to drive a delayed branch processor.
832
833         * gen-idecode.c (gen_idecode_h): Define instruction_address type.
834
835         * igen.c (print_icache_function_formal): Replace address_word with
836         instruction_address.
837         (print_semantic_function_formal): Ditto.
838         (print_semantic_function_type): Ditto.
839         * gen-idecode.c (print_idecode_issue_function_body): Ditto.
840
841         * gen-semantics.c (print_semantic_body): Ditto.
842         (print_c_semantic): Ditto.
843
844         * gen-support.c (support_c_function): Return a zeroed CIA instead
845         of just zero - works with any cia type.
846
847         * igen.c (print_itrace): For delayed branch case, print just the
848         current instruction.
849         
850 Thu Apr 17 07:02:33 1997  Doug Evans  <dje@canuck.cygnus.com>
851
852         * igen.c (print_itrace): Use TRACE_FOO_P and trace_printf.
853
854 Tue Apr 15 15:20:31 1997  Ian Lance Taylor  <ian@cygnus.com>
855
856         * Makefile.in (INSTALL): Set to @INSTALL@.
857         (INSTALL_XFORM, INSTALL_XFORM1): Remove.
858
859 Mon Apr 14 16:29:34 1997  Ian Lance Taylor  <ian@cygnus.com>
860
861         * Makefile.in (INSTALL): Change install.sh to install-sh.
862
863 Wed Apr  2 18:51:20 1997  Doug Evans  <dje@canuck.cygnus.com>
864
865         * gen-support.c (gen_support_c): sim-state.h renamed to sim-main.h.
866         * gen-idecode.c (gen_idecode_c): Likewise.
867         * igen.c (gen_semantics_c): Likewise.
868
869 Mon Mar 24 10:10:08 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
870
871         * gen-icache.c (print_icache_body): No longer define cpu/sd,
872         support.h now defines CPU/SD globally.
873
874         * gen-model.c (gen_model_h): Ditto.
875
876         * gen-idecode.c (print_idecode_issue_function_body): Ditto.
877         (print_jump): Ditto.
878         (print_jump_until_stop_body): Ditto.
879         (print_idecode_validate): Ditto.
880
881         * gen-icache.c (print_icache_body): Ditto.
882
883         * gen-semantics.c (print_semantic_body): Ditto.
884
885         * igen.c (print_semantic_function_formal): Rename cpu to sim_cpu,
886         processor to cpu.
887         (print_icache_function_formal): Ditto.
888
889         * gen-support.c (print_support_function_name): Include sd/cpu arg
890         in support function argument list.
891         (support_c_function): Generate code to cpu/sd from sd/cpu.
892         (gen_support_h): Define _SD the argument prefix for all support
893         functions.  Define SD/CPU to determine sd/cpu from value of _SD
894         macro.
895
896 Tue Mar 18 15:52:24 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
897
898         * gen-support.c (gen_support_c): Update for renaming of engine to
899         sim-state.
900         
901         * igen.c: Ditto.
902         * gen-idecode.c (gen_idecode_c): Ditto.
903
904 Mon Mar 17 15:17:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
905
906         * ld-decode.c (load_decode_table): Rename slash to reserved.
907         (dump_decode_rule): Ditto.
908
909         * ld-insn.c (parse_insn_format): Differentiate between a `/' -
910         reserved bit - and a `*' - wild card.
911         (parse_insn_format): Change is_slash to more informative reserved.
912         (dump_insn_field): Ditto.
913         (insn_field_is_constant): Ditto.
914         (insn_table_expand_opcode): Ditto.
915
916         * gen-idecode.c (print_idecode_validate): Make check_mask and
917         check_val the correct integer size.
918         (print_idecode_validate): Fix reserved bit check for 64 bit
919         targets.
920
921 Fri Mar 14 11:24:06 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
922
923         * ld-insn.c (parse_insn_format): Accept '*' as an alternative of
924         `/' in bit fields.  `/' denotes a wild bit.
925
926 Fri Mar  7 18:20:38 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
927
928         * igen.h, igen.c (main): New options. Control generation of
929         conditional issue and slot verification code.
930
931 Fri Mar  7 18:17:25 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
932
933         * gen-support.c (print_support_function_name): Prepend the global
934         name prefix when applicable.  Provide #define to map the user
935         specified name the generated globaly unique one.
936
937 Fri Mar  7 18:07:45 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
938
939         * gen-idecode.c (print_idecode_validate): Wrap each of the checks
940         - reserved bits, floating point and slot validation - with a
941         #ifdef so that they are optional.
942         
943 Fri Mar  7 16:35:13 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
944
945         * gen-idecode.c (error_leaf_contains_multiple_insn): New function
946         - report the error of a leaf node in the decision tree containing
947         several instructions.
948         (print_idecode_table_leaf): Detect a leaf with multiple instructions.
949         (print_idecode_switch_leaf): Ditto.
950
951         * gen-semantics.h, gen-semantics.c (print_idecode_illegal,
952         print_idecode_invalid): Rename former to latter.  Add argument so
953         that one function can generate all invalid instruction cases -
954         illegal, fp-unavailable, wrong-slot.
955         * gen-engine.c: Update.
956
957         * gen-idecode.c: Use print_idecode_invalid to generate a function
958         call for cases when fp-unavailable and the slot is wrong.
959
960         * gen-idecode.c (print_idecode_validate): New check, generate code
961         to verify that the instruction slot is correct.
962         
963         * igen.c (main): Simplify options.
964
965 Wed Mar  5 09:55:55 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
966
967         * igen.c (print_itrace): Remove source line reference for trace
968         code - let the user see the generated file.
969         (print_itrace): Print the trace code rather than reference a
970         macro.
971
972 Tue Mar  4 17:31:55 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
973
974         * igen.c (print_semantic_function_actual): Pass either the
975         processor - smp - or the engine - mono - into semantic functions.
976         Don't pass in both.
977
978         * gen-icache.c (print_icache_body): Dependant on smp, derive
979         processor from engine or engine from processor, and hence ensuring
980         that both are defined in all semantic functions.
981
982 Mon Mar  3 17:11:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
983
984         * ld-insn.c (parse_insn_format): Make the width field optional.
985         If missing assume that the number of characters in the value
986         determines the number of bits in the field.
987         
988 Thu Feb 27 11:27:48 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
989
990         * ld-insn.c (insn_table_expand_opcode): Replace assertion with
991         more useful error message.
992
993 Tue Feb 25 16:43:27 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
994
995         * misc.c (error): Output errors on stderr.
996
997         * ld-insn.c (parse_insn_format): Skip any leading spaces.
998         Verify the width of instructions being parsed.
999
1000         * table.c (table_entry_read): Parse CPP's convention for
1001         specifying original file name/line-nr.
1002
1003 Wed Feb 19 12:30:28 1997  Andrew Cagney  <cagney@critters.cygnus.com>
1004
1005         * ld-insn.c (parse_insn_format): Allow trailing spaces in
1006         instruction fields.
1007
1008         * Makefile.in: Create using ../ppc/Makefile.in as a starting
1009         point.
1010         * configure.in: Ditto vis ../ppc/configure.in
1011         
1012 Mon Feb 17 10:44:18 1997  Andrew Cagney  <cagney@critters.cygnus.com>
1013
1014         * gen-support.c (gen_support_c): Always include engine.h instead
1015         of cpu.h
1016         * gen-idecode.c (gen_idecode_c): Ditto.
1017
1018         * words.h (instruction_word): Remove instruction_word - now
1019         generated by igen.
1020         (address_word): New.  Used by igen.
1021         
1022         * lf.c (lf_print_function_type_function): New, pass a function to
1023         print out the type instead of a constant string.
1024         
1025         * igen.h, igen.c (print_semantic_function_formal,
1026         SEMANTIC_FUNCTION_FORMAL): Relace macro with function.
1027         (print_semantic_function_actual, SEMANTIC_FUNCTION_ACTUAL): Ditto.
1028         (print_semantic_function_type, SEMANTIC_FUNCTION_TYPE): Ditto.
1029         (print_icache_function_type, ICACHE_FUNCTION_TYPE): Ditto.
1030         (print_icache_function_formal, ICACHE_FUNCTION_FORMAL): Ditto.
1031         (print_icache_function_actual, ICACHE_FUNCTION_ACTUAL): Ditto.
1032         * gen-idecode.c (print_idecode_table): Update.
1033         (idecode_switch_leaf): Update.
1034         (print_idecode_switch_function_header): Ditto.
1035         (print_idecode_floating_point_unavailable): Ditto.
1036         (print_idecode_issue_function_header): Ditto.
1037         * igen.c (gen_icache_h): Ditto.
1038         * gen-engine.c (print_engine_table): Ditto.
1039         (engine_switch_leaf): Ditto.
1040         * gen-support.c (print_support_function_name): Ditto.
1041         * gen-semantics.c (print_semantic_function_header): Update.
1042         Update.
1043         * gen-icache.c (print_icache_function_header): Update.
1044         (print_icache_function): Update.
1045         (print_icache_internal_function_declaration): Update.
1046         (print_icache_internal_function_definition): Update.
1047
1048         * gen-idecode.c (gen_idecode_h): Drop including of idecode_*.h
1049         files, will at some stage need to move it into support.
1050
1051         * igen.h, igen.c (main): New option -e <engine> - generate a full
1052         simulation engine.  Previously this was the -d <idecode-file>
1053         option.
1054         * gen-engine.h, gen-engine.c: Copies of gen-idecode.*.  Will need
1055         to clean these up so that that call upon the updated gen-idecode
1056         code.
1057         
1058         * gen-idecode.h, gen-idecode.c: Prune out any code not relevant to
1059         generating a decode table.
1060         
1061         * Makefile.in (igen): Add dependencies for new gen-engine.* files.
1062
1063         * igen.h, igen.c (main): New option -M - Control what is returned
1064         by semantic functions - -1/NIA vs CIA+N/NIA.  Add
1065         generate_semantic_returning_modified_nia_only to igen_code enum.
1066         * gen-semantics.c (print_semantic_body): As an alternative, make
1067         NIA == -1 instead of CIA+insn_size by default.
1068         
1069         * igen.h, igen.c (main, global_name_prefix, global_uname_prefix):
1070         New option -P <prefix> - Prepend all generated functions with the
1071         specified prefix.
1072         (gen_idecode_c): Adjust.
1073         * gen-icache.c (print_icache_struct): Ditto.
1074         * gen-support.c (gen_support_c): Ditto.
1075
1076 Sun Feb 16 15:23:15 1997  Andrew Cagney  <cagney@critters.cygnus.com>
1077
1078         * igen.c (main): Correct usage. Missleading message about ucase
1079         options dumping internal tables.  -F now includes rather then
1080         excludes instructions.
1081
1082         * misc.h, misc.c (a2i): Make 64bit.
1083
1084         * ld-insn.h (max_insn_bit_size, default_insn_bit_size): Increase
1085         max to 64bits, expect trouble.  Make the default 32 bits.
1086         * gen-idecode.c (print_idecode_table): Change EXTRACTED*
1087         et.al. macro's to use the insn_bit_size instead of assuming 32
1088         bits.
1089         * gen-icache.c (print_icache_extraction): Ditto.
1090         * gen-idecode.c (idecode_switch_start): Ditto.
1091         * gen-idecode.c (gen_idecode_c): Ditto
1092
1093         * igen.h (insn_specifying_widths), igen.c (main): New option -W.
1094         Indicates that the instruction field of the table is specifying
1095         bit widths instead of bit offsets.
1096         * ld-insn.c (parse_insn_format): Parse instruction fields
1097         specifying widths.
1098
1099         * misc.c (a2i): Allow binary numbers to be specified using the
1100         syntax 0bNNNN.
1101         * ld-insn.c: Allow such numbers to appear in the instruction
1102         format.
1103
1104         * table.c (table_entry_read): Make // a valid comment character.
1105         (table_entry_read): Skip lines containing a leading " - these may
1106         eventually be used in a disasembler.
1107
1108 Fri Feb 14 15:23:15 1997  Andrew Cagney  <cagney@critters.cygnus.com>
1109
1110         * filter.c, filter.h, gen-engine.c, gen-engine.h, gen-icache.c,
1111         gen-icache.h, gen-idecode.c, gen-idecode.h, gen-itable.c,
1112         gen-itable.h, gen-model.c, gen-model.h, gen-semantics.c,
1113         gen-semantics.h, gen-support.c, gen-support.h, igen.c, igen.h,
1114         ld-cache.c, ld-cache.h, ld-decode.c, ld-decode.h, ld-insn.c,
1115         ld-insn.h, lf.c, lf.h, misc.c, misc.h, table.c, table.h: Copy in
1116         from the ../ppc directory.
1117
1118         * filter_host.c, filter_host.h: Copy in from the ../ppc directory
1119         renaming from filter_filename.[hc]