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