On 5/9/23 13:04, Peter Maydell wrote:
If the LDP is aligned mod 8, but not aligned mod 16, then both 8-byte
operations must be
(separately) atomic, and we return MO_64.
So there's an implicit "at most 2 atomic sub-operations
inside a WITHIN16 load" restriction? i.e. you can't
use WITHIN16 to say "do this 8 byte load atomically but
if it's not in a 16-byte region do it with 4 2-byte loads",
even though in theory MO_ATOM_WITHIN16 | MO_ATMAX_2 | MO_8
would describe that ?
Correct on both counts. While you're right that this is a valid generalization, it's not
something for which I've found a use case.
r~