TIC80 uses little endian doubles, not big endian
[deliverable/binutils-gdb.git] / sim / tic80 / ChangeLog
1 Fri Feb 13 17:11:22 1998 Michael Meissner <meissner@cygnus.com>
2
3 * insns ({get,set}_fp_reg): Tic80 floating point is little endian,
4 not big endian.
5
6 * misc.c (tic80_trace_fpu*): Pass address of sim_fpu structure,
7 not the structure itself. Use %g consistantly to print floating
8 point.
9
10 * cpu.h: (tic80_trace_fpu*): Update prototypes.
11
12 Tue Feb 3 16:25:47 1998 Andrew Cagney <cagney@b1.cygnus.com>
13
14 * alu.h (IMEM32, IMEM32_IMMED): Rename IMEM and IMEM_IMMED so that
15 in sync with recent igen change.
16
17 Sun Feb 1 16:47:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
18
19 * configure: Regenerated to track ../common/aclocal.m4 changes.
20
21 Sat Jan 31 18:15:41 1998 Andrew Cagney <cagney@b1.cygnus.com>
22
23 * configure: Regenerated to track ../common/aclocal.m4 changes.
24
25 Fri Jan 30 11:47:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
26
27 * cpu.h (CPU_CIA): Delete macro, replace with...
28 (CIA_SET, CIA_GET): Define.
29
30 Wed Jan 28 18:44:33 1998 Michael Meissner <meissner@cygnus.com>
31
32 * misc.c (tic80_trace_cmp_internal): New function to return
33 compare bits as a string.
34 (tic80_trace_{,fpu2}cmp): New functions for tracing cmp and fcmp.
35
36 * cpu.h (tic80_trace_{,fpu2}cmp): Add declaration.
37 (TRACE_{,FPU2}CMP): New macros for tracing compares.
38
39 * insns (do_{,f}cmp): Use compare specific tracing functions to
40 print out the flag bits.
41
42 Mon Jan 19 22:26:29 1998 Doug Evans <devans@seba>
43
44 * configure: Regenerated to track ../common/aclocal.m4 changes.
45
46 Mon Dec 15 23:17:11 1997 Andrew Cagney <cagney@b1.cygnus.com>
47
48 * configure: Regenerated to track ../common/aclocal.m4 changes.
49 * config.in: Ditto.
50
51 Thu Dec 4 09:21:05 1997 Doug Evans <devans@canuck.cygnus.com>
52
53 * configure: Regenerated to track ../common/aclocal.m4 changes.
54
55 Mon Nov 24 14:57:58 1997 Doug Evans <devans@seba.cygnus.com>
56
57 * cpu.h (TRACE_COND_BR): Use TRACE_BRANCH_P, not TRACE_ALU_P.
58
59 Sat Nov 22 21:42:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
60
61 * interp.c (engine_step): Replace SIGTRAP with SIM_SIGTRAP.
62 (engine_run_until_stop): Replace SIGINT with SIM_SIGINT.
63
64 * sim-main.h: Include sim-signal.h.
65 (SIGTRAP): Delete definition.
66
67 * interp.c, sim-calls.c: Do not include signal.h.
68
69 * insns (illegal): SIGILL -> SIM_SIGILL.
70 (fp_unavailable): SIGFPE -> SIM_SIGFPE.
71 (do_trap): SIGTRAP -> SIM_SIGTRAP.
72
73 Tue Nov 18 15:33:48 1997 Doug Evans <devans@canuck.cygnus.com>
74
75 * sim-main.h (CIA_ADDR): Define.
76
77 * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS).
78
79 Fri Oct 17 17:26:36 1997 Andrew Cagney <cagney@b1.cygnus.com>
80
81 * alu.h (ALU32_END): Use ALU32_RESULT.
82
83 Mon Sep 29 12:49:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
84
85 * insns (get_fp_reg, set_fp_reg): Update to use changed sim_fpu
86 interface.
87 (do_fadd, do_fcmp, do_fdiv, do_fmpy, do_frnd, do_fsub): Ditto.
88
89 * misc.c (tic80_trace_fpu3, tic80_trace_fpu2, tic80_trace_fpu1,
90 tic80_trace_fpu2i) Update to use changed sim_fpu interface.
91
92 Fri Oct 3 09:28:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
93
94 * configure.in (SIM_AC_OPTIONS_BITSIZE): Define.
95 * configure: Regenerated to track ../common/aclocal.m4 changes.
96
97 Wed Sep 24 17:38:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
98
99 * configure: Regenerated to track ../common/aclocal.m4 changes.
100
101 Tue Sep 23 11:04:38 1997 Andrew Cagney <cagney@b1.cygnus.com>
102
103 * configure: Regenerated to track ../common/aclocal.m4 changes.
104
105 Tue Sep 23 10:19:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
106
107 * Makefile.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN,
108 SIM_HOSTENDIAN, SIM_INLINE, SIM_RESERVED_BITS): Delete, moved to
109 common.
110 (SIM_EXTRA_CFLAGS): Update.
111
112 Mon Sep 22 11:46:20 1997 Andrew Cagney <cagney@b1.cygnus.com>
113
114 * configure: Regenerated to track ../common/aclocal.m4 changes.
115
116 Fri Sep 19 17:45:25 1997 Andrew Cagney <cagney@b1.cygnus.com>
117
118 * configure: Regenerated to track ../common/aclocal.m4 changes.
119
120 Tue Sep 16 23:10:03 1997 Felix Lee <flee@cygnus.com>
121
122 * sim-main.h (kill): macro was missing args.
123 (SIGTRAP): define for MSVC.
124
125 Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
126
127 * configure: Regenerated to track ../common/aclocal.m4 changes.
128
129 Mon Sep 8 20:10:43 1997 Andrew Cagney <cagney@b1.cygnus.com>
130
131 * cpu.h (CPU_CIA): Define.
132
133 * sim-main.h (struct sim_state): Delete halt_ok, path_to_halt,
134 restart_ok, path_to_restart members.
135 (struct sim_state): Delete reason, siggnal members.
136
137 Thu Sep 4 17:21:23 1997 Doug Evans <dje@seba>
138
139 * configure: Regenerated to track ../common/aclocal.m4 changes.
140
141 Thu Sep 4 17:45:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
142
143 * sim-calls.c (sim_open): Add memory before parsing arguments.
144 (sim_read): Delete, replace with sim-hrw.
145 (sim_write): Delete, replace with sim-hrw.
146
147 Thu Sep 4 10:48:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
148
149 * sim-calls.c (sim_open): Use sim_do_command to add memory, only
150 add memory if none already present.
151 (sim_open): Move init of registers from here.
152 (sim_create_inferior): To here. Init modules.
153
154 * Makefile.in (SIM_OBJS): Add sim-memopt.o module.
155
156 * sim-calls.c (sim_open): Add zero modulo arg to sim_core_attach.
157
158 Mon Sep 1 11:06:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
159
160 * sim-calls.c (sim_open): Use sim_state_alloc
161 (simulation): Delete.
162
163 Sat Aug 30 09:40:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
164
165 * insns (do_trap): Unsigned `i' for unsigned iterator.
166 (do_trap): Ditto for comparison with getpid.
167
168 Wed Aug 27 18:13:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
169
170 * configure: Regenerated to track ../common/aclocal.m4 changes.
171 * config.in: Ditto.
172
173 Wed Aug 27 13:41:24 1997 Andrew Cagney <cagney@b1.cygnus.com>
174
175 * insns (do_st): Use U8_4 instead of V4_L8.
176
177 * sim-calls.c (sim_open): Add call to sim_analyze_program, update
178 call to sim_config.
179
180 * sim-calls.c (sim_kill): Delete.
181 (sim_create_inferior): Add ABFD argument. Initialize PC from ABFD
182 and not SD.
183 (sim_load): Delete, use sim-hload.c.
184
185 * Makefile.in (SIM_OBJS): Add sim-hload.o module.
186
187 Mon Aug 25 17:50:22 1997 Andrew Cagney <cagney@b1.cygnus.com>
188
189 * configure: Regenerated to track ../common/aclocal.m4 changes.
190 * config.in: Ditto.
191
192 Mon Aug 25 16:33:29 1997 Andrew Cagney <cagney@b1.cygnus.com>
193
194 * sim-calls.c (sim_open): Add ABFD argument.
195 (sim_open): Move sim_config call to just after argument
196 parsing. Check return status.
197
198 Fri Aug 8 21:52:27 1997 Mark Alexander <marka@cygnus.com>
199
200 * sim-calls.c (sim_store_register): Allow accumulators
201 other than A0 to be modified. Correct error message.
202
203 Thu May 29 14:02:40 1997 Andrew Cagney <cagney@b1.cygnus.com>
204
205 * misc.c (tic80_trace_fpu3, tic80_trace_fpu2, tic80_trace_fpu1,
206 tic80_trace_fpu2i): Pass in function prefix.
207 (tic80_trace_ldst): Rewrite so it calls print_one_insn directly.
208
209 * Makefile.in (SIM_OBJS): Include sim-watch.o module.
210
211 * sim-main.h (WITH_WATCHPOINTS): Enable watchpoints.
212
213 * ic (bitnum): Compute bitnum from BITNUM.
214 * insn (bbo, bbz): Use.
215
216 * insn: Convert long immediate instructions to igen long immediate
217 form.
218 * insn: Add disasembler information.
219
220 Thu May 29 12:09:13 1997 Andrew Cagney <cagney@b2.cygnus.com>
221
222 * alu.h (IMEM_IMMED): New macro, fetch 32bit immediate operand N.
223
224 * insns (subu i): Immediate is signed not unsigned.
225
226 Tue May 27 13:22:13 1997 Andrew Cagney <cagney@b1.cygnus.com>
227
228 * sim-calls.c (sim_read): Pass NULL cpu to sim_core_read_buffer.
229 (sim_write): Ditto for write.
230
231 Tue May 20 09:33:31 1997 Andrew Cagney <cagney@b1.cygnus.com>
232
233 * sim-calls.c (sim_load): Set STATE_LOADED_P.
234
235 * sim-main.h: Include <unistd.h>.
236
237 * sim-calls.c (sim_set_callback): Delete.
238 (sim_open): Add/install callback argument.
239 (sim_size): Delete.
240
241 Mon May 19 18:59:33 1997 Mike Meissner <meissner@cygnus.com>
242
243 * configure.in: Check for getpid, kill functions.
244 * config{.in,ure}: Regenerate.
245
246 * insns (do_trap): Add support for kill, getpid system calls.
247
248 * sim-main.h (errno.h): Include.
249 (getpid,kill): Define as NOPs if the host doesn't have them.
250
251 Mon May 19 14:58:47 1997 Andrew Cagney <cagney@b1.cygnus.com>
252
253 * sim-calls.c (sim_open): Set the simulator base magic number.
254 (sim_load): Delete prototype of sim_load_file.
255 (sim_open): Define sd to be &simulation.
256
257 Fri May 16 14:35:30 1997 Andrew Cagney <cagney@b1.cygnus.com>
258
259 * insns (illegal, fp_unavailable): Halt instead of abort the
260 simulator.
261
262 * insns: Replace calls to engine_error with sim_engine_abort.
263 Ditto for engine_halt V sim_engine_halt.
264
265 Tue May 13 15:24:12 1997 Andrew Cagney <cagney@b2.cygnus.com>
266
267 * interp.c (engine_run_until_stop): Delete. Moved to common.
268 (engine_step): Ditto.
269 (engine_step): Ditto.
270 (engine_halt): Ditto.
271 (engine_restart): Ditto.
272 (engine_halt): Ditto.
273 (engine_error): Ditto.
274
275 * sim-calls.c (sim_stop): Delete. Moved to common.
276 (sim_stop_reason): Ditto.
277 (sim_resume): Ditto.
278
279 * Makefile.in (SIM_OBJS): Link in generic sim-engine, sim-run,
280 sim-resume, sim-reason, sim-stop modules.
281
282 Fri May 16 11:57:49 1997 Andrew Cagney <cagney@b1.cygnus.com>
283
284 * ic (compute): Drop check for REG == 0, now always forced to
285 zero.
286
287 * cpu.h (GPR_SET): New macro update the gpr.
288 * insns (do_add): Use GPR_SET to update the GPR register.
289
290 * sim-calls.c (sim_fetch_register): Pretend that r0 is zero.
291
292 * Makefile.in (tmp-igen): Specify zero-r0 so that every
293 instruction clears r0.
294
295 * interp.c (engine_run_until_stop): Igen now generates code to
296 clear r0.
297 (engine_step): Ditto.
298
299 Thu May 15 11:45:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
300
301 * insns (do_shift): When rot==0 and zero/sign merge treat it as
302 32.
303 (set_fp_reg): For interger conversion, use sim-fpu fpu2i
304 functions.
305 (do_fmpy): Perform iii and uuu using integer arithmetic.
306
307 * Makefile.in (ENGINE_H): Assume everything depends on the fpu.
308
309 * insns (get_fp_reg): Use sim_fpu_u32to to perform unsigned
310 conversion.
311 (do_fcmp): Update to use new fp compare functions. Make reg nr arg
312 instead of reg. Stops fp overflow.
313 (get_fp_reg): Assume val is valid when reg == 0.
314 (set_fp_reg): Fix double conversion.
315
316 * misc.c (tic80_trace_fpu1): New function, trace simple fp op.
317
318 * insns (do_frnd): Add tracing.
319
320 * cpu.h (TRACE_FPU1): Ditto.
321
322 * insns (do_trap): Printf formatting.
323
324 Wed May 14 18:05:50 1997 Mike Meissner <meissner@cygnus.com>
325
326 * misc.c (tic80_trace_fpu{3,2,2i}): Align columns with other
327 insns. Use %g to print floating point instead of %f in case the
328 numbers are real large.
329
330 Tue May 13 18:00:10 1997 Mike Meissner <meissner@cygnus.com>
331
332 * insns (do_trap): For system calls that are defined, but not
333 provided return EINVAL. Temporarily add traps 74-79 to just print
334 the register state.
335
336 * interp.c (engine_{run_until_stop,step}): Before executing
337 instructions, make sure r0 == 0.
338
339 Tue May 13 16:39:37 1997 Andrew Cagney <cagney@b1.cygnus.com>
340
341 * alu.h (IMEM): Take full cia not just IP as argument.
342
343 * interp.c (engine_run_until_stop): Delete handling of annuled
344 instructions.
345 (engine_step): Ditto.
346
347 * insn (do_branch): New function.
348 (do_bbo, do_bbz, do_bcnd, do_bsr, do_jsr): Use do_branch to handle
349 annuled branches.
350
351 Mon May 12 17:15:52 1997 Mike Meissner <meissner@cygnus.com>
352
353 * insns (do_{ld,st}): Fix tracing for ld/st.
354
355 Mon May 12 11:12:24 1997 Andrew Cagney <cagney@b1.cygnus.com>
356
357 * sim-calls.c (sim_stop_reason): Restore keep_running after a
358 CNTRL-C, don't re-clear it.
359
360 * interp.c (engine_error): stop rather than signal with SIGABRT
361 when an error.
362
363 * insns (do_ld): For 64bit loads, always store LSW in rDest, MSW in
364 rDest + 1. Also done by Michael Meissner <meissner@cygnus.com>
365 (do_st): Converse for store.
366
367 * misc.c (tic80_trace_fpu2i): Correct printf format for int type.
368
369 Sun May 11 11:02:57 1997 Andrew Cagney <cagney@b1.cygnus.com>
370
371 * sim-calls.c (sim_stop_reason): Return a SIGINT if keep_running
372 was cleared.
373
374 * interp.c (engine_step): New function. Single step the simulator
375 taking care of cntrl-c during a step.
376
377 * sim-calls.c (sim_resume): Differentiate between stepping and
378 running so that a cntrl-c during a step is reported.
379
380 Sun May 11 10:54:31 1997 Mark Alexander <marka@cygnus.com>
381
382 * sim-calls.c (sim_fetch_register): Use correct reg base.
383 (sim_store_register): Ditto.
384
385 Sun May 11 10:25:14 1997 Michael Meissner <meissner@cygnus.com>
386
387 * cpu.h (tic80_trace_shift): Add declaration.
388 (TRACE_SHIFT): New macro to trace shift instructions.
389
390 * misc.c (tic80_trace_alu2): Align spacing.
391 (tic80_trace_shift): New function to trace shifts.
392
393 * insns (lmo): Add missing 0b prefix to bits.
394 (do_shift): Use ~ (unsigned32)0, instead of -1. Use TRACE_SHIFT
395 instead of TRACE_ALU2.
396 (sl r): Use EndMask as is, instead of using Source+1 register.
397 (subu): Operands are unsigned, not signed.
398 (do_{ld,st}): Fix endian problems with ld.d/st.d.
399
400 Sat May 10 12:35:47 1997 Michael Meissner <meissner@cygnus.com>
401
402 * insns (and{.tt,.tf,.ft,.ff}): Immediate values are unsigned, not
403 signed.
404
405 Fri May 9 15:47:36 1997 Mike Meissner <meissner@cygnus.com>
406
407 * insns (cmp_vals,do_cmp): Produce the correct bits as specified
408 by the architecture.
409 (xor): Fix xor immediate patterns to use the correct bits.
410
411 Fri May 9 09:55:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
412
413 * alu.h (long_immediate): Adjust the CIA delay-pointer as well as
414 the NIA when a 64bit insn.
415
416 Thu May 8 11:57:47 1997 Michael Meissner <meissner@cygnus.com>
417
418 * insns (jsr,bsr): For non-allulled calls, set r31 so that the
419 return address does not reexecute the instruction in the delay
420 slot.
421 (bbo,bbz): Complement bit number to reverse the one's complement
422 that the assembler is required to do.
423
424 * misc.c (tic80_trace_*): Change format slightly to accomidate
425 real large decimal values.
426
427 Thu May 8 14:07:16 1997 Andrew Cagney <cagney@b1.cygnus.com>
428
429 * sim-calls.c (sim_do_command): Implement.
430 (sim_store_register): Fix typo T2H v H2T.
431
432 Wed May 7 11:48:55 1997 Andrew Cagney <cagney@b1.cygnus.com>
433
434 * cpu.h (TRACE_FPU2, TRACE_FPU3, TRACE_FPU2I): Add.
435 * insn: Clean up fpu tracing.
436
437 * sim-calls.c (sim_create_inferior): Start out with interrupts
438 enabled.
439
440 * cpu.h (TRACE_SINK3), misc.c (tic80_trace_sink3): Three argument
441 sink
442
443 * insns (rdcr, swcr, wrcr, brcr, rmo, lmo): Implement.
444
445 * insns (do_*): Remove MY_INDEX/indx argument from support functions,
446 igen now handles this.
447
448 * cpu.h (CR): New macro - access TIc80 control registers.
449
450 * misc.c: New file.
451 (tic80_cr2index): New function, map control register opcode index
452 into the internal CR enum.
453
454 * interp.c
455 (tic80_trace_{alu{2,3},nop,sink{1,2},{,u}cond_br,ldst}): Move from
456 here
457 * misc.c: to here.
458
459 * Makefile.in (SIM_OBJS): Add misc.o.
460
461 Tue May 6 15:22:58 1997 Mike Meissner <meissner@cygnus.com>
462
463 * cpu.h ({,v}{S,D}P_FPR): Delete unused macros that won't work on
464 big endian hosts.
465 (tic80_trace_{alu{2,3},nop,sink{1,2},{,u}cond_br,ldst}): Declare
466 new functions.
467 (TRACE_{ALU{2,3},NOP,SINK{1,2},{,U}COND_BR,LD,ST}): New macros to
468 trace various instruction types.
469
470 * insns: Modify all instructions to support semantic tracing.
471
472 * interp.c (toplevel): Include itable.h.
473 (tic80_trace_{alu{2,3},nop,sink{1,2},{,u}cond_br,ldst}): New
474 functions to provide semantic level tracing information.
475
476 Mon May 5 11:50:43 1997 Andrew Cagney <cagney@b1.cygnus.com>
477
478 * alu.h: Update usage of core object to reflect recent changes in
479 ../common/sim-*core.
480 * sim-calls.c (sim_open): Ditto.
481
482 Mon May 5 14:10:17 1997 Andrew Cagney <cagney@b1.cygnus.com>
483
484 * insn (cmnd): No-op cache flushes.
485
486 * insns (do_trap): Allow writes to STDERR.
487
488 * Makefile.in (SIM_OBJS): Link in sim-fpu.o.
489 (SIM_EXTRA_LIBS): Link in the math library.
490
491 * alu.h: Add support for floating point unit using sim-alu.
492
493 * insns (fadd, fsub, fmpy, fdiv, fcmp, frnd*): Implement.
494
495 Fri May 2 14:57:14 1997 Andrew Cagney <cagney@b1.cygnus.com>
496
497 * sim-calls.c: Include sim-utils.h and sim-options.h.
498
499 * sim-main.h (sim_state): Drop sim_events and sim_core members,
500 moved to simulator base type.
501
502 * alu.h (IMEM, MEM, STORE): Update track changes in common
503 directory.
504
505 * insns: Drop cia argument from functions, igen now handles this.
506
507 * interp.c (engine_init): Include string.h/strings.h to define
508 memset et.al.
509
510 * sim-main.h (sim_cia): Delcare, tracking common dir changes.
511
512 * cpu.h (sim_cpu): Update instruction_address with sim_cia.
513
514 Wed Apr 30 11:26:56 1997 Andrew Cagney <cagney@b1.cygnus.com>
515
516 * sim-main.h (signal.h): Include so that SIG* available to all
517 callers of sig_halt.
518
519 * insns (do_shift): New function, implement shift operations.
520 (do_trap): Add handler for trap 73 - SIGTRAP.
521
522 Tue Apr 29 10:58:48 1997 Andrew Cagney <cagney@b1.cygnus.com>
523
524 * alu.h (MEM, STORE): Force addresses to be correctly aligned.
525
526 * insns (do_jsr): Fix.
527 (do_st, do_ld): Handle 64bit transfers.
528 (do_trap): Match libgloss.
529 (rdcr): Implement nop - Dest == r0 - variant.
530
531 * sim-calls.c (sim_create_inferior): Initialize SP.
532
533 * Makefile.in (ENGINE_H): Everything now depends on sim-options.h.
534 (support.o): Depends on ENGINE_H.
535
536 * cpu.h: Four accumulators.
537
538 * Makefile.in (tmp-igen): Include line number information in
539 generated files.
540
541 * insns (dld, dst): Fill in.
542
543 Mon Apr 28 13:02:26 1997 Andrew Cagney <cagney@b1.cygnus.com>
544
545 * insns (vld): Fix instruction format wrong.
546
547 Thu Apr 24 16:43:09 1997 Andrew Cagney <cagney@b1.cygnus.com>
548
549 * dc: Add additional rules so that minor opcode files are
550 detected.
551 * insns: Enable more instructions.
552
553 * sim-calls.c (sim_fetch_register,sim_store_register, sim_write):
554 Implement.
555
556 Thu Apr 24 00:39:51 1997 Doug Evans <dje@canuck.cygnus.com>
557
558 * configure: Regenerated to track ../common/aclocal.m4 changes.
559 * Makefile.in (SIM_OBJS): Add sim-module.o, sim-profile.o.
560 * sim-calls.c (sim_open): Call sim_module_uninstall if argument
561 parsing fails. Call sim_post_argv_init.
562 (sim_close): Call sim_module_uninstall.
563
564 Wed Apr 23 20:05:33 1997 Andrew Cagney <cagney@b1.cygnus.com>
565
566 * insns (and, bbo, bcnd, bsr, dcache, jsr, or, xor, nor): Enable.
567 * ic: Add fields for enabled instructions.
568
This page took 0.041264 seconds and 5 git commands to generate.