|
73 | 73 | FUNCTION(x.sf, y.sf)); \ |
74 | 74 | } |
75 | 75 |
|
76 | | -#define _CLC_V_S_V_VECTORIZE(DECLSPEC, RET_TYPE, FUNCTION, ARG1_TYPE, \ |
77 | | - ARG2_TYPE) \ |
78 | | - DECLSPEC RET_TYPE##2 FUNCTION(ARG1_TYPE x, ARG2_TYPE##2 y) { \ |
79 | | - return (RET_TYPE##2)(FUNCTION(x, y.s0), FUNCTION(x, y.s1)); \ |
80 | | - } \ |
81 | | - \ |
82 | | - DECLSPEC RET_TYPE##3 FUNCTION(ARG1_TYPE x, ARG2_TYPE##3 y) { \ |
83 | | - return (RET_TYPE##3)(FUNCTION(x, y.s0), FUNCTION(x, y.s1), \ |
84 | | - FUNCTION(x, y.s2)); \ |
85 | | - } \ |
86 | | - \ |
87 | | - DECLSPEC RET_TYPE##4 FUNCTION(ARG1_TYPE x, ARG2_TYPE##4 y) { \ |
88 | | - return (RET_TYPE##4)(FUNCTION(x, y.s0), FUNCTION(x, y.s1), \ |
89 | | - FUNCTION(x, y.s2), FUNCTION(x, y.s3)); \ |
90 | | - } \ |
91 | | - \ |
92 | | - DECLSPEC RET_TYPE##8 FUNCTION(ARG1_TYPE x, ARG2_TYPE##8 y) { \ |
93 | | - return (RET_TYPE##8)(FUNCTION(x, y.s0), FUNCTION(x, y.s1), \ |
94 | | - FUNCTION(x, y.s2), FUNCTION(x, y.s3), \ |
95 | | - FUNCTION(x, y.s4), FUNCTION(x, y.s5), \ |
96 | | - FUNCTION(x, y.s6), FUNCTION(x, y.s7)); \ |
97 | | - } \ |
98 | | - \ |
99 | | - DECLSPEC RET_TYPE##16 FUNCTION(ARG1_TYPE x, ARG2_TYPE##16 y) { \ |
100 | | - return (RET_TYPE##16)( \ |
101 | | - FUNCTION(x, y.s0), FUNCTION(x, y.s1), FUNCTION(x, y.s2), \ |
102 | | - FUNCTION(x, y.s3), FUNCTION(x, y.s4), FUNCTION(x, y.s5), \ |
103 | | - FUNCTION(x, y.s6), FUNCTION(x, y.s7), FUNCTION(x, y.s8), \ |
104 | | - FUNCTION(x, y.s9), FUNCTION(x, y.sa), FUNCTION(x, y.sb), \ |
105 | | - FUNCTION(x, y.sc), FUNCTION(x, y.sd), FUNCTION(x, y.se), \ |
106 | | - FUNCTION(x, y.sf)); \ |
107 | | - } |
108 | | - |
109 | 76 | #define _CLC_TERNARY_VECTORIZE(DECLSPEC, RET_TYPE, FUNCTION, ARG1_TYPE, \ |
110 | 77 | ARG2_TYPE, ARG3_TYPE) \ |
111 | 78 | DECLSPEC RET_TYPE##2 FUNCTION(ARG1_TYPE##2 x, ARG2_TYPE##2 y, \ |
|
0 commit comments