annotate gcc/testsuite/gcc.dg/vect/O3-pr70130.c @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* { dg-require-effective-target vsx_hw { target powerpc*-*-* } } */
kono
parents:
diff changeset
2 /* { dg-additional-options "-mcpu=power7" { target powerpc*-*-* } } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 #include "tree-vect.h"
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 struct foo
kono
parents:
diff changeset
7 {
kono
parents:
diff changeset
8 short a[3][16][16];
kono
parents:
diff changeset
9 short pad;
kono
parents:
diff changeset
10 } images[8];
kono
parents:
diff changeset
11
kono
parents:
diff changeset
12 void __attribute__ ((noinline, noclone))
kono
parents:
diff changeset
13 Loop_err (struct foo *img, const int s[16][2], int s0)
kono
parents:
diff changeset
14 {
kono
parents:
diff changeset
15 int i, j;
kono
parents:
diff changeset
16
kono
parents:
diff changeset
17 for (j = 0; j < 16; j++)
kono
parents:
diff changeset
18 {
kono
parents:
diff changeset
19 for (i=0; i < 16; i++)
kono
parents:
diff changeset
20 {
kono
parents:
diff changeset
21 img->a[0][j][i] = s[i][0];
kono
parents:
diff changeset
22 img->a[1][j][i] = s[j][1];
kono
parents:
diff changeset
23 img->a[2][j][i] = s0;
kono
parents:
diff changeset
24 }
kono
parents:
diff changeset
25 }
kono
parents:
diff changeset
26 }
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 const int s[16][2] = { { 1, 16 }, { 2, 15 }, { 3, 14 }, { 4, 13 },
kono
parents:
diff changeset
29 { 5, 12 }, { 6, 11 }, { 7, 10 }, { 8, 9 },
kono
parents:
diff changeset
30 { 9, 8 }, { 10, 7 }, { 11, 6 }, { 12, 5 },
kono
parents:
diff changeset
31 { 13, 4 }, { 14, 3 }, { 15, 2 }, { 16, 1 } };
kono
parents:
diff changeset
32 const struct foo expected
kono
parents:
diff changeset
33 = { { { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
34 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
35 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
36 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
37 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
38 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
39 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
40 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
41 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
42 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
43 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
44 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
45 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
46 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
47 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
kono
parents:
diff changeset
48 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 } },
kono
parents:
diff changeset
49 { { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 },
kono
parents:
diff changeset
50 { 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15 },
kono
parents:
diff changeset
51 { 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14 },
kono
parents:
diff changeset
52 { 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 },
kono
parents:
diff changeset
53 { 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 },
kono
parents:
diff changeset
54 { 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11 },
kono
parents:
diff changeset
55 { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
kono
parents:
diff changeset
56 { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 },
kono
parents:
diff changeset
57 { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
kono
parents:
diff changeset
58 { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 },
kono
parents:
diff changeset
59 { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 },
kono
parents:
diff changeset
60 { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 },
kono
parents:
diff changeset
61 { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
kono
parents:
diff changeset
62 { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
kono
parents:
diff changeset
63 { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },
kono
parents:
diff changeset
64 { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } },
kono
parents:
diff changeset
65 { { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
66 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
67 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
68 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
69 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
70 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
71 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
72 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
73 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
74 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
75 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
76 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
77 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
78 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
79 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
kono
parents:
diff changeset
80 { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 } } },
kono
parents:
diff changeset
81 0 };
kono
parents:
diff changeset
82
kono
parents:
diff changeset
83 int
kono
parents:
diff changeset
84 main (void)
kono
parents:
diff changeset
85 {
kono
parents:
diff changeset
86 int i;
kono
parents:
diff changeset
87
kono
parents:
diff changeset
88 check_vect ();
kono
parents:
diff changeset
89
kono
parents:
diff changeset
90 for (i = 0; i < 8; i++)
kono
parents:
diff changeset
91 Loop_err (images + i, s, -1);
kono
parents:
diff changeset
92
kono
parents:
diff changeset
93 for (i = 0; i < 8; i++)
kono
parents:
diff changeset
94 if (__builtin_memcmp (&expected, images + i, sizeof (expected)))
kono
parents:
diff changeset
95 __builtin_abort ();
kono
parents:
diff changeset
96 return 0;
kono
parents:
diff changeset
97 }