• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download

fun_char(void)1  signed char fun_char (void) { return 5; }
fun_short(void)2  short fun_short (void) { return 6; }
fun_int(void)3  int fun_int (void) { return 7; }
fun_ptr(void)4  void *fun_ptr (void) { return &fun_ptr; }
fun_iptr(void)5  int fun_iptr (void) { return 8; }
fun_long(void)6  long fun_long (void) { return 9; }
fun_int128(void)7  __int128 fun_int128 (void) { return 10; }
8  
9  typedef struct { int i[10]; } large_struct1_t;
fun_large_struct1(void)10  large_struct1_t fun_large_struct1 (void) {
11    large_struct1_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } };
12    return ret;
13  }
14  
15  typedef struct { int i1; int i2; int i3; int i4; int i5;
16    int i6; int i7; int i8; int i9; int i10; } large_struct2_t;
fun_large_struct2(void)17  large_struct2_t fun_large_struct2 (void) {
18    large_struct2_t ret = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
19    return ret;
20  }
21  
fun_float(void)22  float fun_float (void) { return 1.5; }
fun_float_complex(void)23  float _Complex fun_float_complex (void) { return 1.5 + 2.5i; }
24  
fun_double(void)25  double fun_double (void) { return 2.5; }
fun_double_complex(void)26  double _Complex fun_double_complex (void) { return 2.5 + 3.5i; }
27  
fun_long_double(void)28  long double fun_long_double (void) { return 3.5; }
fun_long_double_complex(void)29  long double _Complex fun_long_double_complex (void) { return 4.5 + 5.5i; }
30  
31  #ifdef FLOAT128
fun_float128(void)32  __float128 fun_float128 (void) { return 3.5; }
33  #endif
34  
35  // 8 byte vectors.
36  
37  typedef signed char __attribute__ ((vector_size (8))) vec_char_8_t;
fun_vec_char_8(void)38  vec_char_8_t fun_vec_char_8 (void) {
39    vec_char_8_t ret = { 1, 2, 3, 4, 5, 6, 7, 8 };
40    return ret;
41  }
42  
43  typedef short __attribute__ ((vector_size (8))) vec_short_8_t;
fun_vec_short_8(void)44  vec_short_8_t fun_vec_short_8 (void) {
45    vec_short_8_t ret = { 2, 3, 4, 5 };
46    return ret;
47  }
48  
49  typedef int __attribute__ ((vector_size (8))) vec_int_8_t;
fun_vec_int_8(void)50  vec_int_8_t fun_vec_int_8 (void) {
51    vec_int_8_t ret = { 3, 4 };
52    return ret;
53  }
54  
55  typedef long __attribute__ ((vector_size (8))) vec_long_8_t;
fun_vec_long_8(void)56  vec_long_8_t fun_vec_long_8 (void) {
57    vec_long_8_t ret = { 5 };
58    return ret;
59  }
60  
61  typedef float __attribute__ ((vector_size (8))) vec_float_8_t;
fun_vec_float_8(void)62  vec_float_8_t fun_vec_float_8 (void) {
63    vec_float_8_t ret = { 1.5, 2.5 };
64    return ret;
65  }
66  
67  typedef double __attribute__ ((vector_size (8))) vec_double_8_t;
68  #ifndef AARCH64_BUG_1032854
69  // https://bugzilla.redhat.com/show_bug.cgi?id=1032854
fun_vec_double_8(void)70  vec_double_8_t fun_vec_double_8 (void) {
71    vec_double_8_t ret = { 3.5 };
72    return ret;
73  }
74  #endif
75  
76  // 16 byte vectors.
77  
78  typedef signed char __attribute__ ((vector_size (16))) vec_char_16_t;
fun_vec_char_16(void)79  vec_char_16_t fun_vec_char_16 (void) {
80    vec_char_16_t ret = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
81    return ret;
82  }
83  
84  typedef short __attribute__ ((vector_size (16))) vec_short_16_t;
fun_vec_short_16(void)85  vec_short_16_t fun_vec_short_16 (void) {
86    vec_short_16_t ret = { 2, 3, 4, 5, 6, 7, 8 };
87    return ret;
88  }
89  
90  typedef int __attribute__ ((vector_size (16))) vec_int_16_t;
fun_vec_int_16(void)91  vec_int_16_t fun_vec_int_16 (void) {
92    vec_int_16_t ret = { 2, 3, 4 };
93    return ret;
94  }
95  
96  typedef long __attribute__ ((vector_size (16))) vec_long_16_t;
fun_vec_long_16(void)97  vec_long_16_t fun_vec_long_16 (void) {
98    vec_long_16_t ret = { 3, 4 };
99    return ret;
100  }
101  
102  typedef __int128 __attribute__ ((vector_size (16))) vec_int128_16_t;
fun_vec_int128_16(void)103  vec_int128_16_t fun_vec_int128_16 (void) {
104    vec_int128_16_t ret = { 999 };
105    return ret;
106  }
107  
108  typedef float __attribute__ ((vector_size (16))) vec_float_16_t;
fun_vec_float_16(void)109  vec_float_16_t fun_vec_float_16 (void) {
110    vec_float_16_t ret = { 1.5, 2.5, 3.5, 4.5 };
111    return ret;
112  }
113  
114  typedef double __attribute__ ((vector_size (16))) vec_double_16_t;
fun_vec_double_16(void)115  vec_double_16_t fun_vec_double_16 (void) {
116    vec_double_16_t ret = { 2.5, 5 };
117    return ret;
118  }
119  
120  #ifdef FLOAT128
121  typedef __float128 __attribute__ ((vector_size (16))) vec_float128_16_t;
fun_vec_float128_16(void)122  vec_float128_16_t fun_vec_float128_16 (void) {
123    vec_float128_16_t ret = { 7.5 };
124    return ret;
125  }
126  #endif
127  
128  // Homogeneous floating-point aggregates.
129  
130  typedef struct { float f; } hfa1_float_t;
fun_hfa1_float(void)131  hfa1_float_t fun_hfa1_float (void) {
132    hfa1_float_t ret = { 1.5 };
133    return ret;
134  }
135  
136  typedef struct { double f; } hfa1_double_t;
fun_hfa1_double(void)137  hfa1_double_t fun_hfa1_double (void) {
138    hfa1_double_t ret = { 3.0 };
139    return ret;
140  }
141  
142  typedef struct { long double f; } hfa1_long_double_t;
fun_hfa1_long_double(void)143  hfa1_long_double_t fun_hfa1_long_double (void) {
144    hfa1_long_double_t ret = { 3.0 };
145    return ret;
146  }
147  
148  typedef struct { float f[1]; } hfa1_float_a_t;
fun_hfa1_float_a(void)149  hfa1_float_a_t fun_hfa1_float_a (void) {
150    hfa1_float_a_t ret = { { 1.5 } };
151    return ret;
152  }
153  
154  typedef struct { double f[1]; } hfa1_double_a_t;
fun_hfa1_double_a(void)155  hfa1_double_a_t fun_hfa1_double_a (void) {
156    hfa1_double_a_t ret = { { 3.0 } };
157    return ret;
158  }
159  
160  typedef struct { long double f[1]; } hfa1_long_double_a_t;
fun_hfa1_long_double_a(void)161  hfa1_long_double_a_t fun_hfa1_long_double_a (void) {
162    hfa1_long_double_a_t ret = { { 3.0 } };
163    return ret;
164  }
165  
166  typedef struct { float f; float g; } hfa2_float_t;
fun_hfa2_float(void)167  hfa2_float_t fun_hfa2_float (void) {
168    hfa2_float_t ret = { 1.5, 3.0 };
169    return ret;
170  }
171  
172  typedef struct { double f; double g; } hfa2_double_t;
fun_hfa2_double(void)173  hfa2_double_t fun_hfa2_double (void) {
174    hfa2_double_t ret = { 3.0, 4.5 };
175    return ret;
176  }
177  
178  typedef struct { long double f; long double g; } hfa2_long_double_t;
fun_hfa2_long_double(void)179  hfa2_long_double_t fun_hfa2_long_double (void) {
180    hfa2_long_double_t ret = { 3.0, 4.5 };
181    return ret;
182  }
183  
184  typedef struct { float f[2]; } hfa2_float_a_t;
fun_hfa2_float_a(void)185  hfa2_float_a_t fun_hfa2_float_a (void) {
186    hfa2_float_a_t ret = { { 2.5, 3.5 } };
187    return ret;
188  }
189  
190  typedef struct { double f[2]; } hfa2_double_a_t;
fun_hfa2_double_a(void)191  hfa2_double_a_t fun_hfa2_double_a (void) {
192    hfa2_double_a_t ret = { { 3.0, 3.5 } };
193    return ret;
194  }
195  
196  typedef struct { long double f[2]; } hfa2_long_double_a_t;
fun_hfa2_long_double_a(void)197  hfa2_long_double_a_t fun_hfa2_long_double_a (void) {
198    hfa2_long_double_a_t ret = { { 3.0, 4.0 } };
199    return ret;
200  }
201  
202  typedef struct { float f; float g; float h; } hfa3_float_t;
fun_hfa3_float(void)203  hfa3_float_t fun_hfa3_float (void) {
204    hfa3_float_t ret = { 1.5, 3.0, 4.5 };
205    return ret;
206  }
207  
208  typedef struct { double f; double g; double h; } hfa3_double_t;
fun_hfa3_double(void)209  hfa3_double_t fun_hfa3_double (void) {
210    hfa3_double_t ret = { 3.0, 4.5, 9.5 };
211    return ret;
212  }
213  
214  typedef struct { long double f; long double g; long double h; } hfa3_long_double_t;
fun_hfa3_long_double(void)215  hfa3_long_double_t fun_hfa3_long_double (void) {
216    hfa3_long_double_t ret = { 3.0, 4.5, 9.5 };
217    return ret;
218  }
219  
220  typedef struct { float f[3]; } hfa3_float_a_t;
fun_hfa3_float_a(void)221  hfa3_float_a_t fun_hfa3_float_a (void) {
222    hfa3_float_a_t ret = { { 3.5, 4.5, 5.5 } };
223    return ret;
224  }
225  
226  typedef struct { double f[3]; } hfa3_double_a_t;
fun_hfa3_double_a(void)227  hfa3_double_a_t fun_hfa3_double_a (void) {
228    hfa3_double_a_t ret = { { 3.0, 3.5, 4.0 } };
229    return ret;
230  }
231  
232  typedef struct { long double f[3]; } hfa3_long_double_a_t;
fun_hfa3_long_double_a(void)233  hfa3_long_double_a_t fun_hfa3_long_double_a (void) {
234    hfa3_long_double_a_t ret = { { 3.0, 4.0, 5.0 } };
235    return ret;
236  }
237  
238  typedef struct { float f; float g; float h; float i; } hfa4_float_t;
fun_hfa4_float(void)239  hfa4_float_t fun_hfa4_float (void) {
240    hfa4_float_t ret = { 1.5, 3.5, 4.5, 9.5 };
241    return ret;
242  }
243  
244  typedef struct { double f; double g; double h; double i; } hfa4_double_t;
fun_hfa4_double(void)245  hfa4_double_t fun_hfa4_double (void) {
246    hfa4_double_t ret = { 3.5, 4.5, 9.5, 1.5 };
247    return ret;
248  }
249  
250  typedef struct { long double f; long double g; long double h; long double i; } hfa4_long_double_t;
fun_hfa4_long_double(void)251  hfa4_long_double_t fun_hfa4_long_double (void) {
252    hfa4_long_double_t ret = { 3.5, 4.5, 9.5, 1.5 };
253    return ret;
254  }
255  
256  typedef struct { float f[4]; } hfa4_float_a_t;
fun_hfa4_float_a(void)257  hfa4_float_a_t fun_hfa4_float_a (void) {
258    hfa4_float_a_t ret = { { 4.5, 5.5, 6.5, 7.5 } };
259    return ret;
260  }
261  
262  typedef struct { double f[4]; } hfa4_double_a_t;
fun_hfa4_double_a(void)263  hfa4_double_a_t fun_hfa4_double_a (void) {
264    hfa4_double_a_t ret = { { 3.0, 4.5, 5.0, 5.5 } };
265    return ret;
266  }
267  
268  typedef struct { long double f[4]; } hfa4_long_double_a_t;
fun_hfa4_long_double_a(void)269  hfa4_long_double_a_t fun_hfa4_long_double_a (void) {
270    hfa4_long_double_a_t ret = { { 3.0, 4.0, 5.0, 6.0 } };
271    return ret;
272  }
273  
274  typedef struct { float f; float g; float h; float i; float j; } nfa5_float_t;
fun_nfa5_float(void)275  nfa5_float_t fun_nfa5_float (void) {
276    nfa5_float_t ret = { 1.5, 3.5, 4.5, 9.5, 10.5 };
277    return ret;
278  }
279  
280  typedef struct { double f; double g; double h; double i; double j; } nfa5_double_t;
fun_nfa5_double(void)281  nfa5_double_t fun_nfa5_double (void) {
282    nfa5_double_t ret = { 3.5, 4.5, 9.5, 1.5, 2.5 };
283    return ret;
284  }
285  
286  typedef struct { long double f; long double g; long double h; long double i; long double j; } nfa5_long_double_t;
fun_nfa5_long_double(void)287  nfa5_long_double_t fun_nfa5_long_double (void) {
288    nfa5_long_double_t ret = { 3.5, 4.5, 9.5, 1.5, 2.5 };
289    return ret;
290  }
291  
292  typedef struct { float f[5]; } nfa5_float_a_t;
fun_nfa5_float_a(void)293  nfa5_float_a_t fun_nfa5_float_a (void) {
294    nfa5_float_a_t ret = { { 4.5, 5.5, 6.5, 7.5, 9.5 } };
295    return ret;
296  }
297  
298  typedef struct { double f[5]; } nfa5_double_a_t;
fun_nfa5_double_a(void)299  nfa5_double_a_t fun_nfa5_double_a (void) {
300    nfa5_double_a_t ret = { { 3.0, 4.5, 5.0, 5.5, 6.5 } };
301    return ret;
302  }
303  
304  typedef struct { long double f[5]; } nfa5_long_double_a_t;
fun_nfa5_long_double_a(void)305  nfa5_long_double_a_t fun_nfa5_long_double_a (void) {
306    nfa5_long_double_a_t ret = { { 3.0, 4.0, 5.0, 6.0, 7.0 } };
307    return ret;
308  }
309  
310  #ifdef FLOAT128
311  typedef struct { __float128 f; } hfa1_float128_t;
fun_hfa1_float128(void)312  hfa1_float128_t fun_hfa1_float128 (void) {
313    hfa1_float128_t ret = { 4.5 };
314    return ret;
315  }
316  
317  typedef struct { __float128 f; __float128 g; } hfa2_float128_t;
fun_hfa2_float128(void)318  hfa2_float128_t fun_hfa2_float128 (void) {
319    hfa2_float128_t ret = { 4.5, 9.5 };
320    return ret;
321  }
322  
323  typedef struct { __float128 f; __float128 g; __float128 h; } hfa3_float128_t;
fun_hfa3_float128(void)324  hfa3_float128_t fun_hfa3_float128 (void) {
325    hfa3_float128_t ret = { 4.5, 9.5, 12.5 };
326    return ret;
327  }
328  
329  typedef struct { __float128 f; __float128 g; __float128 h; __float128 i; } hfa4_float128_t;
fun_hfa4_float128(void)330  hfa4_float128_t fun_hfa4_float128 (void) {
331    hfa4_float128_t ret = { 4.5, 9.5, 3.5, 1.5 };
332    return ret;
333  }
334  #endif
335  
336  // Homogeneous vector aggregates of 1 element.
337  
338  typedef struct { vec_char_8_t a; } hva1_vec_char_8_t;
fun_hva1_vec_char_8(void)339  hva1_vec_char_8_t fun_hva1_vec_char_8 (void) {
340    hva1_vec_char_8_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8 } };
341    return ret;
342  }
343  
344  typedef struct { vec_short_8_t a; } hva1_vec_short_8_t;
fun_hva1_vec_short_8(void)345  hva1_vec_short_8_t fun_hva1_vec_short_8 (void) {
346    hva1_vec_short_8_t ret = { { 2, 3, 4, 5 } };
347    return ret;
348  }
349  
350  typedef struct { vec_int_8_t a; } hva1_vec_int_8_t;
fun_hva1_vec_int_8(void)351  hva1_vec_int_8_t fun_hva1_vec_int_8 (void) {
352    hva1_vec_int_8_t ret = { { 3, 4 } };
353    return ret;
354  }
355  
356  typedef struct { vec_long_8_t a; } hva1_vec_long_8_t;
fun_hva1_vec_long_8(void)357  hva1_vec_long_8_t fun_hva1_vec_long_8 (void) {
358    hva1_vec_long_8_t ret = { { 5 } };
359    return ret;
360  }
361  
362  typedef struct { vec_float_8_t a; } hva1_vec_float_8_t;
fun_hva1_vec_float_8(void)363  hva1_vec_float_8_t fun_hva1_vec_float_8 (void) {
364    hva1_vec_float_8_t ret = { { 1.5, 2.5 } };
365    return ret;
366  }
367  
368  typedef struct { vec_double_8_t a; } hva1_vec_double_8_t;
fun_hva1_vec_double_8(void)369  hva1_vec_double_8_t fun_hva1_vec_double_8 (void) {
370    hva1_vec_double_8_t ret = { { 3.5 } };
371    return ret;
372  }
373  
374  typedef struct { vec_char_16_t a; } hva1_vec_char_16_t;
fun_hva1_vec_char_16_t(void)375  hva1_vec_char_16_t fun_hva1_vec_char_16_t (void) {
376    hva1_vec_char_16_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8,
377  			       9, 10, 11, 12, 13, 14, 15, 16 } };
378    return ret;
379  }
380  
381  typedef struct { vec_short_16_t a; } hva1_vec_short_16_t;
fun_hva1_vec_short_16_t(void)382  hva1_vec_short_16_t fun_hva1_vec_short_16_t (void) {
383    hva1_vec_short_16_t ret = { { 2, 3, 4, 5, 6, 7, 8, 9 } };
384    return ret;
385  }
386  
387  typedef struct { vec_int_16_t a; } hva1_vec_int_16_t;
fun_hva1_vec_int_16_t(void)388  hva1_vec_int_16_t fun_hva1_vec_int_16_t (void) {
389    hva1_vec_int_16_t ret = { { 3, 4, 5, 6 } };
390    return ret;
391  }
392  
393  typedef struct { vec_long_16_t a; } hva1_vec_long_16_t;
fun_hva1_vec_long_16_t(void)394  hva1_vec_long_16_t fun_hva1_vec_long_16_t (void) {
395    hva1_vec_long_16_t ret = { { 4, 5 } };
396    return ret;
397  }
398  
399  typedef struct { vec_int128_16_t a; } hva1_vec_int128_16_t;
fun_hva1_vec_int128_16_t(void)400  hva1_vec_int128_16_t fun_hva1_vec_int128_16_t (void) {
401    hva1_vec_int128_16_t ret = { { 6 } };
402    return ret;
403  }
404  
405  typedef struct { vec_float_16_t a; } hva1_vec_float_16_t;
fun_hva1_vec_float_16_t(void)406  hva1_vec_float_16_t fun_hva1_vec_float_16_t (void) {
407    hva1_vec_float_16_t ret = { { 1.5, 2.5, 3.5, 4.5 } };
408    return ret;
409  }
410  
411  typedef struct { vec_double_16_t a; } hva1_vec_double_16_t;
fun_hva1_vec_double_16_t(void)412  hva1_vec_double_16_t fun_hva1_vec_double_16_t (void) {
413    hva1_vec_double_16_t ret = { { 2.5, 3.5 } };
414    return ret;
415  }
416  
417  #ifdef FLOAT128
418  typedef struct { vec_float128_16_t a; } hva1_vec_float128_16_t;
fun_hva1_vec_float128_16_t(void)419  hva1_vec_float128_16_t fun_hva1_vec_float128_16_t (void) {
420    hva1_vec_float128_16_t ret = { { 4.5 } };
421    return ret;
422  }
423  #endif
424  
425  // Homogeneous vector aggregates of 2 elements.
426  
427  typedef struct { vec_char_8_t a; vec_char_8_t b; } hva2_vec_char_8_t;
fun_hva2_vec_char_8(void)428  hva2_vec_char_8_t fun_hva2_vec_char_8 (void) {
429    hva2_vec_char_8_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8 },
430  			    { 2, 3, 4, 5, 6, 7, 8, 9 } };
431    return ret;
432  }
433  
434  typedef struct { vec_short_8_t a; vec_short_8_t b; } hva2_vec_short_8_t;
fun_hva2_vec_short_8(void)435  hva2_vec_short_8_t fun_hva2_vec_short_8 (void) {
436    hva2_vec_short_8_t ret = { { 2, 3, 4, 5 },
437  			     { 3, 4, 5, 6 } };
438    return ret;
439  }
440  
441  typedef struct { vec_int_8_t a; vec_int_8_t b; } hva2_vec_int_8_t;
fun_hva2_vec_int_8(void)442  hva2_vec_int_8_t fun_hva2_vec_int_8 (void) {
443    hva2_vec_int_8_t ret = { { 3, 4 },
444  			   { 4, 5 } };
445    return ret;
446  }
447  
448  typedef struct { vec_long_8_t a; vec_long_8_t b; } hva2_vec_long_8_t;
fun_hva2_vec_long_8(void)449  hva2_vec_long_8_t fun_hva2_vec_long_8 (void) {
450    hva2_vec_long_8_t ret = { { 5 },
451  			    { 6 } };
452    return ret;
453  }
454  
455  typedef struct { vec_float_8_t a; vec_float_8_t b; } hva2_vec_float_8_t;
fun_hva2_vec_float_8(void)456  hva2_vec_float_8_t fun_hva2_vec_float_8 (void) {
457    hva2_vec_float_8_t ret = { { 1.5, 2.5 },
458  			     { 2.5, 3.5 } };
459    return ret;
460  }
461  
462  typedef struct { vec_double_8_t a; vec_double_8_t b; } hva2_vec_double_8_t;
fun_hva2_vec_double_8(void)463  hva2_vec_double_8_t fun_hva2_vec_double_8 (void) {
464    hva2_vec_double_8_t ret = { { 3.5 },
465  			      { 4.5 } };
466    return ret;
467  }
468  
469  typedef struct { vec_char_16_t a; vec_char_16_t b; } hva2_vec_char_16_t;
fun_hva2_vec_char_16_t(void)470  hva2_vec_char_16_t fun_hva2_vec_char_16_t (void) {
471    hva2_vec_char_16_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8,
472  			       9, 10, 11, 12, 13, 14, 15, 16 },
473  			     { 2, 3, 4, 5, 6, 7, 8, 9,
474  			       10, 11, 12, 13, 14, 15, 16, 17 } };
475    return ret;
476  }
477  
478  typedef struct { vec_short_16_t a; vec_short_16_t b; } hva2_vec_short_16_t;
fun_hva2_vec_short_16_t(void)479  hva2_vec_short_16_t fun_hva2_vec_short_16_t (void) {
480    hva2_vec_short_16_t ret = { { 2, 3, 4, 5, 6, 7, 8, 9 },
481  			      { 3, 4, 5, 6, 7, 8, 9, 10 } };
482    return ret;
483  }
484  
485  typedef struct { vec_int_16_t a; vec_int_16_t b; } hva2_vec_int_16_t;
fun_hva2_vec_int_16_t(void)486  hva2_vec_int_16_t fun_hva2_vec_int_16_t (void) {
487    hva2_vec_int_16_t ret = { { 3, 4, 5, 6 },
488  			    { 4, 5, 6, 7 } };
489    return ret;
490  }
491  
492  typedef struct { vec_long_16_t a; vec_long_16_t b; } hva2_vec_long_16_t;
fun_hva2_vec_long_16_t(void)493  hva2_vec_long_16_t fun_hva2_vec_long_16_t (void) {
494    hva2_vec_long_16_t ret = { { 4, 5 },
495  			     { 5, 6 } };
496    return ret;
497  }
498  
499  typedef struct { vec_int128_16_t a; vec_int128_16_t b; } hva2_vec_int128_16_t;
fun_hva2_vec_int128_16_t(void)500  hva2_vec_int128_16_t fun_hva2_vec_int128_16_t (void) {
501    hva2_vec_int128_16_t ret = { { 6 },
502  			       { 7 } };
503    return ret;
504  }
505  
506  typedef struct { vec_float_16_t a; vec_float_16_t b; } hva2_vec_float_16_t;
fun_hva2_vec_float_16_t(void)507  hva2_vec_float_16_t fun_hva2_vec_float_16_t (void) {
508    hva2_vec_float_16_t ret = { { 1.5, 2.5, 3.5, 4.5 },
509  			      { 2.5, 3.5, 4.5, 5.5 } };
510    return ret;
511  }
512  
513  typedef struct { vec_double_16_t a; vec_double_16_t b; } hva2_vec_double_16_t;
fun_hva2_vec_double_16_t(void)514  hva2_vec_double_16_t fun_hva2_vec_double_16_t (void) {
515    hva2_vec_double_16_t ret = { { 2.5, 3.5 },
516  			       { 3.5, 4.5 } };
517    return ret;
518  }
519  
520  #ifdef FLOAT128
521  typedef struct { vec_float128_16_t a; vec_float128_16_t b; } hva2_vec_float128_16_t;
fun_hva2_vec_float128_16_t(void)522  hva2_vec_float128_16_t fun_hva2_vec_float128_16_t (void) {
523    hva2_vec_float128_16_t ret = { { 4.5 },
524  				 { 5.5 } };
525    return ret;
526  }
527  #endif
528  
529  // Homogeneous vector aggregates of 3 elements.
530  
531  typedef struct { vec_char_8_t a; vec_char_8_t b; vec_char_8_t c; } hva3_vec_char_8_t;
fun_hva3_vec_char_8(void)532  hva3_vec_char_8_t fun_hva3_vec_char_8 (void) {
533    hva3_vec_char_8_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8 },
534  			    { 2, 3, 4, 5, 6, 7, 8, 9 },
535  			    { 3, 4, 5, 6, 7, 8, 9, 10 } };
536    return ret;
537  }
538  
539  typedef struct { vec_short_8_t a; vec_short_8_t b; vec_short_8_t c; } hva3_vec_short_8_t;
fun_hva3_vec_short_8(void)540  hva3_vec_short_8_t fun_hva3_vec_short_8 (void) {
541    hva3_vec_short_8_t ret = { { 2, 3, 4, 5 },
542  			     { 3, 4, 5, 6 },
543  			     { 4, 5, 6, 7 } };
544    return ret;
545  }
546  
547  typedef struct { vec_int_8_t a; vec_int_8_t b; vec_int_8_t c; } hva3_vec_int_8_t;
fun_hva3_vec_int_8(void)548  hva3_vec_int_8_t fun_hva3_vec_int_8 (void) {
549    hva3_vec_int_8_t ret = { { 3, 4 },
550  			   { 4, 5 },
551  			   { 5, 6 } };
552    return ret;
553  }
554  
555  typedef struct { vec_long_8_t a; vec_long_8_t b; vec_long_8_t c; } hva3_vec_long_8_t;
fun_hva3_vec_long_8(void)556  hva3_vec_long_8_t fun_hva3_vec_long_8 (void) {
557    hva3_vec_long_8_t ret = { { 5 },
558  			    { 6 },
559  			    { 7 } };
560    return ret;
561  }
562  
563  typedef struct { vec_float_8_t a; vec_float_8_t b; vec_float_8_t c; } hva3_vec_float_8_t;
fun_hva3_vec_float_8(void)564  hva3_vec_float_8_t fun_hva3_vec_float_8 (void) {
565    hva3_vec_float_8_t ret = { { 1.5, 2.5 },
566  			     { 2.5, 3.5 },
567  			     { 3.5, 4.5 } };
568    return ret;
569  }
570  
571  typedef struct { vec_double_8_t a; vec_double_8_t b; vec_double_8_t c; } hva3_vec_double_8_t;
fun_hva3_vec_double_8(void)572  hva3_vec_double_8_t fun_hva3_vec_double_8 (void) {
573    hva3_vec_double_8_t ret = { { 3.5 },
574  			      { 4.5 },
575  			      { 5.5 } };
576    return ret;
577  }
578  
579  typedef struct { vec_char_16_t a; vec_char_16_t b; vec_char_16_t c; } hva3_vec_char_16_t;
fun_hva3_vec_char_16_t(void)580  hva3_vec_char_16_t fun_hva3_vec_char_16_t (void) {
581    hva3_vec_char_16_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8,
582  			       9, 10, 11, 12, 13, 14, 15, 16 },
583  			     { 2, 3, 4, 5, 6, 7, 8, 9,
584  			       10, 11, 12, 13, 14, 15, 16, 17 },
585  			     { 3, 4, 5, 6, 7, 8, 9, 10,
586  			       11, 12, 13, 14, 15, 16, 17, 18 } };
587    return ret;
588  }
589  
590  typedef struct { vec_short_16_t a; vec_short_16_t b; vec_short_16_t c; } hva3_vec_short_16_t;
fun_hva3_vec_short_16_t(void)591  hva3_vec_short_16_t fun_hva3_vec_short_16_t (void) {
592    hva3_vec_short_16_t ret = { { 2, 3, 4, 5, 6, 7, 8, 9 },
593  			      { 3, 4, 5, 6, 7, 8, 9, 10 },
594  			      { 4, 5, 6, 7, 8, 9, 10, 11 } };
595    return ret;
596  }
597  
598  typedef struct { vec_int_16_t a; vec_int_16_t b; vec_int_16_t c; } hva3_vec_int_16_t;
fun_hva3_vec_int_16_t(void)599  hva3_vec_int_16_t fun_hva3_vec_int_16_t (void) {
600    hva3_vec_int_16_t ret = { { 3, 4, 5, 6 },
601  			    { 4, 5, 6, 7 },
602  			    { 5, 6, 7, 8 } };
603    return ret;
604  }
605  
606  typedef struct { vec_long_16_t a; vec_long_16_t b; vec_long_16_t c; } hva3_vec_long_16_t;
fun_hva3_vec_long_16_t(void)607  hva3_vec_long_16_t fun_hva3_vec_long_16_t (void) {
608    hva3_vec_long_16_t ret = { { 3, 4 },
609  			     { 4, 5 },
610  			     { 5, 6 } };
611    return ret;
612  }
613  
614  typedef struct { vec_int128_16_t a; vec_int128_16_t b; vec_int128_16_t c; } hva3_vec_int128_16_t;
fun_hva3_vec_int128_16_t(void)615  hva3_vec_int128_16_t fun_hva3_vec_int128_16_t (void) {
616    hva3_vec_int128_16_t ret = { { 6 },
617  			       { 7 },
618  			       { 8 } };
619    return ret;
620  }
621  
622  typedef struct { vec_float_16_t a; vec_float_16_t b; vec_float_16_t c; } hva3_vec_float_16_t;
fun_hva3_vec_float_16_t(void)623  hva3_vec_float_16_t fun_hva3_vec_float_16_t (void) {
624    hva3_vec_float_16_t ret = { { 1.5, 2.5, 3.5, 4.5 },
625  			      { 2.5, 3.5, 4.5, 5.5 },
626  			      { 3.5, 4.5, 5.5, 6.5 } };
627    return ret;
628  }
629  
630  typedef struct { vec_double_16_t a; vec_double_16_t b; vec_double_16_t c; } hva3_vec_double_16_t;
fun_hva3_vec_double_16_t(void)631  hva3_vec_double_16_t fun_hva3_vec_double_16_t (void) {
632    hva3_vec_double_16_t ret = { { 2.5, 3.5 },
633  			       { 3.5, 4.5 },
634  			       { 4.5, 5.5 } };
635    return ret;
636  }
637  
638  #ifdef FLOAT128
639  typedef struct { vec_float128_16_t a; vec_float128_16_t b; vec_float128_16_t c; } hva3_vec_float128_16_t;
fun_hva3_vec_float128_16_t(void)640  hva3_vec_float128_16_t fun_hva3_vec_float128_16_t (void) {
641    hva3_vec_float128_16_t ret = { { 4.5 },
642  				 { 5.5 },
643  				 { 6.5 } };
644    return ret;
645  }
646  #endif
647  
648  // Homogeneous vector aggregates of 3 elements.
649  
650  typedef struct { vec_char_8_t a; vec_char_8_t b; vec_char_8_t c; vec_char_8_t d; } hva4_vec_char_8_t;
fun_hva4_vec_char_8(void)651  hva4_vec_char_8_t fun_hva4_vec_char_8 (void) {
652    hva4_vec_char_8_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8 },
653  			    { 2, 3, 4, 5, 6, 7, 8, 9 },
654  			    { 3, 4, 5, 6, 7, 8, 9, 10 },
655  			    { 4, 5, 6, 7, 8, 9, 10, 11 } };
656    return ret;
657  }
658  
659  typedef struct { vec_short_8_t a; vec_short_8_t b; vec_short_8_t c; vec_short_8_t d; } hva4_vec_short_8_t;
fun_hva4_vec_short_8(void)660  hva4_vec_short_8_t fun_hva4_vec_short_8 (void) {
661    hva4_vec_short_8_t ret = { { 2, 3, 4, 5 },
662  			     { 3, 4, 5, 6 },
663  			     { 4, 5, 6, 7 },
664  			     { 5, 6, 7, 8 } };
665    return ret;
666  }
667  
668  typedef struct { vec_int_8_t a; vec_int_8_t b; vec_int_8_t c; vec_int_8_t d; } hva4_vec_int_8_t;
fun_hva4_vec_int_8(void)669  hva4_vec_int_8_t fun_hva4_vec_int_8 (void) {
670    hva4_vec_int_8_t ret = { { 3, 4 },
671  			   { 4, 5 },
672  			   { 5, 6 },
673  			   { 6, 7 } };
674    return ret;
675  }
676  
677  typedef struct { vec_long_8_t a; vec_long_8_t b; vec_long_8_t c; vec_long_8_t d; } hva4_vec_long_8_t;
fun_hva4_vec_long_8(void)678  hva4_vec_long_8_t fun_hva4_vec_long_8 (void) {
679    hva4_vec_long_8_t ret = { { 5 },
680  			    { 6 },
681  			    { 7 },
682  			    { 8 } };
683    return ret;
684  }
685  
686  typedef struct { vec_float_8_t a; vec_float_8_t b; vec_float_8_t c; vec_float_8_t d; } hva4_vec_float_8_t;
fun_hva4_vec_float_8(void)687  hva4_vec_float_8_t fun_hva4_vec_float_8 (void) {
688    hva4_vec_float_8_t ret = { { 1.5, 2.5 },
689  			     { 2.5, 3.5 },
690  			     { 3.5, 4.5 },
691  			     { 4.5, 5.5 } };
692    return ret;
693  }
694  
695  typedef struct { vec_double_8_t a; vec_double_8_t b; vec_double_8_t c; vec_double_8_t d; } hva4_vec_double_8_t;
fun_hva4_vec_double_8(void)696  hva4_vec_double_8_t fun_hva4_vec_double_8 (void) {
697    hva4_vec_double_8_t ret = { { 3.5 },
698  			      { 4.5 },
699  			      { 5.5 },
700  			      { 6.5 } };
701    return ret;
702  }
703  
704  typedef struct { vec_char_16_t a; vec_char_16_t b; vec_char_16_t c; vec_char_16_t d; } hva4_vec_char_16_t;
fun_hva4_vec_char_16_t(void)705  hva4_vec_char_16_t fun_hva4_vec_char_16_t (void) {
706    hva4_vec_char_16_t ret = { { 1, 2, 3, 4, 5, 6, 7, 8,
707  			       9, 10, 11, 12, 13, 14, 15, 16 },
708  			     { 2, 3, 4, 5, 6, 7, 8, 9,
709  			       10, 11, 12, 13, 14, 15, 16, 17 },
710  			     { 3, 4, 5, 6, 7, 8, 9, 10,
711  			       11, 12, 13, 14, 15, 16, 17, 18 },
712  			     { 4, 5, 6, 7, 8, 9, 10, 11,
713  			       12, 13, 14, 15, 16, 17, 18, 19 } };
714    return ret;
715  }
716  
717  typedef struct { vec_short_16_t a; vec_short_16_t b; vec_short_16_t c; vec_short_16_t d; } hva4_vec_short_16_t;
fun_hva4_vec_short_16_t(void)718  hva4_vec_short_16_t fun_hva4_vec_short_16_t (void) {
719    hva4_vec_short_16_t ret = { { 2, 3, 4, 5, 6, 7, 8, 9 },
720  			      { 3, 4, 5, 6, 7, 8, 9, 10 },
721  			      { 4, 5, 6, 7, 8, 9, 10, 11 },
722  			      { 5, 6, 7, 8, 9, 10, 11, 12 } };
723    return ret;
724  }
725  
726  typedef struct { vec_int_16_t a; vec_int_16_t b; vec_int_16_t c; vec_int_16_t d; } hva4_vec_int_16_t;
fun_hva4_vec_int_16_t(void)727  hva4_vec_int_16_t fun_hva4_vec_int_16_t (void) {
728    hva4_vec_int_16_t ret = { { 3, 4, 5, 6 },
729  			    { 4, 5, 6, 7 },
730  			    { 5, 6, 7, 8 },
731  			    { 6, 7, 8, 9 } };
732    return ret;
733  }
734  
735  typedef struct { vec_long_16_t a; vec_long_16_t b; vec_long_16_t c; vec_long_16_t d; } hva4_vec_long_16_t;
fun_hva4_vec_long_16_t(void)736  hva4_vec_long_16_t fun_hva4_vec_long_16_t (void) {
737    hva4_vec_long_16_t ret = { { 3, 4 },
738  			     { 4, 5 },
739  			     { 5, 6 },
740  			     { 6, 7 } };
741    return ret;
742  }
743  
744  typedef struct { vec_int128_16_t a; vec_int128_16_t b; vec_int128_16_t c; vec_int128_16_t d; } hva4_vec_int128_16_t;
fun_hva4_vec_int128_16_t(void)745  hva4_vec_int128_16_t fun_hva4_vec_int128_16_t (void) {
746    hva4_vec_int128_16_t ret = { { 6 },
747  			       { 7 },
748  			       { 8 },
749  			       { 9 } };
750    return ret;
751  }
752  
753  typedef struct { vec_float_16_t a; vec_float_16_t b; vec_float_16_t c; vec_float_16_t d; } hva4_vec_float_16_t;
fun_hva4_vec_float_16_t(void)754  hva4_vec_float_16_t fun_hva4_vec_float_16_t (void) {
755    hva4_vec_float_16_t ret = { { 1.5, 2.5, 3.5, 4.5 },
756  			      { 2.5, 3.5, 4.5, 5.5 },
757  			      { 3.5, 4.5, 5.5, 6.5 },
758  			      { 4.5, 5.5, 6.5, 7.5 } };
759    return ret;
760  }
761  
762  typedef struct { vec_double_16_t a; vec_double_16_t b; vec_double_16_t c; vec_double_16_t d; } hva4_vec_double_16_t;
fun_hva4_vec_double_16_t(void)763  hva4_vec_double_16_t fun_hva4_vec_double_16_t (void) {
764    hva4_vec_double_16_t ret = { { 2.5, 3.5 },
765  			       { 3.5, 4.5 },
766  			       { 4.5, 5.5 },
767  			       { 5.5, 6.5 } };
768    return ret;
769  }
770  
771  #ifdef FLOAT128
772  typedef struct { vec_float128_16_t a; vec_float128_16_t b; vec_float128_16_t c; vec_float128_16_t d; } hva4_vec_float128_16_t;
fun_hva4_vec_float128_16_t(void)773  hva4_vec_float128_16_t fun_hva4_vec_float128_16_t (void) {
774    hva4_vec_float128_16_t ret = { { 4.5 },
775  				 { 5.5 },
776  				 { 6.5 },
777  				 { 7.5 } };
778    return ret;
779  }
780  #endif
781  
782  // Mixed HFA.
783  typedef struct { float _Complex a; float b; } mixed_hfa3_cff_t;
fun_mixed_hfa3_cff(void)784  mixed_hfa3_cff_t fun_mixed_hfa3_cff (void) {
785    mixed_hfa3_cff_t ret = { 1.5 + 2.5i, 3.5 };
786    return ret;
787  }
788  
789  typedef struct { double _Complex a; double b; } mixed_hfa3_cdd_t;
fun_mixed_hfa3_cdd(void)790  mixed_hfa3_cdd_t fun_mixed_hfa3_cdd (void) {
791    mixed_hfa3_cdd_t ret = { 1.5 + 2.5i, 3.5 };
792    return ret;
793  }
794  
795  typedef struct { long double _Complex a; long double b; } mixed_hfa3_cldld_t;
fun_mixed_hfa3_cldld(void)796  mixed_hfa3_cldld_t fun_mixed_hfa3_cldld (void) {
797    mixed_hfa3_cldld_t ret = { 1.5 + 2.5i, 3.5 };
798    return ret;
799  }
800  
801  typedef struct { float b; float _Complex a; } mixed_hfa3_fcf_t;
fun_mixed_hfa3_fcf(void)802  mixed_hfa3_fcf_t fun_mixed_hfa3_fcf (void) {
803    mixed_hfa3_fcf_t ret = { 3.5, 1.5 + 2.5i };
804    return ret;
805  }
806  
807  typedef struct { double b; double _Complex a; } mixed_hfa3_dcd_t;
fun_mixed_hfa3_dcd(void)808  mixed_hfa3_dcd_t fun_mixed_hfa3_dcd (void) {
809    mixed_hfa3_dcd_t ret = { 3.5, 1.5 + 2.5i };
810    return ret;
811  }
812  
813  typedef struct { long double b; long double _Complex a; } mixed_hfa3_ldcld_t;
fun_mixed_hfa3_ldcld(void)814  mixed_hfa3_ldcld_t fun_mixed_hfa3_ldcld (void) {
815    mixed_hfa3_ldcld_t ret = { 3.5, 1.5 + 2.5i };
816    return ret;
817  }
818  
819  typedef struct { vec_float_8_t a; vec_short_8_t b; } mixed_hfa2_fltsht_t;
fun_mixed_hfa2_fltsht_t(void)820  mixed_hfa2_fltsht_t fun_mixed_hfa2_fltsht_t (void) {
821    mixed_hfa2_fltsht_t ret = { { 3.5, 4.5 }, { 1, 2, 3, 4 } };
822    return ret;
823  }
824  
main(int argc,char * argv[])825  int main(int argc, char *argv[])
826  {
827    return 0;
828  }
829