>Why doesn't it? The wording given is 'The result delay is the number
>of cycles the next sequential instruction would stall if it used the
>result as an input'. I read this as saying that you can ignore the
>result delay, unless the next instruction uses the previous result.
>
>Hence, a ldr r0, [r1], #0 falls into the first category quite definitely,
>since there is writeback of base and there isn't and data extending being
>performed...
I think you've interpreted the table wrong. My understanding is:
The 0 result delay only applies to the updated base register. In other words,
if you do `ldr r0, [r1], #4', the new r1 is available via a bypass for use by
the following instruction.
The destination register always has a result delay of either 1 or 2, depending
on whether it's sign extended or zero extended. If no extension is needed I
guess that counts as zero extension. I'm not sure why there is no bypass for
this case, but I'm no semiconductor expert.
p.
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]