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