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