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