* gen-idecode.c (print_jump_until_stop_body): Use `#if 0' instead of
[platform/upstream/binutils.git] / sim / igen / ChangeLog
1 1997-11-04  Brendan Kehoe  <brendan@lisa.cygnus.com>
2
3         * gen-idecode.c (print_jump_until_stop_body): Use `#if 0' instead of
4         `#ifdef 0' around this.
5
6 Tue Nov  4 08:18:29 1997  Michael Meissner  <meissner@cygnus.com>
7
8         * ld-decode.c (load_decode_table): Don't assume NULL is an integer
9         constant.
10
11 Wed Oct 29 13:17:17 1997  Andrew Cagney  <cagney@b1.cygnus.com>
12
13         * ld-insn.h: Document mnemonic string format.
14
15 Tue Oct 28 10:50:35 1997  Andrew Cagney  <cagney@b1.cygnus.com>
16
17         * gen-icache.c (print_icache_extraction): Force result of atol to
18         unsigned.
19
20         * ld-insn.c (parse_function_record): Separate handling of old and
21         ney fynction records.
22         (load_insn_table): For %s record, hack function name & type after
23         it has been parsed.
24
25         * filter.h (filter_is_subset): Reverse argument names, wrong
26         order.
27
28         * ld-insn.c (load_insn_table): Move include code to.
29         (parse_include_record): New function.  Check for filtering of
30         include statement by both flags and models.
31         (load_insn_table): Check for model filtering of cache and model
32         records.
33         (parse_model_data_record): Check for model & flag filtering of
34         model data records.
35         (parse_function_record): Check for model & flag filtering of
36         function records.
37
38         * ld-insn.h: Define record_filter_models_field.  Add filter-models
39         field to all but instruction records.
40         (struct _function_entry, struct _cache_entry): Add models field.
41         (nr_function_fields): Make parm field mandatory.
42
43 Mon Oct 27 15:14:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
44
45         * igen.c (main): Change -I option to -I<directory>.  Add optional
46         size to -Ggen-icache option.  Add -Gno-... support.
47         
48         * igen.h (struct _igen_options): Add include field.
49         
50         * ld-insn.c (enum insn_record_type, insn_type_map): Add
51         include_record.
52         (load_insn_table): Call table_push when include record.
53         
54         * table.c (struct _open table, struct table): Make table object an
55         indirect ptr to the current table file.
56         (current_line, new_table_entry, next_line): Make file arg type
57         open_table.
58         (table_open): Use table_push.
59         (table_read): Point variable file at current table, at eof, pop
60         last open table.
61
62         * table.h, table.c (table_push): New function.
63
64 Thu Oct 16 11:03:27 1997  Andrew Cagney  <cagney@b1.cygnus.com>
65
66         * gen-semantics.c (print_semantic_body): Use CIA not
67         cia.ip. Escape newlines at end of generated call to
68         sim_engine_abort.
69
70 Tue Oct 14 11:13:27 1997  Andrew Cagney  <cagney@b1.cygnus.com>
71
72         * igen.c (print_itrace): Output line-ref to igen source file when
73         generating trace statements.
74         (print_itrace_prefix, print_itrace_format): Escape newline at end
75         of each line of generated call to trace function.
76
77 Mon Oct 13 11:27:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
78
79         * gen-support.c (gen_support_h): Generate #define NIA. Definition
80         dependant on gen-delayed-branch mode.
81
82         * ld-insn.c (parse_insn_mnemonic_record): Check for opening and
83         closing double quote in mnemonic field.
84         (parse_option_record): Add gen-delayed-branch option.
85
86 Wed Oct  8 13:10:16 1997  Andrew Cagney  <cagney@b1.cygnus.com>
87
88         * gen.c (insn_list_insert): Missing \n in warning.
89
90         * ld-insn.c (load_insn_table): Only notify of discarded
91         instrctions when warn.discard enabled.
92
93         * igen.h: Add option.warn.discard, default enabled.
94
95         * igen.c (main): Add -Wnodiscard option.
96
97         * ld-insn.c (record_type): For old record type, check the number
98         of fields is correct.
99         (load_insn_table): Allow insn assembler and insn model records to
100         appear in any order.
101         (parse_insn_model_record): Rename from parse_insn_model_records.
102         Parse only one record.
103         (parse_insn_mnemonic_record): Rename from
104         parse_insn_mnemonic_records.  Parse only one record.
105
106 Tue Sep 23 15:52:06 1997  Felix Lee  <flee@yin.cygnus.com>
107
108         * gen-itable.c (gen_itable_h): [nr_itable_* + 1] to avoid
109         illegal zero-sized array.
110         (itable_print_set): likewise, avoid empty initializers.
111
112 Mon Sep 22 18:49:07 1997  Felix Lee  <flee@cygnus.com>
113
114         * configure.in: i386-windows is a cross, so don't expect
115         libiberty to be there.
116         * configure: updated.
117         
118 Fri Sep 19 10:36:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
119
120         * igen.c (print_function_name): Put the format name after the
121         function / instruction name, not before.
122         (print_itrace): Better format trace code.
123
124 Tue Sep 16 11:01:07 1997  Andrew Cagney  <cagney@b1.cygnus.com>
125
126         * gen.c (insns_bit_useless): Don't treat string fields restricted
127         to a range of values as useless.
128
129 Mon Sep 15 15:47:21 1997  Andrew Cagney  <cagney@b1.cygnus.com>
130
131         * igen.c (gen_run_c): Handle non-multi-sim case.
132
133         * gen-support.c (gen_support_h): Define SD_ - to replace _SD.
134         Define CIA from cia.
135
136 Thu Sep 11 10:27:39 1997  Andrew Cagney  <cagney@b1.cygnus.com>
137
138         * gen-semantics.c (print_semantic_body): Trace the instruction
139         after it has been validated.
140         (print_semantic_body): Count the instruction using sim-profile.
141         
142 Wed Sep 10 13:35:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
143
144         * gen-itable.c (gen_itable_h): Collect summary info on instruction
145         table when traversing it.
146         (gen_itable_h): Output an enum defining the max size of each of
147         the itable string members.
148
149 Tue Sep  9 03:30:26 1997  Andrew Cagney  <cagney@b1.cygnus.com>
150
151         * igen.c (gen_run_c): New function. Generate sim_engine_run that
152         looks at the currently selected architecture.
153
154         * gen-engine.c, gen-idecode.c: Add multi-sim support - generate
155         one engine per model.
156         
157         * gen-semantics.c, gen-icache.c gen-support.c:
158         Update.
159
160         * ld-insn.h, ld-insn-h (load_insn_table): Rewrite.  table.h only
161         returns a line at a time.  Parse multi-word instructions.  Add
162         multi-sim support.
163
164         * table.h, table.c: Simplify.  Only parse a single line at a time.
165         ld-insn can handle the rest.
166
167         * filter.h, filter.c (filter_parse, filter_add, filter_is_subset,
168         filter_is_common, filter_is_member, filter_next): New filter
169         operations.
170         (dump_filter): Ditto.
171         
172         * gen.h, gen.c: New file.  Takes the insn table and turns it into
173         a set of decode tables and semantic functions.
174         
175         * ld-insn.c: Copy generator code from here.
176         * gen.c: To here.
177
178 Fri Aug  8 11:43:45 1997  Andrew Cagney  <cagney@b1.cygnus.com>
179
180         * misc.h (NZALLOC): Allocate an N element array of TYPE.
181
182         * table.h, table.c: Simplify table parser so that it only
183         understands colon delimited lines and code blocks.
184         (table_read): Parse '{' ... '}' as a code block.
185         (table_print_code): New function, print out a code block to file.
186         (main): Add suport for standalone testing.
187         
188         * ld-insn.h, ld-insn.c:
189         
190         
191 Mon Sep  1 11:41:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
192
193         * gen-idecode.c (error_leaf_contains_multiple_insn): Make static.
194         (print_jump_definition, print_jump, print_jump_internal_function,
195         print_jump_insn, print_jump_until_stop_body): Delete, moved to
196         sim-engine.c
197
198         * igen.c (print_itrace_format): Delete unused variable chp.
199         (gen-engine.h): Include.
200
201         * table.c (current_file_name, current_line_entry,
202         current_line_entry): Make static.
203
204 Wed Aug  6 12:31:17 1997  Andrew Cagney  <cagney@b1.cygnus.com>
205
206         * configure.in: Define AR_FOR_BUILD, AR_FLAGS_FOR_BUILD,
207         RANLIB_FOR_BUILD and CFLAGS_FOR_BUILD.
208         * configure.in: Include simulator common/aclocal.m4.
209         * configure.in: Add --enable-sim-warnings option.
210         * configure: Re-generate.
211         
212         * Makefile.in: Use.
213
214         * Makefile.in (tmp-filter): New rule.
215         (igen.o, tmp-table, tmp-ld-decode, tmp-ld-cache, tmp-ld-insn,
216         ld-decode.o, ld-cache.o, ld-insn.o): Fix dependencies.
217         
218         * gen.h, gen.c: New files.
219         
220         * Makefile.in (gen.o, tmp-gen): New rules, update all
221         dependencies.
222         
223 Tue Jun 24 11:46:45 1997  Andrew Cagney  <cagney@b1.cygnus.com>
224
225         * ld-insn.c (load_insn_table): Accept %s as a function type.
226
227 Thu Jun  5 17:14:32 1997  Andrew Cagney  <cagney@b1.cygnus.com>
228
229         * igen.c (print_itrace_prefix): Move printing of insn prefix to
230         here.
231         (print_itrace_format): Drop printing of MY_NAME in instruction
232         trace.  Printing of insn prefix moved.
233         (print_itrace): Ditto.
234
235 Fri May 30 11:27:37 1997  Andrew Cagney  <cagney@b1.cygnus.com>
236
237         * gen-icache.c (print_icache_function_header): Pass
238         table_line_entry instead of separate file and line.
239
240         * table.c (table_entry_read): Set assembler source file/line-nr to
241         the current not initial file.
242         (table_entry_read): Fix line numbering of source files.
243
244         table.h (table_line_entry): New structure.  Exactly specifies a
245         source file/line-nr.
246         (table_*_entry): Add this to all.
247         
248         table.c (table_entry_print_cpp_line_nr): Change to use values from
249         a table_line_entry struct.
250         (table_entry_read): Save table_line_entry in all structures read.
251
252         gen-icache.c, gen-support.c, gen-idecode.c, gen-semantics.c,
253         gen-model.c: Update all references.
254         
255 Thu May 29 10:29:57 1997  Andrew Cagney  <cagney@b1.cygnus.com>
256
257         * igen.c (print_my_defines): Define MY_NAME - a string.  For
258         MY_PREFIX, undefine the name of the function incase some dumb
259         header defined it.  it.
260         (print_itrace): Use MY_NAME not MY_PREFIX.
261
262         * lf.c (lf_write): New function write an N character buffer to the
263         file.
264
265         * igen.c (print_itrace): When available, use the assembler to
266         print the insn-trace.
267         (print_itrace_prefix): New function, print first part of call to
268         print_one_insn.
269         (print_itrace_format): New function, print fmt argument for
270         print_one_insn.
271         
272         * table.c (table_entry_read): Save any assembler lines instead of
273         discarding them.
274
275 Wed May 28 09:55:29 1997  Andrew Cagney  <cagney@b1.cygnus.com>
276
277         * gen-icache.c (print_icache_body): Process immeds.
278
279         * gen-semantics.c (print_semantic_body): When computing NIA, skip
280         any immed words that follow the instruction word.
281
282         * ld-insn.c (parse_insn_format): Parse immeds appended to an
283         instruction.
284
285         * igen.c (main): Allow any register to be specified as the zero
286         register.
287         (semantic_zero_reg): Global, index to zero register.
288
289         * gen-semantics.c (print_semantic_body): Zero selected register.
290
291 Tue May 27 14:12:32 1997  Andrew Cagney  <cagney@b1.cygnus.com>
292
293         * igen.h: Stop options and code gen type bit masks overlaping.
294
295 Fri May 23 12:01:08 1997  Andrew Cagney  <cagney@b1.cygnus.com>
296
297         * gen-semantics.c (print_semantic_body): Incorrect test for
298         zero-r0 code.
299
300 Fri May 16 14:32:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
301
302         * gen-semantics.c (print_semantic_body): Use common sim-engine
303         interface.
304
305 Fri May 16 11:48:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
306
307         * gen-semantics.c (print_semantic_body): Add code to clear r0.
308
309         * igen.c (main): Add new option zero-r0, which adds code to clear
310         GPR(0) each cycle.
311
312 Wed May  7 12:31:30 1997  Andrew Cagney  <cagney@b1.cygnus.com>
313
314         * igen.c (print_itrace): Fix so line-nr is passed to trace
315         function.
316
317         * gen-idecode.c (print_idecode_validate): Correct FP code.
318
319         * gen-support.c (gen_support_h): Always pass MY_INDEX to support
320         functions.
321         (print_support_function_name): Ditto.
322
323 Tue May  6 06:12:04 1997  Mike Meissner  <meissner@cygnus.com>
324
325         * igen.c (print_itrace): Call trace_one_insn to trace
326         instructions, rather than doing it directly.
327
328 Mon May  5 14:11:46 1997  Mike Meissner  <meissner@cygnus.com>
329
330         * gen-engine.c (engine_switch_leaf): Remove extra %s.
331         (print_engine_floating_point_unavailable): Wrap in #ifdef
332         UNUSED/#endif, until somebody uses it.
333
334         * gen-idecode.c (error_leaf_contains_multiple_insn): Remove unused
335         variable.
336         (print_jump_until_stop_body): Wrap in #ifdef UNUSED/#endif, until
337         somebody uses it.
338         (print_idecode_validate): Use long formats to print long values.
339
340         * gen-semantics.c (print_idecode_invalid): Set name to "unknown"
341         if we get an unexpected type.
342
343 Fri May  2 13:28:06 1997  Andrew Cagney  <cagney@b1.cygnus.com>
344
345         * igen.c (print_itrace): Pass SD as well as CPU to calls to
346         trace_printf.
347
348         * gen-support.c (gen_support_h): Always pass sim_cia cia to
349         support functions.
350         (print_support_function_name): Ditto.
351
352 Wed Apr 30 17:35:51 1997  Andrew Cagney  <cagney@b1.cygnus.com>
353
354         * gen-support.c (support_c_function): Remove unnecessary memset of
355         cia.
356         * gen-semantics.c (print_semantic_body): Wasn't closing
357         generated comment.
358
359 Tue Apr 29 11:11:12 1997  Andrew Cagney  <cagney@b1.cygnus.com>
360
361         * ld-insn.c (load_insn_table): Report instructions that do not
362         have at least a format and name.
363         (insn_table_find_opcode_field): Check progress is being made.
364
365         * gen-support.c (support_c_function): Report empty function body.
366
367 Thu Apr 24 11:43:45 1997  Andrew Cagney  <cagney@b1.cygnus.com>
368
369         * ld-insn.c (insn_table_expand_opcode): Allow reserved fields to
370         be broken up.
371         (insn_table_expand_insns): Allow special rules to apply to groups
372         of instructions when all members of the group match the special
373         mask/value.
374
375         * gen-semantics.c (print_c_semantic): Ditto.
376         * igen.c (print_semantic_function_formal): Ditto.
377         (print_semantic_function_type): Ditto.
378         * igen.c (print_icache_function_formal): Ditto.
379         * gen-idecode.c (print_idecode_issue_function_body): Ditto.
380
381         * gen-idecode.c (gen_idecode_h): Prepend the global_prefix to the
382         instruction_address type.
383
384         * gen-semantics.c (print_semantic_body): Call cpu_error when an
385         unimplemented instruction is encountered - gives the interpreter
386         the chance to stop correctly.
387
388 Wed Apr 23 20:06:36 1997  Andrew Cagney  <cagney@b1.cygnus.com>
389
390         * igen.c (print_function_name): Allow dot's in instruction names.
391
392 Tue Apr 22 21:46:28 1997  Andrew Cagney  <cagney@b1.cygnus.com>
393
394         * igen.c (main), igen.h: Support new option - delayed-branch -
395         generate code to drive a delayed branch processor.
396
397         * gen-idecode.c (gen_idecode_h): Define instruction_address type.
398
399         * igen.c (print_icache_function_formal): Replace address_word with
400         instruction_address.
401         (print_semantic_function_formal): Ditto.
402         (print_semantic_function_type): Ditto.
403         * gen-idecode.c (print_idecode_issue_function_body): Ditto.
404
405         * gen-semantics.c (print_semantic_body): Ditto.
406         (print_c_semantic): Ditto.
407
408         * gen-support.c (support_c_function): Return a zeroed CIA instead
409         of just zero - works with any cia type.
410
411         * igen.c (print_itrace): For delayed branch case, print just the
412         current instruction.
413         
414 Thu Apr 17 07:02:33 1997  Doug Evans  <dje@canuck.cygnus.com>
415
416         * igen.c (print_itrace): Use TRACE_FOO_P and trace_printf.
417
418 Tue Apr 15 15:20:31 1997  Ian Lance Taylor  <ian@cygnus.com>
419
420         * Makefile.in (INSTALL): Set to @INSTALL@.
421         (INSTALL_XFORM, INSTALL_XFORM1): Remove.
422
423 Mon Apr 14 16:29:34 1997  Ian Lance Taylor  <ian@cygnus.com>
424
425         * Makefile.in (INSTALL): Change install.sh to install-sh.
426
427 Wed Apr  2 18:51:20 1997  Doug Evans  <dje@canuck.cygnus.com>
428
429         * gen-support.c (gen_support_c): sim-state.h renamed to sim-main.h.
430         * gen-idecode.c (gen_idecode_c): Likewise.
431         * igen.c (gen_semantics_c): Likewise.
432
433 Mon Mar 24 10:10:08 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
434
435         * gen-icache.c (print_icache_body): No longer define cpu/sd,
436         support.h now defines CPU/SD globally.
437
438         * gen-model.c (gen_model_h): Ditto.
439
440         * gen-idecode.c (print_idecode_issue_function_body): Ditto.
441         (print_jump): Ditto.
442         (print_jump_until_stop_body): Ditto.
443         (print_idecode_validate): Ditto.
444
445         * gen-icache.c (print_icache_body): Ditto.
446
447         * gen-semantics.c (print_semantic_body): Ditto.
448
449         * igen.c (print_semantic_function_formal): Rename cpu to sim_cpu,
450         processor to cpu.
451         (print_icache_function_formal): Ditto.
452
453         * gen-support.c (print_support_function_name): Include sd/cpu arg
454         in support function argument list.
455         (support_c_function): Generate code to cpu/sd from sd/cpu.
456         (gen_support_h): Define _SD the argument prefix for all support
457         functions.  Define SD/CPU to determine sd/cpu from value of _SD
458         macro.
459
460 Tue Mar 18 15:52:24 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
461
462         * gen-support.c (gen_support_c): Update for renaming of engine to
463         sim-state.
464         
465         * igen.c: Ditto.
466         * gen-idecode.c (gen_idecode_c): Ditto.
467
468 Mon Mar 17 15:17:07 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
469
470         * ld-decode.c (load_decode_table): Rename slash to reserved.
471         (dump_decode_rule): Ditto.
472
473         * ld-insn.c (parse_insn_format): Differentiate between a `/' -
474         reserved bit - and a `*' - wild card.
475         (parse_insn_format): Change is_slash to more informative reserved.
476         (dump_insn_field): Ditto.
477         (insn_field_is_constant): Ditto.
478         (insn_table_expand_opcode): Ditto.
479
480         * gen-idecode.c (print_idecode_validate): Make check_mask and
481         check_val the correct integer size.
482         (print_idecode_validate): Fix reserved bit check for 64 bit
483         targets.
484
485 Fri Mar 14 11:24:06 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
486
487         * ld-insn.c (parse_insn_format): Accept '*' as an alternative of
488         `/' in bit fields.  `/' denotes a wild bit.
489
490 Fri Mar  7 18:20:38 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
491
492         * igen.h, igen.c (main): New options. Control generation of
493         conditional issue and slot verification code.
494
495 Fri Mar  7 18:17:25 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
496
497         * gen-support.c (print_support_function_name): Prepend the global
498         name prefix when applicable.  Provide #define to map the user
499         specified name the generated globaly unique one.
500
501 Fri Mar  7 18:07:45 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
502
503         * gen-idecode.c (print_idecode_validate): Wrap each of the checks
504         - reserved bits, floating point and slot validation - with a
505         #ifdef so that they are optional.
506         
507 Fri Mar  7 16:35:13 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
508
509         * gen-idecode.c (error_leaf_contains_multiple_insn): New function
510         - report the error of a leaf node in the decision tree containing
511         several instructions.
512         (print_idecode_table_leaf): Detect a leaf with multiple instructions.
513         (print_idecode_switch_leaf): Ditto.
514
515         * gen-semantics.h, gen-semantics.c (print_idecode_illegal,
516         print_idecode_invalid): Rename former to latter.  Add argument so
517         that one function can generate all invalid instruction cases -
518         illegal, fp-unavailable, wrong-slot.
519         * gen-engine.c: Update.
520
521         * gen-idecode.c: Use print_idecode_invalid to generate a function
522         call for cases when fp-unavailable and the slot is wrong.
523
524         * gen-idecode.c (print_idecode_validate): New check, generate code
525         to verify that the instruction slot is correct.
526         
527         * igen.c (main): Simplify options.
528
529 Wed Mar  5 09:55:55 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
530
531         * igen.c (print_itrace): Remove source line reference for trace
532         code - let the user see the generated file.
533         (print_itrace): Print the trace code rather than reference a
534         macro.
535
536 Tue Mar  4 17:31:55 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
537
538         * igen.c (print_semantic_function_actual): Pass either the
539         processor - smp - or the engine - mono - into semantic functions.
540         Don't pass in both.
541
542         * gen-icache.c (print_icache_body): Dependant on smp, derive
543         processor from engine or engine from processor, and hence ensuring
544         that both are defined in all semantic functions.
545
546 Mon Mar  3 17:11:21 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
547
548         * ld-insn.c (parse_insn_format): Make the width field optional.
549         If missing assume that the number of characters in the value
550         determines the number of bits in the field.
551         
552 Thu Feb 27 11:27:48 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
553
554         * ld-insn.c (insn_table_expand_opcode): Replace assertion with
555         more useful error message.
556
557 Tue Feb 25 16:43:27 1997  Andrew Cagney  <cagney@kremvax.cygnus.com>
558
559         * misc.c (error): Output errors on stderr.
560
561         * ld-insn.c (parse_insn_format): Skip any leading spaces.
562         Verify the width of instructions being parsed.
563
564         * table.c (table_entry_read): Parse CPP's convention for
565         specifying original file name/line-nr.
566
567 Wed Feb 19 12:30:28 1997  Andrew Cagney  <cagney@critters.cygnus.com>
568
569         * ld-insn.c (parse_insn_format): Allow trailing spaces in
570         instruction fields.
571
572         * Makefile.in: Create using ../ppc/Makefile.in as a starting
573         point.
574         * configure.in: Ditto vis ../ppc/configure.in
575         
576 Mon Feb 17 10:44:18 1997  Andrew Cagney  <cagney@critters.cygnus.com>
577
578         * gen-support.c (gen_support_c): Always include engine.h instead
579         of cpu.h
580         * gen-idecode.c (gen_idecode_c): Ditto.
581
582         * words.h (instruction_word): Remove instruction_word - now
583         generated by igen.
584         (address_word): New.  Used by igen.
585         
586         * lf.c (lf_print_function_type_function): New, pass a function to
587         print out the type instead of a constant string.
588         
589         * igen.h, igen.c (print_semantic_function_formal,
590         SEMANTIC_FUNCTION_FORMAL): Relace macro with function.
591         (print_semantic_function_actual, SEMANTIC_FUNCTION_ACTUAL): Ditto.
592         (print_semantic_function_type, SEMANTIC_FUNCTION_TYPE): Ditto.
593         (print_icache_function_type, ICACHE_FUNCTION_TYPE): Ditto.
594         (print_icache_function_formal, ICACHE_FUNCTION_FORMAL): Ditto.
595         (print_icache_function_actual, ICACHE_FUNCTION_ACTUAL): Ditto.
596         * gen-idecode.c (print_idecode_table): Update.
597         (idecode_switch_leaf): Update.
598         (print_idecode_switch_function_header): Ditto.
599         (print_idecode_floating_point_unavailable): Ditto.
600         (print_idecode_issue_function_header): Ditto.
601         * igen.c (gen_icache_h): Ditto.
602         * gen-engine.c (print_engine_table): Ditto.
603         (engine_switch_leaf): Ditto.
604         * gen-support.c (print_support_function_name): Ditto.
605         * gen-semantics.c (print_semantic_function_header): Update.
606         Update.
607         * gen-icache.c (print_icache_function_header): Update.
608         (print_icache_function): Update.
609         (print_icache_internal_function_declaration): Update.
610         (print_icache_internal_function_definition): Update.
611
612         * gen-idecode.c (gen_idecode_h): Drop including of idecode_*.h
613         files, will at some stage need to move it into support.
614
615         * igen.h, igen.c (main): New option -e <engine> - generate a full
616         simulation engine.  Previously this was the -d <idecode-file>
617         option.
618         * gen-engine.h, gen-engine.c: Copies of gen-idecode.*.  Will need
619         to clean these up so that that call upon the updated gen-idecode
620         code.
621         
622         * gen-idecode.h, gen-idecode.c: Prune out any code not relevant to
623         generating a decode table.
624         
625         * Makefile.in (igen): Add dependencies for new gen-engine.* files.
626
627         * igen.h, igen.c (main): New option -M - Control what is returned
628         by semantic functions - -1/NIA vs CIA+N/NIA.  Add
629         generate_semantic_returning_modified_nia_only to igen_code enum.
630         * gen-semantics.c (print_semantic_body): As an alternative, make
631         NIA == -1 instead of CIA+insn_size by default.
632         
633         * igen.h, igen.c (main, global_name_prefix, global_uname_prefix):
634         New option -P <prefix> - Prepend all generated functions with the
635         specified prefix.
636         (gen_idecode_c): Adjust.
637         * gen-icache.c (print_icache_struct): Ditto.
638         * gen-support.c (gen_support_c): Ditto.
639
640 Sun Feb 16 15:23:15 1997  Andrew Cagney  <cagney@critters.cygnus.com>
641
642         * igen.c (main): Correct usage. Missleading message about ucase
643         options dumping internal tables.  -F now includes rather then
644         excludes instructions.
645
646         * misc.h, misc.c (a2i): Make 64bit.
647
648         * ld-insn.h (max_insn_bit_size, default_insn_bit_size): Increase
649         max to 64bits, expect trouble.  Make the default 32 bits.
650         * gen-idecode.c (print_idecode_table): Change EXTRACTED*
651         et.al. macro's to use the insn_bit_size instead of assuming 32
652         bits.
653         * gen-icache.c (print_icache_extraction): Ditto.
654         * gen-idecode.c (idecode_switch_start): Ditto.
655         * gen-idecode.c (gen_idecode_c): Ditto
656
657         * igen.h (insn_specifying_widths), igen.c (main): New option -W.
658         Indicates that the instruction field of the table is specifying
659         bit widths instead of bit offsets.
660         * ld-insn.c (parse_insn_format): Parse instruction fields
661         specifying widths.
662
663         * misc.c (a2i): Allow binary numbers to be specified using the
664         syntax 0bNNNN.
665         * ld-insn.c: Allow such numbers to appear in the instruction
666         format.
667
668         * table.c (table_entry_read): Make // a valid comment character.
669         (table_entry_read): Skip lines containing a leading " - these may
670         eventually be used in a disasembler.
671
672 Fri Feb 14 15:23:15 1997  Andrew Cagney  <cagney@critters.cygnus.com>
673
674         * filter.c, filter.h, gen-engine.c, gen-engine.h, gen-icache.c,
675         gen-icache.h, gen-idecode.c, gen-idecode.h, gen-itable.c,
676         gen-itable.h, gen-model.c, gen-model.h, gen-semantics.c,
677         gen-semantics.h, gen-support.c, gen-support.h, igen.c, igen.h,
678         ld-cache.c, ld-cache.h, ld-decode.c, ld-decode.h, ld-insn.c,
679         ld-insn.h, lf.c, lf.h, misc.c, misc.h, table.c, table.h: Copy in
680         from the ../ppc directory.
681
682         * filter_host.c, filter_host.h: Copy in from the ../ppc directory
683         renaming from filter_filename.[hc]