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 
7 static unsigned long long svul[2] __attribute__ ((aligned (16)));
8 static double svd[2] __attribute__ ((aligned (16)));
9 
init()10 static 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 
test()20 static 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