Use __aarch64__ for 64-bit ARM detection, not __arm64__

Many GCC versions don't define __arm64__.
Also, only most recent upstream versions of CLANG/LLVM define __arm64__.
__aarch64__ is generally the safest choice.