clang --target=aarch64-linux-gnu -xc -c - << EOF #include <arm_neon.h> void fn(unsigned long *p, uint64x2_t v) { vst1q_u64(p, v); } EOF gives me: <stdin>:2:54: warning: incompatible pointer types assigning to 'unsigned long long *' from 'unsigned long *' [-Wincompatible-pointer-types] Changing the pointer type to long long fixes things; unfortunately my /usr/aarch64-linux-gnu/include/stdint.h has uint64_t as simply `unsigned long`.
Seems to be fixed already (doesn't reproduce with trunk r208757). Tested both the ARM64 and AArch64 backend.