1 extern void abort (void);
4 #define va_list __builtin_va_list
5 #define va_start __builtin_va_start
6 #define va_arg __builtin_va_arg
7 #define va_end __builtin_va_end
13 /* For comparing vectors. */
14 #define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
15 void NAME##_f0 (TYPE a, PADT b) \
17 if (memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
21 void NAME##_f1 (PADT z0, TYPE a, PADT b) \
24 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
28 void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b) \
32 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
36 void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b) \
41 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
45 void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, PADT b) \
51 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
55 void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, TYPE a, \
63 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
67 void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
76 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
80 void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
81 PADT z6, TYPE a, PADT b) \
90 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
94 void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
95 PADT z6, PADT z7, TYPE a, PADT b) \
105 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
109 void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
110 PADT z6, PADT z7, PADT z8, TYPE a, PADT b) \
121 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
125 void NAME##_fv (int n, ...) \
132 if (va_arg (ap, PADT) != (PADT) 0) \
135 x = va_arg (ap, TYPE); \
136 if (memcmp (&x, &VAL, sizeof (x)) != 0 ) \
139 if (va_arg (ap, PADT) != VAL2) \
147 #define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
148 void NAME##_f0 (TYPE a, PADT b) \
150 if (a != VAL || b != VAL2) \
154 void NAME##_f1 (PADT z0, TYPE a, PADT b) \
157 || a != VAL || b != VAL2) \
161 void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b) \
165 || a != VAL || b != VAL2) \
169 void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b) \
174 || a != VAL || b != VAL2) \
178 void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, PADT b) \
184 || a != VAL || b != VAL2) \
188 void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, TYPE a, \
196 || a != VAL || b != VAL2) \
200 void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
209 || a != VAL || b != VAL2) \
213 void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
214 PADT z6, TYPE a, PADT b) \
223 || a != VAL || b != VAL2) \
227 void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
228 PADT z6, PADT z7, TYPE a, PADT b) \
238 || a != VAL || b != VAL2) \
242 void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
243 PADT z6, PADT z7, PADT z8, TYPE a, PADT b) \
254 || a != VAL || b != VAL2) \
258 void NAME##_fv (int n, ...) \
265 if (va_arg (ap, PADT) != (PADT) 0) \
268 if (va_arg (ap, TYPE) != VAL) \
271 if (va_arg (ap, PADT) != VAL2) \