arm64memory-alignment

Does AArch64 support unaligned access?


Does AArch64 support unaligned access natively? I am asking because currently ocamlopt assumes "no".


Solution

  • Providing the hardware bit for strict alignment checking is not turned on (which, as on x86, no general-purpose OS is realistically going to do), AArch64 does permit unaligned data accesses to Normal (not Device) memory with the regular load/store instructions.

    However, there are several reasons why a compiler would still want to maintain aligned data:

    I have no idea what concerns OCaml in particular, but I certainly wouldn't be surprised if it were "all of the above".