Does AArch64 support unaligned access natively? I am asking because currently ocamlopt
assumes "no".
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".