annotate gcc/testsuite/gcc.dg/vmx/ldl-vsx-be-order.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-skip-if "" { powerpc*-*-darwin* } } */
kono
parents:
diff changeset
2 /* { dg-require-effective-target powerpc_vsx_ok } */
kono
parents:
diff changeset
3 /* { dg-options "-maltivec=be -mabi=altivec -std=gnu99 -mvsx" } */
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 #include "harness.h"
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 static unsigned long long svul[2] __attribute__ ((aligned (16)));
kono
parents:
diff changeset
8 static double svd[2] __attribute__ ((aligned (16)));
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 static void init ()
kono
parents:
diff changeset
11 {
kono
parents:
diff changeset
12 unsigned int i;
kono
parents:
diff changeset
13 for (i = 0; i < 2; ++i)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 svul[i] = i;
kono
parents:
diff changeset
16 svd[i] = i * 1.0;
kono
parents:
diff changeset
17 }
kono
parents:
diff changeset
18 }
kono
parents:
diff changeset
19
kono
parents:
diff changeset
20 static void test ()
kono
parents:
diff changeset
21 {
kono
parents:
diff changeset
22 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
kono
parents:
diff changeset
23 vector unsigned long long evul = {1,0};
kono
parents:
diff changeset
24 vector double evd = {1.0,0.0};
kono
parents:
diff changeset
25 #else
kono
parents:
diff changeset
26 vector unsigned long long evul = {0,1};
kono
parents:
diff changeset
27 vector double evd = {0.0,1.0};
kono
parents:
diff changeset
28 #endif
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 vector unsigned long long vul;
kono
parents:
diff changeset
31 vector double vd;
kono
parents:
diff changeset
32 unsigned i;
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 init ();
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 vul = vec_ldl (0, (vector unsigned long long *)svul);
kono
parents:
diff changeset
37 vd = vec_ldl (0, (vector double *)svd);
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 for (i = 0; i < 2; ++i)
kono
parents:
diff changeset
40 {
kono
parents:
diff changeset
41 check (vul[i] == evul[i], "vul");
kono
parents:
diff changeset
42 check (vd[i] == evd[i], "vd" );
kono
parents:
diff changeset
43 }
kono
parents:
diff changeset
44 }