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