1/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
2/* { dg-require-effective-target powerpc_vsx_ok } */
3/* { dg-options "-maltivec -mabi=altivec -std=gnu99 -mvsx" } */
4
5#include "harness.h"
6
7static unsigned long long svul[2] __attribute__ ((aligned (16)));
8static double svd[2] __attribute__ ((aligned (16)));
9
10static void init ()
11{
12  unsigned int i;
13  for (i = 0; i < 2; ++i)
14    {
15      svul[i] = i;
16      svd[i] = i * 1.0;
17    }
18}
19
20static void test ()
21{
22  vector unsigned long long evul = {0,1};
23  vector double evd = {0.0,1.0};
24
25  vector unsigned long long vul;
26  vector double vd;
27  unsigned i;
28
29  init ();
30
31  vul = vec_ld (0, (vector unsigned long long *)svul);
32  vd  = vec_ld (0, (vector double *)svd);
33
34  for (i = 0; i < 2; ++i)
35    {
36      check (vul[i] == evul[i], "vul");
37      check (vd[i]  == evd[i],  "vd" );
38    }
39}
40