In the last mail Philip Blundell said:
> In message <[EMAIL PROTECTED]>, Russell King writes:
> >Philip Blundell said:
> >> > 1: ldrbt r6,[r6],#0
> >>
> >> Technically the results are UNPREDICTABLE if the two registers are the same.
> >
> >This is not illegal, nor unpredictable. The documentation says that a
> >post indexed ldr instruction must not have rd the same as rn, except in
> >one case where it is permitted. The above is an example of the exact
> >case when it is allowed.
>
> Where is this documented? The ARM says of LDRBT simply:
>
> Notes
> Register Rn:
> Specifies the base register used by <post_indexed_addressing_mode>.
>
> Operand restrictions:
> If the same register is specified for Rd and Rn the results are
> UNPREDICTABLE.
>
> This is on page 3-46.
It would seem sane for what Russell writes to be true, as I did find some
documentation of the T flag, and it says it only applies for post indexed
addressing (presumably there are 2 bits to encode 4 states:
pre indexed, pre indexed with writeback, post indexed, post indexed with
address translation) hence post index of 0 is otherwise meaningless.
However, I'm no expert, and even with -O1 can't get an inflatable kernel
(Phil predicted correctly that -O0 doesn't inline functions, hence I got >
1024 lines of link errors)
Nick
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]