(sim_resume): Fix the handling of exts.w and extu.w.
+2003-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * compile.c (init_pointers): Abort if wreg never gets initialized.
+ (sim_resume): Fix the handling of exts.w and extu.w.
+
2003-01-31 Kazu Hirata <kazu@cs.umass.edu>
* compile.c (sim_resume): Fix the handling of bxor.
}
p++;
}
+ wreg[i] = wreg[i + 8] = 0;
while (q < u)
{
if (*q == 0x2233)
}
q++;
}
+ if (wreg[i] == 0 || wreg[i + 8] == 0)
+ abort ();
cpu.regs[i] = 0;
lreg[i] = &cpu.regs[i];
}
goto next;
}
case O (O_EXTS, SW):
- rd = GET_B_REG (code->src.reg + 8) & 0xff; /* Yes, src, not dst. */
+ rd = GET_W_REG (code->src.reg) & 0xff; /* Yes, src, not dst. */
ea = rd & 0x80 ? -256 : 0;
res = rd + ea;
goto log16;
res = rd + ea;
goto log32;
case O (O_EXTU, SW):
- rd = GET_B_REG (code->src.reg + 8) & 0xff;
+ rd = GET_W_REG (code->src.reg) & 0xff;
ea = 0;
res = rd + ea;
goto log16;