c330413789350499271246b0398e81f70f1305d5
[gcc.git] / gcc / testsuite / gcc.dg / vmx / ldl-vsx.c
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 svul[2] __attribute__ ((aligned (16)));
8 static double svd[2] __attribute__ ((aligned (16)));
9
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
20 static void test ()
21 {
22 vector unsigned long evul = {0,1};
23 vector double evd = {0.0,1.0};
24
25 vector unsigned long vul;
26 vector double vd;
27
28 init ();
29
30 vul = vec_ldl (0, (vector unsigned long *)svul);
31 vd = vec_ldl (0, (vector double *)svd);
32
33 check (vec_all_eq (vul, evul), "vul");
34 check (vec_all_eq (vd, evd ), "vd" );
35 }