111
|
1 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
|
|
2 /* { dg-require-effective-target powerpc_vsx_ok } */
|
|
3 /* { dg-options "-maltivec=be -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
|
|
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 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
23 vector unsigned long long evul = {1,0};
|
|
24 vector double evd = {1.0,0.0};
|
|
25 #else
|
|
26 vector unsigned long long evul = {0,1};
|
|
27 vector double evd = {0.0,1.0};
|
|
28 #endif
|
|
29
|
|
30 vector unsigned long long vul;
|
|
31 vector double vd;
|
|
32 unsigned i;
|
|
33
|
|
34 init ();
|
|
35
|
|
36 vul = vec_ldl (0, (vector unsigned long long *)svul);
|
|
37 vd = vec_ldl (0, (vector double *)svd);
|
|
38
|
|
39 for (i = 0; i < 2; ++i)
|
|
40 {
|
|
41 check (vul[i] == evul[i], "vul");
|
|
42 check (vd[i] == evd[i], "vd" );
|
|
43 }
|
|
44 }
|