ld-vsx.c: Don't use vec_all_eq.
[gcc.git] / gcc / testsuite / gcc.dg / vmx / ldl-vsx-be-order.c
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 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 evul = {1,0};
24 vector double evd = {1.0,0.0};
25 #else
26 vector unsigned long evul = {0,1};
27 vector double evd = {0.0,1.0};
28 #endif
29
30 vector unsigned long vul;
31 vector double vd;
32 unsigned i;
33
34 init ();
35
36 vul = vec_ldl (0, (vector unsigned 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 }