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