2 * Copyright (C) 2011 Gilead Kutnick "Exophase" <exophase@gmail.com>
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of
7 * the License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
29 #define build_vector_type_pair(sign, size, count, count_x2) \
32 sign##size e[count]; \
33 } vec_##count##x##size##sign; \
39 sign##size e[count_x2]; \
42 vec_##count##x##size##sign low; \
43 vec_##count##x##size##sign high; \
46 } vec_##count_x2##x##size##sign \
48 #define build_vector_types(sign) \
49 build_vector_type_pair(sign, 8, 8, 16); \
50 build_vector_type_pair(sign, 16, 4, 8); \
51 build_vector_type_pair(sign, 32, 2, 4); \
52 build_vector_type_pair(sign, 64, 1, 2) \
54 build_vector_types(u);
55 build_vector_types(s);
57 #endif // VECTOR_TYPES