1 extern void abort (void);
4 /* For comparing vectors. */
5 #define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
6 void NAME##_f0 (TYPE a, PADT b) \
8 if (memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
12 void NAME##_f1 (PADT z0, TYPE a, PADT b) \
15 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
19 void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b) \
23 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
27 void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b) \
32 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
36 void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, PADT b) \
42 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
46 void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, TYPE a, \
54 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
58 void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
67 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
71 void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
72 PADT z6, TYPE a, PADT b) \
81 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
85 void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
86 PADT z6, PADT z7, TYPE a, PADT b) \
96 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
100 void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
101 PADT z6, PADT z7, PADT z8, TYPE a, PADT b) \
112 || memcmp (&a, &VAL, sizeof (a)) != 0 || b != VAL2) \
116 void NAME##_fv (int n, ...) \
118 __builtin_va_list ap; \
120 __builtin_va_start (ap, n); \
123 if (__builtin_va_arg (ap, PADT) != (PADT) 0) \
126 x = __builtin_va_arg (ap, TYPE); \
127 if (memcmp (&x, &VAL, sizeof (x)) != 0 ) \
130 if (__builtin_va_arg (ap, PADT) != VAL2) \
133 __builtin_va_end (ap); \
138 #define TEST_FUNCS(NAME, TYPE, PADT, VAL, VAL2) \
139 void NAME##_f0 (TYPE a, PADT b) \
141 if (a != VAL || b != VAL2) \
145 void NAME##_f1 (PADT z0, TYPE a, PADT b) \
148 || a != VAL || b != VAL2) \
152 void NAME##_f2 (PADT z0, PADT z1, TYPE a, PADT b) \
156 || a != VAL || b != VAL2) \
160 void NAME##_f3 (PADT z0, PADT z1, PADT z2, TYPE a, PADT b) \
165 || a != VAL || b != VAL2) \
169 void NAME##_f4 (PADT z0, PADT z1, PADT z2, PADT z3, TYPE a, PADT b) \
175 || a != VAL || b != VAL2) \
179 void NAME##_f5 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, TYPE a, \
187 || a != VAL || b != VAL2) \
191 void NAME##_f6 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
200 || a != VAL || b != VAL2) \
204 void NAME##_f7 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
205 PADT z6, TYPE a, PADT b) \
214 || a != VAL || b != VAL2) \
218 void NAME##_f8 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
219 PADT z6, PADT z7, TYPE a, PADT b) \
229 || a != VAL || b != VAL2) \
233 void NAME##_f9 (PADT z0, PADT z1, PADT z2, PADT z3, PADT z4, PADT z5, \
234 PADT z6, PADT z7, PADT z8, TYPE a, PADT b) \
245 || a != VAL || b != VAL2) \
249 void NAME##_fv (int n, ...) \
251 __builtin_va_list ap; \
253 __builtin_va_start (ap, n); \
256 if (__builtin_va_arg (ap, PADT) != (PADT) 0) \
259 if (__builtin_va_arg (ap, TYPE) != VAL) \
262 if (__builtin_va_arg (ap, PADT) != VAL2) \
265 __builtin_va_end (ap); \