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