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