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