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