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