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