ARM requires 8-byte alignment for 64-bit variables. The reinterpret_cast<uint64_t*> is not 8-byte memory aligned so it causes crashes on some ARM devices, specially on Android.