4 typedef float *__restrict__ pRF32;
5 typedef double *__restrict__ pRF64;
7 extern float fabsf (float);
8 extern double fabs (double);
10 #define DEF3a(fname, type, op) \
11 void fname##_##type (pR##type a, \
16 for (i = 0; i < 16; i++) \
17 a[i] = op (b[i] - c[i]); \
20 #define DEF3(fname, type, op) \
21 void fname##_##type (pR##type a, \
26 for (i = 0; i < 16; i++) \
27 a[i] = b[i] op c[i]; \
30 #define DEF2(fname, type, op) \
31 void fname##_##type (pR##type a, \
35 for (i = 0; i < 16; i++) \
40 #define DEFN3a(fname, op) \
41 DEF3a (fname, F32, op) \
42 DEF3a (fname, F64, op)
44 #define DEFN3(fname, op) \
45 DEF3 (fname, F32, op) \
48 #define DEFN2(fname, op) \
49 DEF2 (fname, F32, op) \
57 DEF2 (abs, F32, fabsf)
59 DEF3a (fabd, F32, fabsf)
60 DEF3a (fabd, F64, fabs)