LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 18892 - __builtin_neon_vld1q_v() won't accept 64-bit (unsigned long *) on aarch64
Summary: __builtin_neon_vld1q_v() won't accept 64-bit (unsigned long *) on aarch64
Status: RESOLVED WORKSFORME
Alias: None
Product: clang
Classification: Unclassified
Component: -New Bugs (show other bugs)
Version: trunk
Hardware: PC Linux
: P normal
Assignee: Unassigned Clang Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-18 21:10 PST by Simon Hosie
Modified: 2019-01-23 23:48 PST (History)
3 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Hosie 2014-02-18 21:10:30 PST
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`.
Comment 1 Tilmann Scheller 2014-05-14 10:03:52 PDT
Seems to be fixed already (doesn't reproduce with trunk r208757). Tested both the ARM64 and AArch64 backend.