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