Re: [RFA] sh-sim loose ends

Michael Snyder
2004-02-12T23:52:42Z

Joern Rennecke wrote:
>> * gencode.c (movt): Modifies R[n]; call 'L' macro.
>
>
> That doesn't make sense, 'L' simulates the data read memory latency of an
> SH[123]. movt doesn't incur such a latency.

Hmmm? I thought 'L' was for registers, and 'MA' was for memory access.
This is the only instruction that modifies a gpr but doesn't call 'L'.
Figured it was an oversight.

>> (trapa): Factor out duplicate variable 'imm' (same as 'i').
>
> OK. But I don't see why you need the cast to long.

I guess I don't.

>> (sleep, trapa, ppi): Use SET_NIP to modify nip.
>
>
> I don't see any need for this. RAISE_EXCEPTION already clears
> saved_state.asregs.insn_end , so that takes care of the
> exceptions that might arise during sleep.
> For trapa, that leaves just the possibility that we fail to miss a
> loop bound that is set to somewhere inside a profiler trap; I think
> you deserve whatever you get when you do that.
> Similar for ppi; are you afrais that we fail to miss a loop bound
> that is set to field_b of a ppi insn?

Actually I was just going for consistancy (everywhere else that
modifies nip uses SET_NIP). I'll gladly drop this part of the
patch if you don't like it.