+Tue Sep 16 09:02:00 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * Makefile.in (semantics.o): Add dependency.
+
+ * sim-main.h (SAVE_1, SAVE_2): Perform backward compatible save,
+ do not adjust CIA/NIA.
+
Mon Sep 15 17:36:15 1997 Andrew Cagney <cagney@b1.cygnus.com>
start-sanitize-v850eq
OP[3] = inst;
#endif
-#define COMPAT_1(CALL) \
+#define SAVE_1 \
PC = cia; \
OP[0] = instruction_0 & 0x1f; \
OP[1] = (instruction_0 >> 11) & 0x1f; \
OP[2] = 0; \
-OP[3] = instruction_0 ; \
+OP[3] = instruction_0
+
+#define COMPAT_1(CALL) \
+SAVE_1; \
PC += (CALL); \
nia = PC
-#define COMPAT_2(CALL) \
+#define SAVE_2 \
PC = cia; \
OP[0] = instruction_0 & 0x1f; \
OP[1] = (instruction_0 >> 11) & 0x1f; \
OP[2] = instruction_1; \
-OP[3] = (instruction_1 << 16) | instruction_0; \
+OP[3] = (instruction_1 << 16) | instruction_0
+
+#define COMPAT_2(CALL) \
+SAVE_2; \
PC += (CALL); \
nia = PC
00000000011,RRRRR:I:::jmp
"jmp [r<reg1>]"
{
- COMPAT_1 (0);
+ SAVE_1;
trace_input ("jmp", OP_REG, 0);
nia = State.regs[ reg1 ];
trace_output (OP_REG);
"prepare <list12>, <imm5>"
{
int i;
- COMPAT_2 (0);
+ SAVE_2;
trace_input ("prepare", OP_PUSHPOP1, 0);
{
unsigned long result;
- COMPAT_1 (0);
+ SAVE_1;
result = load_mem (State.regs[30] + disp4, 1);
/* start-sanitize-v850eq */
// end-sanitize-v850eq
"zxb r<reg1>"
{
- COMPAT_1 (0);
+ SAVE_1;
trace_input ("zxb", OP_REG, 0);
// end-sanitize-v850eq
"zxh r<reg1>"
{
- COMPAT_1 (0);
+ SAVE_1;
trace_input ("zxh", OP_REG, 0);
signed32 divide_by;
signed32 divide_this;
boolean overflow = false;
- COMPAT_2 (0);
+ SAVE_2;
trace_input ("divhn", OP_IMM_REG_REG_REG, 0);
signed32 divide_by;
signed32 divide_this;
boolean overflow = false;
- COMPAT_2 (0);
+ SAVE_2;
trace_input ("divhun", OP_IMM_REG_REG_REG, 0);
signed32 divide_by;
signed32 divide_this;
boolean overflow = false;
- COMPAT_2 (0);
+ SAVE_2;
trace_input ("divn", OP_IMM_REG_REG_REG, 0);
signed32 divide_by;
signed32 divide_this;
boolean overflow = false;
- COMPAT_2 (0);
+ SAVE_2;
trace_input ("divun", OP_IMM_REG_REG_REG, 0);
"pushml <list18>"
{
int i;
- COMPAT_2 (0);
+ SAVE_2;
trace_input ("pushml", OP_PUSHPOP3, 0);