OSDN Git Service

PR testsuite/39769
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / vmx / spill3.c
1 #include <altivec.h>
2 extern void g(vector unsigned char, ...);
3 extern vector unsigned char v(void);
4 extern double d(void);
5 extern int i(void);
6
7 static vector unsigned char v1l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
8 static vector unsigned char v2l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
9 static vector unsigned char v3l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
10 static vector unsigned char v4l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
11 static vector unsigned char v5l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
12 static vector unsigned char v6l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
13 static vector unsigned char v7l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
14 static vector unsigned char v8l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
15 static vector unsigned char v9l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
16 static vector unsigned char v10l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
17 static vector unsigned char v11l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
18 static vector unsigned char v12l = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
19 static double d1l = 0;
20 static double d2l = 0;
21 static double d3l = 0;
22 static double d4l = 0;
23 static double d5l = 0;
24 static double d6l = 0;
25 static double d7l = 0;
26 static double d8l = 0;
27 static double d9l = 0;
28 static double d10l = 0;
29 static double d11l = 0;
30 static double d12l = 0;
31 static double d13l = 0;
32 static double d14l = 0;
33 static double d15l = 0;
34 static double d16l = 0;
35 static double d17l = 0;
36 static double d18l = 0;
37 static int i1l = 0;
38 static int i2l = 0;
39 static int i3l = 0;
40 static int i4l = 0;
41 static int i5l = 0;
42 static int i6l = 0;
43 static int i7l = 0;
44 static int i8l = 0;
45 static int i9l = 0;
46 static int i10l = 0;
47 static int i11l = 0;
48 static int i12l = 0;
49 static int i13l = 0;
50 static int i14l = 0;
51 static int i15l = 0;
52 static int i16l = 0;
53 static int i17l = 0;
54 static int i18l = 0;
55 static int i19l = 0;
56
57 void f()
58 {
59   char buffer[23];
60   vector unsigned char v1l = v();
61   vector unsigned char v2l = v();
62   vector unsigned char v3l = v();
63   vector unsigned char v4l = v();
64   vector unsigned char v5l = v();
65   vector unsigned char v6l = v();
66   vector unsigned char v7l = v();
67   vector unsigned char v8l = v();
68   vector unsigned char v9l = v();
69   vector unsigned char v10l = v();
70   vector unsigned char v11l = v();
71   vector unsigned char v12l = v();
72
73   double d1l = d();
74   double d2l = d();
75   double d3l = d();
76   double d4l = d();
77   double d5l = d();
78   double d6l = d();
79   double d7l = d();
80   double d8l = d();
81   double d9l = d();
82   double d10l = d();
83   double d11l = d();
84   double d12l = d();
85   double d13l = d();
86   double d14l = d();
87   double d15l = d();
88   double d16l = d();
89   double d17l = d();
90   double d18l = d();
91
92   int i1l = i();
93   int i2l = i();
94   int i3l = i();
95   int i4l = i();
96   int i5l = i();
97   int i6l = i();
98   int i7l = i();
99   int i8l = i();
100   int i9l = i();
101   int i10l = i();
102   int i11l = i();
103   int i12l = i();
104   int i13l = i();
105   int i14l = i();
106   int i15l = i();
107   int i16l = i();
108   int i17l = i();
109   int i18l = i();
110   int i19l = i();
111
112   if (d1l)
113     g(v1l, v2l, v3l, v4l, v5l, v6l, v7l, v8l, v9l, v10l, v11l, v12l,
114       d1l, d2l, d3l, d4l, d5l, d6l, d7l, d8l, d9l, d10l, d11l, d12l,
115       d13l, d14l, d15l, d16l, d17l, d18l,
116       i1l, i2l, i3l, i4l, i5l, i6l, i7l, i8l, i9l, i10l, i11l, i12l,
117       i13l, i14l, i15l, i16l, i17l, i18l, i19l);
118
119   g(v1l, buffer,
120     d1l, d2l, d3l, d4l, d5l, d6l, d7l, d8l, d9l, d10l, d11l, d12l,
121     d13l, d14l, d15l, d16l, d17l, d18l,
122     i1l, i2l, i3l, i4l, i5l, i6l, i7l, i8l, i9l, i10l, i11l, i12l,
123     i13l, i14l, i15l, i16l, i17l, i18l, i19l);
124 }
125
126 double
127 d(void)
128 {
129   static double zero;
130   return zero;
131 }
132
133 int
134 i(void)
135 {
136   static int non_zero;
137   return ++non_zero;
138 }
139
140 vector unsigned char
141 v(void)
142 {
143   static vector unsigned char zero;
144   return zero;
145 }
146
147 void
148 g(vector unsigned char a, ...)
149 {
150 }
151
152 int main() 
153 {
154   f();
155   return 0;
156 }