Merge pull request #3633 from martin-frbg/perl_fallback
[platform/upstream/openblas.git] / common_c.h
1 #ifndef COMMON_C_H
2 #define COMMON_C_H
3
4 #ifndef DYNAMIC_ARCH
5
6 #define CAMAX_K                 camax_k
7 #define CAMIN_K                 camin_k
8 #define CMAX_K                  cmax_k
9 #define CMIN_K                  cmin_k
10 #define ICAMAX_K                icamax_k
11 #define ICAMIN_K                icamin_k
12 #define ICMAX_K                 icmax_k
13 #define ICMIN_K                 icmin_k
14 #define CASUM_K                 casum_k
15 #define CAXPYU_K                caxpy_k
16 #define CAXPYC_K                caxpyc_k
17 #define CCOPY_K                 ccopy_k
18 #define CDOTU_K                 cdotu_k
19 #define CDOTC_K                 cdotc_k
20 #define CNRM2_K                 cnrm2_k
21 #define CSCAL_K                 cscal_k
22 #define CSUM_K                  csum_k
23 #define CSWAP_K                 cswap_k
24 #define CROT_K                  csrot_k
25
26 #define CGEMV_N                 cgemv_n
27 #define CGEMV_T                 cgemv_t
28 #define CGEMV_R                 cgemv_r
29 #define CGEMV_C                 cgemv_c
30 #define CGEMV_O                 cgemv_o
31 #define CGEMV_U                 cgemv_u
32 #define CGEMV_S                 cgemv_s
33 #define CGEMV_D                 cgemv_d
34
35 #define CGERU_K                 cgeru_k
36 #define CGERC_K                 cgerc_k
37 #define CGERV_K                 cgerv_k
38 #define CGERD_K                 cgerd_k
39
40 #define CSYMV_U                 csymv_U
41 #define CSYMV_L                 csymv_L
42 #define CHEMV_U                 chemv_U
43 #define CHEMV_L                 chemv_L
44 #define CHEMV_V                 chemv_V
45 #define CHEMV_M                 chemv_M
46
47 #define CSYMV_THREAD_U          csymv_thread_U
48 #define CSYMV_THREAD_L          csymv_thread_L
49 #define CHEMV_THREAD_U          chemv_thread_U
50 #define CHEMV_THREAD_L          chemv_thread_L
51 #define CHEMV_THREAD_V          chemv_thread_V
52 #define CHEMV_THREAD_M          chemv_thread_M
53
54 #define CGEMM_ONCOPY            cgemm_oncopy
55 #define CGEMM_OTCOPY            cgemm_otcopy
56
57 #if CGEMM_DEFAULT_UNROLL_M == CGEMM_DEFAULT_UNROLL_N
58 #define CGEMM_INCOPY            cgemm_oncopy
59 #define CGEMM_ITCOPY            cgemm_otcopy
60 #else
61 #define CGEMM_INCOPY            cgemm_incopy
62 #define CGEMM_ITCOPY            cgemm_itcopy
63 #endif
64
65 #define CTRMM_OUNUCOPY          ctrmm_ounucopy
66 #define CTRMM_OUNNCOPY          ctrmm_ounncopy
67 #define CTRMM_OUTUCOPY          ctrmm_outucopy
68 #define CTRMM_OUTNCOPY          ctrmm_outncopy
69 #define CTRMM_OLNUCOPY          ctrmm_olnucopy
70 #define CTRMM_OLNNCOPY          ctrmm_olnncopy
71 #define CTRMM_OLTUCOPY          ctrmm_oltucopy
72 #define CTRMM_OLTNCOPY          ctrmm_oltncopy
73
74 #define CTRSM_OUNUCOPY          ctrsm_ounucopy
75 #define CTRSM_OUNNCOPY          ctrsm_ounncopy
76 #define CTRSM_OUTUCOPY          ctrsm_outucopy
77 #define CTRSM_OUTNCOPY          ctrsm_outncopy
78 #define CTRSM_OLNUCOPY          ctrsm_olnucopy
79 #define CTRSM_OLNNCOPY          ctrsm_olnncopy
80 #define CTRSM_OLTUCOPY          ctrsm_oltucopy
81 #define CTRSM_OLTNCOPY          ctrsm_oltncopy
82
83 #if CGEMM_DEFAULT_UNROLL_M == CGEMM_DEFAULT_UNROLL_N
84 #define CTRMM_IUNUCOPY          ctrmm_ounucopy
85 #define CTRMM_IUNNCOPY          ctrmm_ounncopy
86 #define CTRMM_IUTUCOPY          ctrmm_outucopy
87 #define CTRMM_IUTNCOPY          ctrmm_outncopy
88 #define CTRMM_ILNUCOPY          ctrmm_olnucopy
89 #define CTRMM_ILNNCOPY          ctrmm_olnncopy
90 #define CTRMM_ILTUCOPY          ctrmm_oltucopy
91 #define CTRMM_ILTNCOPY          ctrmm_oltncopy
92
93 #define CTRSM_IUNUCOPY          ctrsm_ounucopy
94 #define CTRSM_IUNNCOPY          ctrsm_ounncopy
95 #define CTRSM_IUTUCOPY          ctrsm_outucopy
96 #define CTRSM_IUTNCOPY          ctrsm_outncopy
97 #define CTRSM_ILNUCOPY          ctrsm_olnucopy
98 #define CTRSM_ILNNCOPY          ctrsm_olnncopy
99 #define CTRSM_ILTUCOPY          ctrsm_oltucopy
100 #define CTRSM_ILTNCOPY          ctrsm_oltncopy
101 #else
102 #define CTRMM_IUNUCOPY          ctrmm_iunucopy
103 #define CTRMM_IUNNCOPY          ctrmm_iunncopy
104 #define CTRMM_IUTUCOPY          ctrmm_iutucopy
105 #define CTRMM_IUTNCOPY          ctrmm_iutncopy
106 #define CTRMM_ILNUCOPY          ctrmm_ilnucopy
107 #define CTRMM_ILNNCOPY          ctrmm_ilnncopy
108 #define CTRMM_ILTUCOPY          ctrmm_iltucopy
109 #define CTRMM_ILTNCOPY          ctrmm_iltncopy
110
111 #define CTRSM_IUNUCOPY          ctrsm_iunucopy
112 #define CTRSM_IUNNCOPY          ctrsm_iunncopy
113 #define CTRSM_IUTUCOPY          ctrsm_iutucopy
114 #define CTRSM_IUTNCOPY          ctrsm_iutncopy
115 #define CTRSM_ILNUCOPY          ctrsm_ilnucopy
116 #define CTRSM_ILNNCOPY          ctrsm_ilnncopy
117 #define CTRSM_ILTUCOPY          ctrsm_iltucopy
118 #define CTRSM_ILTNCOPY          ctrsm_iltncopy
119 #endif
120
121 #define CGEMM_BETA              cgemm_beta
122
123 #define CGEMM_KERNEL_N          cgemm_kernel_n
124 #define CGEMM_KERNEL_L          cgemm_kernel_l
125 #define CGEMM_KERNEL_R          cgemm_kernel_r
126 #define CGEMM_KERNEL_B          cgemm_kernel_b
127
128 #define CTRMM_KERNEL_LN         ctrmm_kernel_LN
129 #define CTRMM_KERNEL_LT         ctrmm_kernel_LT
130 #define CTRMM_KERNEL_LR         ctrmm_kernel_LR
131 #define CTRMM_KERNEL_LC         ctrmm_kernel_LC
132 #define CTRMM_KERNEL_RN         ctrmm_kernel_RN
133 #define CTRMM_KERNEL_RT         ctrmm_kernel_RT
134 #define CTRMM_KERNEL_RR         ctrmm_kernel_RR
135 #define CTRMM_KERNEL_RC         ctrmm_kernel_RC
136
137 #define CTRSM_KERNEL_LN         ctrsm_kernel_LN
138 #define CTRSM_KERNEL_LT         ctrsm_kernel_LT
139 #define CTRSM_KERNEL_LR         ctrsm_kernel_LR
140 #define CTRSM_KERNEL_LC         ctrsm_kernel_LC
141 #define CTRSM_KERNEL_RN         ctrsm_kernel_RN
142 #define CTRSM_KERNEL_RT         ctrsm_kernel_RT
143 #define CTRSM_KERNEL_RR         ctrsm_kernel_RR
144 #define CTRSM_KERNEL_RC         ctrsm_kernel_RC
145
146 #define CSYMM_OUTCOPY           csymm_outcopy
147 #define CSYMM_OLTCOPY           csymm_oltcopy
148 #if CGEMM_DEFAULT_UNROLL_M == CGEMM_DEFAULT_UNROLL_N
149 #define CSYMM_IUTCOPY           csymm_outcopy
150 #define CSYMM_ILTCOPY           csymm_oltcopy
151 #else
152 #define CSYMM_IUTCOPY           csymm_iutcopy
153 #define CSYMM_ILTCOPY           csymm_iltcopy
154 #endif
155
156 #define CHEMM_OUTCOPY           chemm_outcopy
157 #define CHEMM_OLTCOPY           chemm_oltcopy
158 #if CGEMM_DEFAULT_UNROLL_M == CGEMM_DEFAULT_UNROLL_N
159 #define CHEMM_IUTCOPY           chemm_outcopy
160 #define CHEMM_ILTCOPY           chemm_oltcopy
161 #else
162 #define CHEMM_IUTCOPY           chemm_iutcopy
163 #define CHEMM_ILTCOPY           chemm_iltcopy
164 #endif
165
166 #define CGEMM3M_ONCOPYB         cgemm3m_oncopyb
167 #define CGEMM3M_ONCOPYR         cgemm3m_oncopyr
168 #define CGEMM3M_ONCOPYI         cgemm3m_oncopyi
169 #define CGEMM3M_OTCOPYB         cgemm3m_otcopyb
170 #define CGEMM3M_OTCOPYR         cgemm3m_otcopyr
171 #define CGEMM3M_OTCOPYI         cgemm3m_otcopyi
172
173 #define CGEMM3M_INCOPYB         cgemm3m_incopyb
174 #define CGEMM3M_INCOPYR         cgemm3m_incopyr
175 #define CGEMM3M_INCOPYI         cgemm3m_incopyi
176 #define CGEMM3M_ITCOPYB         cgemm3m_itcopyb
177 #define CGEMM3M_ITCOPYR         cgemm3m_itcopyr
178 #define CGEMM3M_ITCOPYI         cgemm3m_itcopyi
179
180 #define CSYMM3M_ILCOPYB         csymm3m_ilcopyb
181 #define CSYMM3M_IUCOPYB         csymm3m_iucopyb
182 #define CSYMM3M_ILCOPYR         csymm3m_ilcopyr
183 #define CSYMM3M_IUCOPYR         csymm3m_iucopyr
184 #define CSYMM3M_ILCOPYI         csymm3m_ilcopyi
185 #define CSYMM3M_IUCOPYI         csymm3m_iucopyi
186
187 #define CSYMM3M_OLCOPYB         csymm3m_olcopyb
188 #define CSYMM3M_OUCOPYB         csymm3m_oucopyb
189 #define CSYMM3M_OLCOPYR         csymm3m_olcopyr
190 #define CSYMM3M_OUCOPYR         csymm3m_oucopyr
191 #define CSYMM3M_OLCOPYI         csymm3m_olcopyi
192 #define CSYMM3M_OUCOPYI         csymm3m_oucopyi
193
194 #define CHEMM3M_ILCOPYB         chemm3m_ilcopyb
195 #define CHEMM3M_IUCOPYB         chemm3m_iucopyb
196 #define CHEMM3M_ILCOPYR         chemm3m_ilcopyr
197 #define CHEMM3M_IUCOPYR         chemm3m_iucopyr
198 #define CHEMM3M_ILCOPYI         chemm3m_ilcopyi
199 #define CHEMM3M_IUCOPYI         chemm3m_iucopyi
200
201 #define CHEMM3M_OLCOPYB         chemm3m_olcopyb
202 #define CHEMM3M_OUCOPYB         chemm3m_oucopyb
203 #define CHEMM3M_OLCOPYR         chemm3m_olcopyr
204 #define CHEMM3M_OUCOPYR         chemm3m_oucopyr
205 #define CHEMM3M_OLCOPYI         chemm3m_olcopyi
206 #define CHEMM3M_OUCOPYI         chemm3m_oucopyi
207
208 #define CGEMM3M_KERNEL          cgemm3m_kernel
209
210 #define CNEG_TCOPY              cneg_tcopy
211 #define CLASWP_NCOPY            claswp_ncopy
212
213 #define CAXPBY_K                caxpby_k
214
215 #define COMATCOPY_K_CN          comatcopy_k_cn
216 #define COMATCOPY_K_RN          comatcopy_k_rn
217 #define COMATCOPY_K_CT          comatcopy_k_ct
218 #define COMATCOPY_K_RT          comatcopy_k_rt
219 #define COMATCOPY_K_CNC         comatcopy_k_cnc
220 #define COMATCOPY_K_RNC         comatcopy_k_rnc
221 #define COMATCOPY_K_CTC         comatcopy_k_ctc
222 #define COMATCOPY_K_RTC         comatcopy_k_rtc
223
224 #define CIMATCOPY_K_CN          cimatcopy_k_cn
225 #define CIMATCOPY_K_RN          cimatcopy_k_rn
226 #define CIMATCOPY_K_CT          cimatcopy_k_ct
227 #define CIMATCOPY_K_RT          cimatcopy_k_rt
228 #define CIMATCOPY_K_CNC         cimatcopy_k_cnc
229 #define CIMATCOPY_K_RNC         cimatcopy_k_rnc
230 #define CIMATCOPY_K_CTC         cimatcopy_k_ctc
231 #define CIMATCOPY_K_RTC         cimatcopy_k_rtc
232
233 #define CGEADD_K                cgeadd_k 
234
235 #define CGEMM_SMALL_MATRIX_PERMIT       cgemm_small_matrix_permit
236
237 #else
238
239 #define CAMAX_K                 gotoblas -> camax_k
240 #define CAMIN_K                 gotoblas -> camin_k
241 #define CMAX_K                  gotoblas -> cmax_k
242 #define CMIN_K                  gotoblas -> cmin_k
243 #define ICAMAX_K                gotoblas -> icamax_k
244 #define ICAMIN_K                gotoblas -> icamin_k
245 #define ICMAX_K                 gotoblas -> icmax_k
246 #define ICMIN_K                 gotoblas -> icmin_k
247 #define CASUM_K                 gotoblas -> casum_k
248 #define CAXPYU_K                gotoblas -> caxpy_k
249 #define CAXPYC_K                gotoblas -> caxpyc_k
250 #define CCOPY_K                 gotoblas -> ccopy_k
251 #define CDOTU_K                 gotoblas -> cdotu_k
252 #define CDOTC_K                 gotoblas -> cdotc_k
253 #define CNRM2_K                 gotoblas -> cnrm2_k
254 #define CSCAL_K                 gotoblas -> cscal_k
255 #define CSUM_K                  gotoblas -> csum_k
256 #define CSWAP_K                 gotoblas -> cswap_k
257 #define CROT_K                  gotoblas -> csrot_k
258
259 #define CGEMV_N                 gotoblas -> cgemv_n
260 #define CGEMV_T                 gotoblas -> cgemv_t
261 #define CGEMV_R                 gotoblas -> cgemv_r
262 #define CGEMV_C                 gotoblas -> cgemv_c
263 #define CGEMV_O                 gotoblas -> cgemv_o
264 #define CGEMV_U                 gotoblas -> cgemv_u
265 #define CGEMV_S                 gotoblas -> cgemv_s
266 #define CGEMV_D                 gotoblas -> cgemv_d
267
268 #define CGERU_K                 gotoblas -> cgeru_k
269 #define CGERC_K                 gotoblas -> cgerc_k
270 #define CGERV_K                 gotoblas -> cgerv_k
271 #define CGERD_K                 gotoblas -> cgerd_k
272
273 #define CSYMV_U                 gotoblas -> csymv_U
274 #define CSYMV_L                 gotoblas -> csymv_L
275 #define CHEMV_U                 gotoblas -> chemv_U
276 #define CHEMV_L                 gotoblas -> chemv_L
277 #define CHEMV_V                 gotoblas -> chemv_V
278 #define CHEMV_M                 gotoblas -> chemv_M
279
280 #define CSYMV_THREAD_U          csymv_thread_U
281 #define CSYMV_THREAD_L          csymv_thread_L
282 #define CHEMV_THREAD_U          chemv_thread_U
283 #define CHEMV_THREAD_L          chemv_thread_L
284 #define CHEMV_THREAD_V          chemv_thread_V
285 #define CHEMV_THREAD_M          chemv_thread_M
286
287 #define CGEMM_ONCOPY            gotoblas -> cgemm_oncopy
288 #define CGEMM_OTCOPY            gotoblas -> cgemm_otcopy
289 #define CGEMM_INCOPY            gotoblas -> cgemm_incopy
290 #define CGEMM_ITCOPY            gotoblas -> cgemm_itcopy
291
292 #define CTRMM_OUNUCOPY          gotoblas -> ctrmm_ounucopy
293 #define CTRMM_OUTUCOPY          gotoblas -> ctrmm_outucopy
294 #define CTRMM_OLNUCOPY          gotoblas -> ctrmm_olnucopy
295 #define CTRMM_OLTUCOPY          gotoblas -> ctrmm_oltucopy
296 #define CTRSM_OUNUCOPY          gotoblas -> ctrsm_ounucopy
297 #define CTRSM_OUTUCOPY          gotoblas -> ctrsm_outucopy
298 #define CTRSM_OLNUCOPY          gotoblas -> ctrsm_olnucopy
299 #define CTRSM_OLTUCOPY          gotoblas -> ctrsm_oltucopy
300
301 #define CTRMM_IUNUCOPY          gotoblas -> ctrmm_iunucopy
302 #define CTRMM_IUTUCOPY          gotoblas -> ctrmm_iutucopy
303 #define CTRMM_ILNUCOPY          gotoblas -> ctrmm_ilnucopy
304 #define CTRMM_ILTUCOPY          gotoblas -> ctrmm_iltucopy
305 #define CTRSM_IUNUCOPY          gotoblas -> ctrsm_iunucopy
306 #define CTRSM_IUTUCOPY          gotoblas -> ctrsm_iutucopy
307 #define CTRSM_ILNUCOPY          gotoblas -> ctrsm_ilnucopy
308 #define CTRSM_ILTUCOPY          gotoblas -> ctrsm_iltucopy
309
310 #define CTRMM_OUNNCOPY          gotoblas -> ctrmm_ounncopy
311 #define CTRMM_OUTNCOPY          gotoblas -> ctrmm_outncopy
312 #define CTRMM_OLNNCOPY          gotoblas -> ctrmm_olnncopy
313 #define CTRMM_OLTNCOPY          gotoblas -> ctrmm_oltncopy
314 #define CTRSM_OUNNCOPY          gotoblas -> ctrsm_ounncopy
315 #define CTRSM_OUTNCOPY          gotoblas -> ctrsm_outncopy
316 #define CTRSM_OLNNCOPY          gotoblas -> ctrsm_olnncopy
317 #define CTRSM_OLTNCOPY          gotoblas -> ctrsm_oltncopy
318
319 #define CTRMM_IUNNCOPY          gotoblas -> ctrmm_iunncopy
320 #define CTRMM_IUTNCOPY          gotoblas -> ctrmm_iutncopy
321 #define CTRMM_ILNNCOPY          gotoblas -> ctrmm_ilnncopy
322 #define CTRMM_ILTNCOPY          gotoblas -> ctrmm_iltncopy
323 #define CTRSM_IUNNCOPY          gotoblas -> ctrsm_iunncopy
324 #define CTRSM_IUTNCOPY          gotoblas -> ctrsm_iutncopy
325 #define CTRSM_ILNNCOPY          gotoblas -> ctrsm_ilnncopy
326 #define CTRSM_ILTNCOPY          gotoblas -> ctrsm_iltncopy
327
328 #define CGEMM_BETA              gotoblas -> cgemm_beta
329 #define CGEMM_KERNEL_N          gotoblas -> cgemm_kernel_n
330 #define CGEMM_KERNEL_L          gotoblas -> cgemm_kernel_l
331 #define CGEMM_KERNEL_R          gotoblas -> cgemm_kernel_r
332 #define CGEMM_KERNEL_B          gotoblas -> cgemm_kernel_b
333
334 #define CTRMM_KERNEL_LN         gotoblas -> ctrmm_kernel_LN
335 #define CTRMM_KERNEL_LT         gotoblas -> ctrmm_kernel_LT
336 #define CTRMM_KERNEL_LR         gotoblas -> ctrmm_kernel_LR
337 #define CTRMM_KERNEL_LC         gotoblas -> ctrmm_kernel_LC
338 #define CTRMM_KERNEL_RN         gotoblas -> ctrmm_kernel_RN
339 #define CTRMM_KERNEL_RT         gotoblas -> ctrmm_kernel_RT
340 #define CTRMM_KERNEL_RR         gotoblas -> ctrmm_kernel_RR
341 #define CTRMM_KERNEL_RC         gotoblas -> ctrmm_kernel_RC
342
343 #define CTRSM_KERNEL_LN         gotoblas -> ctrsm_kernel_LN
344 #define CTRSM_KERNEL_LT         gotoblas -> ctrsm_kernel_LT
345 #define CTRSM_KERNEL_LR         gotoblas -> ctrsm_kernel_LR
346 #define CTRSM_KERNEL_LC         gotoblas -> ctrsm_kernel_LC
347 #define CTRSM_KERNEL_RN         gotoblas -> ctrsm_kernel_RN
348 #define CTRSM_KERNEL_RT         gotoblas -> ctrsm_kernel_RT
349 #define CTRSM_KERNEL_RR         gotoblas -> ctrsm_kernel_RR
350 #define CTRSM_KERNEL_RC         gotoblas -> ctrsm_kernel_RC
351
352 #define CSYMM_IUTCOPY           gotoblas -> csymm_iutcopy
353 #define CSYMM_ILTCOPY           gotoblas -> csymm_iltcopy
354 #define CSYMM_OUTCOPY           gotoblas -> csymm_outcopy
355 #define CSYMM_OLTCOPY           gotoblas -> csymm_oltcopy
356
357 #define CHEMM_OUTCOPY           gotoblas -> chemm_outcopy
358 #define CHEMM_OLTCOPY           gotoblas -> chemm_oltcopy
359 #define CHEMM_IUTCOPY           gotoblas -> chemm_iutcopy
360 #define CHEMM_ILTCOPY           gotoblas -> chemm_iltcopy
361
362 #define CGEMM3M_ONCOPYB         gotoblas -> cgemm3m_oncopyb
363 #define CGEMM3M_ONCOPYR         gotoblas -> cgemm3m_oncopyr
364 #define CGEMM3M_ONCOPYI         gotoblas -> cgemm3m_oncopyi
365 #define CGEMM3M_OTCOPYB         gotoblas -> cgemm3m_otcopyb
366 #define CGEMM3M_OTCOPYR         gotoblas -> cgemm3m_otcopyr
367 #define CGEMM3M_OTCOPYI         gotoblas -> cgemm3m_otcopyi
368
369 #define CGEMM3M_INCOPYB         gotoblas -> cgemm3m_incopyb
370 #define CGEMM3M_INCOPYR         gotoblas -> cgemm3m_incopyr
371 #define CGEMM3M_INCOPYI         gotoblas -> cgemm3m_incopyi
372 #define CGEMM3M_ITCOPYB         gotoblas -> cgemm3m_itcopyb
373 #define CGEMM3M_ITCOPYR         gotoblas -> cgemm3m_itcopyr
374 #define CGEMM3M_ITCOPYI         gotoblas -> cgemm3m_itcopyi
375
376 #define CSYMM3M_ILCOPYB         gotoblas -> csymm3m_ilcopyb
377 #define CSYMM3M_IUCOPYB         gotoblas -> csymm3m_iucopyb
378 #define CSYMM3M_ILCOPYR         gotoblas -> csymm3m_ilcopyr
379 #define CSYMM3M_IUCOPYR         gotoblas -> csymm3m_iucopyr
380 #define CSYMM3M_ILCOPYI         gotoblas -> csymm3m_ilcopyi
381 #define CSYMM3M_IUCOPYI         gotoblas -> csymm3m_iucopyi
382
383 #define CSYMM3M_OLCOPYB         gotoblas -> csymm3m_olcopyb
384 #define CSYMM3M_OUCOPYB         gotoblas -> csymm3m_oucopyb
385 #define CSYMM3M_OLCOPYR         gotoblas -> csymm3m_olcopyr
386 #define CSYMM3M_OUCOPYR         gotoblas -> csymm3m_oucopyr
387 #define CSYMM3M_OLCOPYI         gotoblas -> csymm3m_olcopyi
388 #define CSYMM3M_OUCOPYI         gotoblas -> csymm3m_oucopyi
389
390 #define CHEMM3M_ILCOPYB         gotoblas -> chemm3m_ilcopyb
391 #define CHEMM3M_IUCOPYB         gotoblas -> chemm3m_iucopyb
392 #define CHEMM3M_ILCOPYR         gotoblas -> chemm3m_ilcopyr
393 #define CHEMM3M_IUCOPYR         gotoblas -> chemm3m_iucopyr
394 #define CHEMM3M_ILCOPYI         gotoblas -> chemm3m_ilcopyi
395 #define CHEMM3M_IUCOPYI         gotoblas -> chemm3m_iucopyi
396
397 #define CHEMM3M_OLCOPYB         gotoblas -> chemm3m_olcopyb
398 #define CHEMM3M_OUCOPYB         gotoblas -> chemm3m_oucopyb
399 #define CHEMM3M_OLCOPYR         gotoblas -> chemm3m_olcopyr
400 #define CHEMM3M_OUCOPYR         gotoblas -> chemm3m_oucopyr
401 #define CHEMM3M_OLCOPYI         gotoblas -> chemm3m_olcopyi
402 #define CHEMM3M_OUCOPYI         gotoblas -> chemm3m_oucopyi
403
404 #define CGEMM3M_KERNEL          gotoblas -> cgemm3m_kernel
405
406 #define CNEG_TCOPY              gotoblas -> cneg_tcopy
407 #define CLASWP_NCOPY            gotoblas -> claswp_ncopy
408
409 #define CAXPBY_K                gotoblas -> caxpby_k
410
411 #define COMATCOPY_K_CN          gotoblas -> comatcopy_k_cn
412 #define COMATCOPY_K_RN          gotoblas -> comatcopy_k_rn
413 #define COMATCOPY_K_CT          gotoblas -> comatcopy_k_ct
414 #define COMATCOPY_K_RT          gotoblas -> comatcopy_k_rt
415 #define COMATCOPY_K_CNC         gotoblas -> comatcopy_k_cnc
416 #define COMATCOPY_K_RNC         gotoblas -> comatcopy_k_rnc
417 #define COMATCOPY_K_CTC         gotoblas -> comatcopy_k_ctc
418 #define COMATCOPY_K_RTC         gotoblas -> comatcopy_k_rtc
419
420 #define CIMATCOPY_K_CN          gotoblas -> cimatcopy_k_cn
421 #define CIMATCOPY_K_RN          gotoblas -> cimatcopy_k_rn
422 #define CIMATCOPY_K_CT          gotoblas -> cimatcopy_k_ct
423 #define CIMATCOPY_K_RT          gotoblas -> cimatcopy_k_rt
424 #define CIMATCOPY_K_CNC         gotoblas -> cimatcopy_k_cnc
425 #define CIMATCOPY_K_RNC         gotoblas -> cimatcopy_k_rnc
426 #define CIMATCOPY_K_CTC         gotoblas -> cimatcopy_k_ctc
427 #define CIMATCOPY_K_RTC         gotoblas -> cimatcopy_k_rtc
428
429 #define CGEADD_K                gotoblas -> cgeadd_k 
430
431 #define CGEMM_SMALL_MATRIX_PERMIT       gotoblas -> cgemm_small_matrix_permit
432
433 #endif
434
435 #define CGEMM_SMALL_KERNEL_NN           FUNC_OFFSET(cgemm_small_kernel_nn)
436 #define CGEMM_SMALL_KERNEL_NT           FUNC_OFFSET(cgemm_small_kernel_nt)
437 #define CGEMM_SMALL_KERNEL_NR           FUNC_OFFSET(cgemm_small_kernel_nr)
438 #define CGEMM_SMALL_KERNEL_NC           FUNC_OFFSET(cgemm_small_kernel_nc)
439
440 #define CGEMM_SMALL_KERNEL_TN           FUNC_OFFSET(cgemm_small_kernel_tn)
441 #define CGEMM_SMALL_KERNEL_TT           FUNC_OFFSET(cgemm_small_kernel_tt)
442 #define CGEMM_SMALL_KERNEL_TR           FUNC_OFFSET(cgemm_small_kernel_tr)
443 #define CGEMM_SMALL_KERNEL_TC           FUNC_OFFSET(cgemm_small_kernel_tc)
444
445 #define CGEMM_SMALL_KERNEL_RN           FUNC_OFFSET(cgemm_small_kernel_rn)
446 #define CGEMM_SMALL_KERNEL_RT           FUNC_OFFSET(cgemm_small_kernel_rt)
447 #define CGEMM_SMALL_KERNEL_RR           FUNC_OFFSET(cgemm_small_kernel_rr)
448 #define CGEMM_SMALL_KERNEL_RC           FUNC_OFFSET(cgemm_small_kernel_rc)
449
450 #define CGEMM_SMALL_KERNEL_CN           FUNC_OFFSET(cgemm_small_kernel_cn)
451 #define CGEMM_SMALL_KERNEL_CT           FUNC_OFFSET(cgemm_small_kernel_ct)
452 #define CGEMM_SMALL_KERNEL_CR           FUNC_OFFSET(cgemm_small_kernel_cr)
453 #define CGEMM_SMALL_KERNEL_CC           FUNC_OFFSET(cgemm_small_kernel_cc)
454
455 #define CGEMM_SMALL_KERNEL_B0_NN        FUNC_OFFSET(cgemm_small_kernel_b0_nn)
456 #define CGEMM_SMALL_KERNEL_B0_NT        FUNC_OFFSET(cgemm_small_kernel_b0_nt)
457 #define CGEMM_SMALL_KERNEL_B0_NR        FUNC_OFFSET(cgemm_small_kernel_b0_nr)
458 #define CGEMM_SMALL_KERNEL_B0_NC        FUNC_OFFSET(cgemm_small_kernel_b0_nc)
459
460 #define CGEMM_SMALL_KERNEL_B0_TN        FUNC_OFFSET(cgemm_small_kernel_b0_tn)
461 #define CGEMM_SMALL_KERNEL_B0_TT        FUNC_OFFSET(cgemm_small_kernel_b0_tt)
462 #define CGEMM_SMALL_KERNEL_B0_TR        FUNC_OFFSET(cgemm_small_kernel_b0_tr)
463 #define CGEMM_SMALL_KERNEL_B0_TC        FUNC_OFFSET(cgemm_small_kernel_b0_tc)
464
465 #define CGEMM_SMALL_KERNEL_B0_RN        FUNC_OFFSET(cgemm_small_kernel_b0_rn)
466 #define CGEMM_SMALL_KERNEL_B0_RT        FUNC_OFFSET(cgemm_small_kernel_b0_rt)
467 #define CGEMM_SMALL_KERNEL_B0_RR        FUNC_OFFSET(cgemm_small_kernel_b0_rr)
468 #define CGEMM_SMALL_KERNEL_B0_RC        FUNC_OFFSET(cgemm_small_kernel_b0_rc)
469
470 #define CGEMM_SMALL_KERNEL_B0_CN        FUNC_OFFSET(cgemm_small_kernel_b0_cn)
471 #define CGEMM_SMALL_KERNEL_B0_CT        FUNC_OFFSET(cgemm_small_kernel_b0_ct)
472 #define CGEMM_SMALL_KERNEL_B0_CR        FUNC_OFFSET(cgemm_small_kernel_b0_cr)
473 #define CGEMM_SMALL_KERNEL_B0_CC        FUNC_OFFSET(cgemm_small_kernel_b0_cc)
474
475
476 #define CGEMM_NN                cgemm_nn
477 #define CGEMM_CN                cgemm_cn
478 #define CGEMM_TN                cgemm_tn
479 #define CGEMM_NC                cgemm_nc
480 #define CGEMM_NT                cgemm_nt
481 #define CGEMM_CC                cgemm_cc
482 #define CGEMM_CT                cgemm_ct
483 #define CGEMM_TC                cgemm_tc
484 #define CGEMM_TT                cgemm_tt
485 #define CGEMM_NR                cgemm_nr
486 #define CGEMM_TR                cgemm_tr
487 #define CGEMM_CR                cgemm_cr
488 #define CGEMM_RN                cgemm_rn
489 #define CGEMM_RT                cgemm_rt
490 #define CGEMM_RC                cgemm_rc
491 #define CGEMM_RR                cgemm_rr
492
493 #define CSYMM_LU                csymm_LU
494 #define CSYMM_LL                csymm_LL
495 #define CSYMM_RU                csymm_RU
496 #define CSYMM_RL                csymm_RL
497
498 #define CHEMM_LU                chemm_LU
499 #define CHEMM_LL                chemm_LL
500 #define CHEMM_RU                chemm_RU
501 #define CHEMM_RL                chemm_RL
502
503 #define CSYRK_UN                csyrk_UN
504 #define CSYRK_UT                csyrk_UT
505 #define CSYRK_LN                csyrk_LN
506 #define CSYRK_LT                csyrk_LT
507 #define CSYRK_UR                csyrk_UN
508 #define CSYRK_UC                csyrk_UT
509 #define CSYRK_LR                csyrk_LN
510 #define CSYRK_LC                csyrk_LT
511
512 #define CSYRK_KERNEL_U          csyrk_kernel_U
513 #define CSYRK_KERNEL_L          csyrk_kernel_L
514
515 #define CHERK_UN                cherk_UN
516 #define CHERK_LN                cherk_LN
517 #define CHERK_UC                cherk_UC
518 #define CHERK_LC                cherk_LC
519
520 #define CHER2K_UN               cher2k_UN
521 #define CHER2K_LN               cher2k_LN
522 #define CHER2K_UC               cher2k_UC
523 #define CHER2K_LC               cher2k_LC
524
525 #define CSYR2K_UN               csyr2k_UN
526 #define CSYR2K_UT               csyr2k_UT
527 #define CSYR2K_LN               csyr2k_LN
528 #define CSYR2K_LT               csyr2k_LT
529 #define CSYR2K_UR               csyr2k_UN
530 #define CSYR2K_UC               csyr2k_UT
531 #define CSYR2K_LR               csyr2k_LN
532 #define CSYR2K_LC               csyr2k_LT
533
534 #define CSYR2K_KERNEL_U         csyr2k_kernel_U
535 #define CSYR2K_KERNEL_L         csyr2k_kernel_L
536
537 #define CTRMM_LNUU              ctrmm_LNUU
538 #define CTRMM_LNUN              ctrmm_LNUN
539 #define CTRMM_LNLU              ctrmm_LNLU
540 #define CTRMM_LNLN              ctrmm_LNLN
541 #define CTRMM_LTUU              ctrmm_LTUU
542 #define CTRMM_LTUN              ctrmm_LTUN
543 #define CTRMM_LTLU              ctrmm_LTLU
544 #define CTRMM_LTLN              ctrmm_LTLN
545 #define CTRMM_LRUU              ctrmm_LRUU
546 #define CTRMM_LRUN              ctrmm_LRUN
547 #define CTRMM_LRLU              ctrmm_LRLU
548 #define CTRMM_LRLN              ctrmm_LRLN
549 #define CTRMM_LCUU              ctrmm_LCUU
550 #define CTRMM_LCUN              ctrmm_LCUN
551 #define CTRMM_LCLU              ctrmm_LCLU
552 #define CTRMM_LCLN              ctrmm_LCLN
553 #define CTRMM_RNUU              ctrmm_RNUU
554 #define CTRMM_RNUN              ctrmm_RNUN
555 #define CTRMM_RNLU              ctrmm_RNLU
556 #define CTRMM_RNLN              ctrmm_RNLN
557 #define CTRMM_RTUU              ctrmm_RTUU
558 #define CTRMM_RTUN              ctrmm_RTUN
559 #define CTRMM_RTLU              ctrmm_RTLU
560 #define CTRMM_RTLN              ctrmm_RTLN
561 #define CTRMM_RRUU              ctrmm_RRUU
562 #define CTRMM_RRUN              ctrmm_RRUN
563 #define CTRMM_RRLU              ctrmm_RRLU
564 #define CTRMM_RRLN              ctrmm_RRLN
565 #define CTRMM_RCUU              ctrmm_RCUU
566 #define CTRMM_RCUN              ctrmm_RCUN
567 #define CTRMM_RCLU              ctrmm_RCLU
568 #define CTRMM_RCLN              ctrmm_RCLN
569
570 #define CTRSM_LNUU              ctrsm_LNUU
571 #define CTRSM_LNUN              ctrsm_LNUN
572 #define CTRSM_LNLU              ctrsm_LNLU
573 #define CTRSM_LNLN              ctrsm_LNLN
574 #define CTRSM_LTUU              ctrsm_LTUU
575 #define CTRSM_LTUN              ctrsm_LTUN
576 #define CTRSM_LTLU              ctrsm_LTLU
577 #define CTRSM_LTLN              ctrsm_LTLN
578 #define CTRSM_LRUU              ctrsm_LRUU
579 #define CTRSM_LRUN              ctrsm_LRUN
580 #define CTRSM_LRLU              ctrsm_LRLU
581 #define CTRSM_LRLN              ctrsm_LRLN
582 #define CTRSM_LCUU              ctrsm_LCUU
583 #define CTRSM_LCUN              ctrsm_LCUN
584 #define CTRSM_LCLU              ctrsm_LCLU
585 #define CTRSM_LCLN              ctrsm_LCLN
586 #define CTRSM_RNUU              ctrsm_RNUU
587 #define CTRSM_RNUN              ctrsm_RNUN
588 #define CTRSM_RNLU              ctrsm_RNLU
589 #define CTRSM_RNLN              ctrsm_RNLN
590 #define CTRSM_RTUU              ctrsm_RTUU
591 #define CTRSM_RTUN              ctrsm_RTUN
592 #define CTRSM_RTLU              ctrsm_RTLU
593 #define CTRSM_RTLN              ctrsm_RTLN
594 #define CTRSM_RRUU              ctrsm_RRUU
595 #define CTRSM_RRUN              ctrsm_RRUN
596 #define CTRSM_RRLU              ctrsm_RRLU
597 #define CTRSM_RRLN              ctrsm_RRLN
598 #define CTRSM_RCUU              ctrsm_RCUU
599 #define CTRSM_RCUN              ctrsm_RCUN
600 #define CTRSM_RCLU              ctrsm_RCLU
601 #define CTRSM_RCLN              ctrsm_RCLN
602
603 #define CGEMM_THREAD_NN         cgemm_thread_nn
604 #define CGEMM_THREAD_CN         cgemm_thread_cn
605 #define CGEMM_THREAD_TN         cgemm_thread_tn
606 #define CGEMM_THREAD_NC         cgemm_thread_nc
607 #define CGEMM_THREAD_NT         cgemm_thread_nt
608 #define CGEMM_THREAD_CC         cgemm_thread_cc
609 #define CGEMM_THREAD_CT         cgemm_thread_ct
610 #define CGEMM_THREAD_TC         cgemm_thread_tc
611 #define CGEMM_THREAD_TT         cgemm_thread_tt
612 #define CGEMM_THREAD_NR         cgemm_thread_nr
613 #define CGEMM_THREAD_TR         cgemm_thread_tr
614 #define CGEMM_THREAD_CR         cgemm_thread_cr
615 #define CGEMM_THREAD_RN         cgemm_thread_rn
616 #define CGEMM_THREAD_RT         cgemm_thread_rt
617 #define CGEMM_THREAD_RC         cgemm_thread_rc
618 #define CGEMM_THREAD_RR         cgemm_thread_rr
619
620 #define CSYMM_THREAD_LU         csymm_thread_LU
621 #define CSYMM_THREAD_LL         csymm_thread_LL
622 #define CSYMM_THREAD_RU         csymm_thread_RU
623 #define CSYMM_THREAD_RL         csymm_thread_RL
624
625 #define CHEMM_THREAD_LU         chemm_thread_LU
626 #define CHEMM_THREAD_LL         chemm_thread_LL
627 #define CHEMM_THREAD_RU         chemm_thread_RU
628 #define CHEMM_THREAD_RL         chemm_thread_RL
629
630 #define CSYRK_THREAD_UN         csyrk_thread_UN
631 #define CSYRK_THREAD_UT         csyrk_thread_UT
632 #define CSYRK_THREAD_LN         csyrk_thread_LN
633 #define CSYRK_THREAD_LT         csyrk_thread_LT
634 #define CSYRK_THREAD_UR         csyrk_thread_UN
635 #define CSYRK_THREAD_UC         csyrk_thread_UT
636 #define CSYRK_THREAD_LR         csyrk_thread_LN
637 #define CSYRK_THREAD_LC         csyrk_thread_LT
638
639 #define CHERK_THREAD_UN         cherk_thread_UN
640 #define CHERK_THREAD_UT         cherk_thread_UT
641 #define CHERK_THREAD_LN         cherk_thread_LN
642 #define CHERK_THREAD_LT         cherk_thread_LT
643 #define CHERK_THREAD_UR         cherk_thread_UR
644 #define CHERK_THREAD_UC         cherk_thread_UC
645 #define CHERK_THREAD_LR         cherk_thread_LR
646 #define CHERK_THREAD_LC         cherk_thread_LC
647
648 #define CGEMM3M_NN              cgemm3m_nn
649 #define CGEMM3M_CN              cgemm3m_cn
650 #define CGEMM3M_TN              cgemm3m_tn
651 #define CGEMM3M_NC              cgemm3m_nc
652 #define CGEMM3M_NT              cgemm3m_nt
653 #define CGEMM3M_CC              cgemm3m_cc
654 #define CGEMM3M_CT              cgemm3m_ct
655 #define CGEMM3M_TC              cgemm3m_tc
656 #define CGEMM3M_TT              cgemm3m_tt
657 #define CGEMM3M_NR              cgemm3m_nr
658 #define CGEMM3M_TR              cgemm3m_tr
659 #define CGEMM3M_CR              cgemm3m_cr
660 #define CGEMM3M_RN              cgemm3m_rn
661 #define CGEMM3M_RT              cgemm3m_rt
662 #define CGEMM3M_RC              cgemm3m_rc
663 #define CGEMM3M_RR              cgemm3m_rr
664
665 #define CGEMM3M_THREAD_NN       cgemm3m_thread_nn
666 #define CGEMM3M_THREAD_CN       cgemm3m_thread_cn
667 #define CGEMM3M_THREAD_TN       cgemm3m_thread_tn
668 #define CGEMM3M_THREAD_NC       cgemm3m_thread_nc
669 #define CGEMM3M_THREAD_NT       cgemm3m_thread_nt
670 #define CGEMM3M_THREAD_CC       cgemm3m_thread_cc
671 #define CGEMM3M_THREAD_CT       cgemm3m_thread_ct
672 #define CGEMM3M_THREAD_TC       cgemm3m_thread_tc
673 #define CGEMM3M_THREAD_TT       cgemm3m_thread_tt
674 #define CGEMM3M_THREAD_NR       cgemm3m_thread_nr
675 #define CGEMM3M_THREAD_TR       cgemm3m_thread_tr
676 #define CGEMM3M_THREAD_CR       cgemm3m_thread_cr
677 #define CGEMM3M_THREAD_RN       cgemm3m_thread_rn
678 #define CGEMM3M_THREAD_RT       cgemm3m_thread_rt
679 #define CGEMM3M_THREAD_RC       cgemm3m_thread_rc
680 #define CGEMM3M_THREAD_RR       cgemm3m_thread_rr
681
682 #define CSYMM3M_LU              csymm3m_LU
683 #define CSYMM3M_LL              csymm3m_LL
684 #define CSYMM3M_RU              csymm3m_RU
685 #define CSYMM3M_RL              csymm3m_RL
686
687 #define CSYMM3M_THREAD_LU       csymm3m_thread_LU
688 #define CSYMM3M_THREAD_LL       csymm3m_thread_LL
689 #define CSYMM3M_THREAD_RU       csymm3m_thread_RU
690 #define CSYMM3M_THREAD_RL       csymm3m_thread_RL
691
692 #define CHEMM3M_LU              chemm3m_LU
693 #define CHEMM3M_LL              chemm3m_LL
694 #define CHEMM3M_RU              chemm3m_RU
695 #define CHEMM3M_RL              chemm3m_RL
696
697 #define CHEMM3M_THREAD_LU       chemm3m_thread_LU
698 #define CHEMM3M_THREAD_LL       chemm3m_thread_LL
699 #define CHEMM3M_THREAD_RU       chemm3m_thread_RU
700 #define CHEMM3M_THREAD_RL       chemm3m_thread_RL
701
702 #endif