common/sim-bits.h: Document ROTn macro.
[binutils-gdb.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]