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