1 /* Test the `vst1Q_laneu64' ARM Neon intrinsic. */
2
3 /* Detect ICE in the case of unaligned memory address. */
4
5 /* { dg-do compile } */
6 /* { dg-require-effective-target arm_neon_ok } */
7 /* { dg-add-options arm_neon } */
8
9 #include "arm_neon.h"
10
11 unsigned char dummy_store[1000];
12
13 void
14 foo (unsigned char* addr)
15 {
16 uint8x16_t vdata = vld1q_u8 (addr);
17 vst1q_lane_u64 ((uint64_t*) &dummy_store, vreinterpretq_u64_u8 (vdata), 0);
18 }
19
20 uint64_t
21 bar (uint64x2_t vdata)
22 {
23 vdata = vld1q_lane_u64 ((uint64_t*) &dummy_store, vdata, 0);
24 return vgetq_lane_u64 (vdata, 0);
25 }