PATCH:[darwin] fix load of a misaligned double word
Segher Boessenkool
segher@kernel.crashing.org
Mon Jan 12 11:43:00 GMT 2004
>> The offset (the 3 part) has to be 4 byte aligned, not the whole
>> address.
>> Another way to put it: the offset has to be a multiple of 4.
>
> Correct. This is an architectural limitation; the instruction adds
> two implicit 0 bits at the
> low end of the displacement. This occurs only for ld/std, not
> lfd/stfd (go figure).
It is also the case for lwa (everything in primary opcodes 58 and 62,
really).
I think it's meant to save some opcode space ;-)
Segher
More information about the Gcc-patches
mailing list