1 
2 #define DEF(TYPE) \
3   void \
4   foo_ ## TYPE ## _d (TYPE *a, TYPE *output) \
5   { \
6     int i; \
7     for (i = 0; i < 8 / sizeof (TYPE); i++) \
8       output[i] = *a; \
9   } \
10   void foo_ ## TYPE ## _q (TYPE *a, TYPE *output) \
11   { \
12     int i; \
13     for (i = 0; i < 32 / sizeof (TYPE); i++) \
14       output[i] = *a; \
15   }
16