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