1/* Test the vpaddd_u64 AArch64 SIMD intrinsic.  */
2
3/* { dg-do run } */
4/* { dg-options "-save-temps -O3" } */
5
6#include "arm_neon.h"
7
8#define SIZE 6
9
10extern void abort (void);
11
12uint64_t in[SIZE] = { 4ul, 4ul, 2ul, 2ul, 1ul, 1ul };
13
14int
15main (void)
16{
17  int i;
18
19  for (i = 0; i < SIZE / 2; ++i)
20    if (vpaddd_u64 (vld1q_u64 (in + 2 * i)) != 2 * in[2 * i])
21      abort ();
22
23  return 0;
24}
25
26/* { dg-final { scan-assembler "addp\[ \t\]+\[dD\]\[0-9\]+, v\[0-9\].2d+\n" } } */
27/* { dg-final { cleanup-saved-temps } } */
28