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