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