Subject: Re: Possible bug in arm32 strongarm optimisations.
To: Ignatios Souvatzis <ignatios@theory.cs.uni-bonn.de>
From: Chris G. Demetriou <cgd@sibyte.com>
List: port-arm32
Date: 10/26/2000 10:31:56
Ignatios Souvatzis <ignatios@theory.cs.uni-bonn.de> writes:
> Can you cite book, chapter and verse, please?

Advanced RISC Machines Architectureal Reference Manual.  Published by
Prentice Hall.  Edited by Dave Jaggar.  ISBN 0-13-736299-4.

see the descriptions and pseudo-code for ldr instruction, on p3-44.

Interestingly, the ldrh and strh declare that if an odd address is
given the result is unpredictable (but does not cause a fault unless
alignment checking is enabled).

And the description of str doesn't specify any rotation.  To be
honest, I'm not sure what the expected behaviour there is (though
actually doing an unaligned store might be hard for the CPU -- and
strh special-cases the odd case).

You might also check e.g. the sa-110 manual for an example of an
implementation.



chris