Optimize cdot function for POWER10
[platform/upstream/openblas.git] / common_macro.h
1 /*********************************************************************/
2 /* Copyright 2009, 2010 The University of Texas at Austin.           */
3 /* All rights reserved.                                              */
4 /*                                                                   */
5 /* Redistribution and use in source and binary forms, with or        */
6 /* without modification, are permitted provided that the following   */
7 /* conditions are met:                                               */
8 /*                                                                   */
9 /*   1. Redistributions of source code must retain the above         */
10 /*      copyright notice, this list of conditions and the following  */
11 /*      disclaimer.                                                  */
12 /*                                                                   */
13 /*   2. Redistributions in binary form must reproduce the above      */
14 /*      copyright notice, this list of conditions and the following  */
15 /*      disclaimer in the documentation and/or other materials       */
16 /*      provided with the distribution.                              */
17 /*                                                                   */
18 /*    THIS  SOFTWARE IS PROVIDED  BY THE  UNIVERSITY OF  TEXAS AT    */
19 /*    AUSTIN  ``AS IS''  AND ANY  EXPRESS OR  IMPLIED WARRANTIES,    */
20 /*    INCLUDING, BUT  NOT LIMITED  TO, THE IMPLIED  WARRANTIES OF    */
21 /*    MERCHANTABILITY  AND FITNESS FOR  A PARTICULAR  PURPOSE ARE    */
22 /*    DISCLAIMED.  IN  NO EVENT SHALL THE UNIVERSITY  OF TEXAS AT    */
23 /*    AUSTIN OR CONTRIBUTORS BE  LIABLE FOR ANY DIRECT, INDIRECT,    */
24 /*    INCIDENTAL,  SPECIAL, EXEMPLARY,  OR  CONSEQUENTIAL DAMAGES    */
25 /*    (INCLUDING, BUT  NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE    */
26 /*    GOODS  OR  SERVICES; LOSS  OF  USE,  DATA,  OR PROFITS;  OR    */
27 /*    BUSINESS INTERRUPTION) HOWEVER CAUSED  AND ON ANY THEORY OF    */
28 /*    LIABILITY, WHETHER  IN CONTRACT, STRICT  LIABILITY, OR TORT    */
29 /*    (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING IN ANY WAY OUT    */
30 /*    OF  THE  USE OF  THIS  SOFTWARE,  EVEN  IF ADVISED  OF  THE    */
31 /*    POSSIBILITY OF SUCH DAMAGE.                                    */
32 /*                                                                   */
33 /* The views and conclusions contained in the software and           */
34 /* documentation are those of the authors and should not be          */
35 /* interpreted as representing official policies, either expressed   */
36 /* or implied, of The University of Texas at Austin.                 */
37 /*********************************************************************/
38
39 #ifndef COMMON_MACRO
40 #define COMMON_MACRO
41
42 #include "common_sb.h"
43 #include "common_s.h"
44 #include "common_d.h"
45 #include "common_q.h"
46
47 #include "common_c.h"
48 #include "common_z.h"
49 #include "common_x.h"
50
51 #ifndef COMPLEX
52 #ifdef XDOUBLE
53
54 #define AMAX_K                  QAMAX_K
55 #define AMIN_K                  QAMIN_K
56 #define MAX_K                   QMAX_K
57 #define MIN_K                   QMIN_K
58 #define IAMAX_K                 IQAMAX_K
59 #define IAMIN_K                 IQAMIN_K
60 #define IMAX_K                  IQMAX_K
61 #define IMIN_K                  IQMIN_K
62 #define ASUM_K                  QASUM_K
63 #define AXPYU_K                 QAXPYU_K
64 #define AXPYC_K                 QAXPYC_K
65 #define COPY_K                  QCOPY_K
66 #define DOTU_K                  QDOTU_K
67 #define DOTC_K                  QDOTC_K
68 #define NRM2_K                  QNRM2_K
69 #define SCAL_K                  QSCAL_K
70 #define SUM_K                   QSUM_K
71 #define SWAP_K                  QSWAP_K
72 #define ROT_K                   QROT_K
73
74 #define GEMV_N                  QGEMV_N
75 #define GEMV_T                  QGEMV_T
76 #define GEMV_R                  QGEMV_R
77 #define GEMV_C                  QGEMV_C
78 #define GEMV_O                  QGEMV_O
79 #define GEMV_U                  QGEMV_U
80 #define GEMV_S                  QGEMV_S
81 #define GEMV_D                  QGEMV_D
82
83 #define GERU_K                  QGERU_K
84 #define GERC_K                  QGERC_K
85 #define GERV_K                  QGERV_K
86 #define GERD_K                  QGERD_K
87
88 #define SYMV_U                  QSYMV_U
89 #define SYMV_L                  QSYMV_L
90
91 #define SYMV_THREAD_U           QSYMV_THREAD_U
92 #define SYMV_THREAD_L           QSYMV_THREAD_L
93
94 #define GEMM_ONCOPY             QGEMM_ONCOPY
95 #define GEMM_OTCOPY             QGEMM_OTCOPY
96 #define GEMM_INCOPY             QGEMM_INCOPY
97 #define GEMM_ITCOPY             QGEMM_ITCOPY
98
99 #ifdef UNIT
100
101 #define TRMM_OUNCOPY            QTRMM_OUNUCOPY
102 #define TRMM_OUTCOPY            QTRMM_OUTUCOPY
103 #define TRMM_OLNCOPY            QTRMM_OLNUCOPY
104 #define TRMM_OLTCOPY            QTRMM_OLTUCOPY
105 #define TRSM_OUNCOPY            QTRSM_OUNUCOPY
106 #define TRSM_OUTCOPY            QTRSM_OUTUCOPY
107 #define TRSM_OLNCOPY            QTRSM_OLNUCOPY
108 #define TRSM_OLTCOPY            QTRSM_OLTUCOPY
109
110 #define TRMM_IUNCOPY            QTRMM_IUNUCOPY
111 #define TRMM_IUTCOPY            QTRMM_IUTUCOPY
112 #define TRMM_ILNCOPY            QTRMM_ILNUCOPY
113 #define TRMM_ILTCOPY            QTRMM_ILTUCOPY
114 #define TRSM_IUNCOPY            QTRSM_IUNUCOPY
115 #define TRSM_IUTCOPY            QTRSM_IUTUCOPY
116 #define TRSM_ILNCOPY            QTRSM_ILNUCOPY
117 #define TRSM_ILTCOPY            QTRSM_ILTUCOPY
118
119 #else
120
121 #define TRMM_OUNCOPY            QTRMM_OUNNCOPY
122 #define TRMM_OUTCOPY            QTRMM_OUTNCOPY
123 #define TRMM_OLNCOPY            QTRMM_OLNNCOPY
124 #define TRMM_OLTCOPY            QTRMM_OLTNCOPY
125 #define TRSM_OUNCOPY            QTRSM_OUNNCOPY
126 #define TRSM_OUTCOPY            QTRSM_OUTNCOPY
127 #define TRSM_OLNCOPY            QTRSM_OLNNCOPY
128 #define TRSM_OLTCOPY            QTRSM_OLTNCOPY
129
130 #define TRMM_IUNCOPY            QTRMM_IUNNCOPY
131 #define TRMM_IUTCOPY            QTRMM_IUTNCOPY
132 #define TRMM_ILNCOPY            QTRMM_ILNNCOPY
133 #define TRMM_ILTCOPY            QTRMM_ILTNCOPY
134 #define TRSM_IUNCOPY            QTRSM_IUNNCOPY
135 #define TRSM_IUTCOPY            QTRSM_IUTNCOPY
136 #define TRSM_ILNCOPY            QTRSM_ILNNCOPY
137 #define TRSM_ILTCOPY            QTRSM_ILTNCOPY
138
139 #endif
140
141 #define GEMM_BETA               QGEMM_BETA
142
143 #define GEMM_KERNEL_N           QGEMM_KERNEL
144 #define GEMM_KERNEL_L           QGEMM_KERNEL
145 #define GEMM_KERNEL_R           QGEMM_KERNEL
146 #define GEMM_KERNEL_B           QGEMM_KERNEL
147
148 #define TRMM_KERNEL_LN          QTRMM_KERNEL_LN
149 #define TRMM_KERNEL_LT          QTRMM_KERNEL_LT
150 #define TRMM_KERNEL_LR          QTRMM_KERNEL_LN
151 #define TRMM_KERNEL_LC          QTRMM_KERNEL_LT
152 #define TRMM_KERNEL_RN          QTRMM_KERNEL_RN
153 #define TRMM_KERNEL_RT          QTRMM_KERNEL_RT
154 #define TRMM_KERNEL_RR          QTRMM_KERNEL_RN
155 #define TRMM_KERNEL_RC          QTRMM_KERNEL_RT
156
157 #define TRSM_KERNEL_LN          QTRSM_KERNEL_LN
158 #define TRSM_KERNEL_LT          QTRSM_KERNEL_LT
159 #define TRSM_KERNEL_LR          QTRSM_KERNEL_LN
160 #define TRSM_KERNEL_LC          QTRSM_KERNEL_LT
161 #define TRSM_KERNEL_RN          QTRSM_KERNEL_RN
162 #define TRSM_KERNEL_RT          QTRSM_KERNEL_RT
163 #define TRSM_KERNEL_RR          QTRSM_KERNEL_RN
164 #define TRSM_KERNEL_RC          QTRSM_KERNEL_RT
165
166 #define SYMM_IUTCOPY            QSYMM_IUTCOPY
167 #define SYMM_ILTCOPY            QSYMM_ILTCOPY
168 #define SYMM_OUTCOPY            QSYMM_OUTCOPY
169 #define SYMM_OLTCOPY            QSYMM_OLTCOPY
170
171 #define GEMM_NN                 QGEMM_NN
172 #define GEMM_CN                 QGEMM_TN
173 #define GEMM_TN                 QGEMM_TN
174 #define GEMM_NC                 QGEMM_NT
175 #define GEMM_NT                 QGEMM_NT
176 #define GEMM_CC                 QGEMM_TT
177 #define GEMM_CT                 QGEMM_TT
178 #define GEMM_TC                 QGEMM_TT
179 #define GEMM_TT                 QGEMM_TT
180 #define GEMM_NR                 QGEMM_NN
181 #define GEMM_TR                 QGEMM_TN
182 #define GEMM_CR                 QGEMM_TN
183 #define GEMM_RN                 QGEMM_NN
184 #define GEMM_RT                 QGEMM_NT
185 #define GEMM_RC                 QGEMM_NT
186 #define GEMM_RR                 QGEMM_NN
187
188 #define SYMM_LU                 QSYMM_LU
189 #define SYMM_LL                 QSYMM_LL
190 #define SYMM_RU                 QSYMM_RU
191 #define SYMM_RL                 QSYMM_RL
192
193 #define HEMM_LU                 QHEMM_LU
194 #define HEMM_LL                 QHEMM_LL
195 #define HEMM_RU                 QHEMM_RU
196 #define HEMM_RL                 QHEMM_RL
197
198 #define SYRK_UN                 QSYRK_UN
199 #define SYRK_UT                 QSYRK_UT
200 #define SYRK_LN                 QSYRK_LN
201 #define SYRK_LT                 QSYRK_LT
202 #define SYRK_UR                 QSYRK_UN
203 #define SYRK_UC                 QSYRK_UT
204 #define SYRK_LR                 QSYRK_LN
205 #define SYRK_LC                 QSYRK_LT
206
207 #define SYRK_KERNEL_U           QSYRK_KERNEL_U
208 #define SYRK_KERNEL_L           QSYRK_KERNEL_L
209
210 #define HERK_UN                 QSYRK_UN
211 #define HERK_LN                 QSYRK_LN
212 #define HERK_UC                 QSYRK_UT
213 #define HERK_LC                 QSYRK_LT
214
215 #define HER2K_UN                QSYR2K_UN
216 #define HER2K_LN                QSYR2K_LN
217 #define HER2K_UC                QSYR2K_UT
218 #define HER2K_LC                QSYR2K_LT
219
220 #define SYR2K_UN                QSYR2K_UN
221 #define SYR2K_UT                QSYR2K_UT
222 #define SYR2K_LN                QSYR2K_LN
223 #define SYR2K_LT                QSYR2K_LT
224 #define SYR2K_UR                QSYR2K_UN
225 #define SYR2K_UC                QSYR2K_UT
226 #define SYR2K_LR                QSYR2K_LN
227 #define SYR2K_LC                QSYR2K_LT
228
229 #define SYR2K_KERNEL_U          QSYR2K_KERNEL_U
230 #define SYR2K_KERNEL_L          QSYR2K_KERNEL_L
231
232 #define TRMM_LNUU               QTRMM_LNUU
233 #define TRMM_LNUN               QTRMM_LNUN
234 #define TRMM_LNLU               QTRMM_LNLU
235 #define TRMM_LNLN               QTRMM_LNLN
236 #define TRMM_LTUU               QTRMM_LTUU
237 #define TRMM_LTUN               QTRMM_LTUN
238 #define TRMM_LTLU               QTRMM_LTLU
239 #define TRMM_LTLN               QTRMM_LTLN
240 #define TRMM_LRUU               QTRMM_LNUU
241 #define TRMM_LRUN               QTRMM_LNUN
242 #define TRMM_LRLU               QTRMM_LNLU
243 #define TRMM_LRLN               QTRMM_LNLN
244 #define TRMM_LCUU               QTRMM_LTUU
245 #define TRMM_LCUN               QTRMM_LTUN
246 #define TRMM_LCLU               QTRMM_LTLU
247 #define TRMM_LCLN               QTRMM_LTLN
248 #define TRMM_RNUU               QTRMM_RNUU
249 #define TRMM_RNUN               QTRMM_RNUN
250 #define TRMM_RNLU               QTRMM_RNLU
251 #define TRMM_RNLN               QTRMM_RNLN
252 #define TRMM_RTUU               QTRMM_RTUU
253 #define TRMM_RTUN               QTRMM_RTUN
254 #define TRMM_RTLU               QTRMM_RTLU
255 #define TRMM_RTLN               QTRMM_RTLN
256 #define TRMM_RRUU               QTRMM_RNUU
257 #define TRMM_RRUN               QTRMM_RNUN
258 #define TRMM_RRLU               QTRMM_RNLU
259 #define TRMM_RRLN               QTRMM_RNLN
260 #define TRMM_RCUU               QTRMM_RTUU
261 #define TRMM_RCUN               QTRMM_RTUN
262 #define TRMM_RCLU               QTRMM_RTLU
263 #define TRMM_RCLN               QTRMM_RTLN
264
265 #define TRSM_LNUU               QTRSM_LNUU
266 #define TRSM_LNUN               QTRSM_LNUN
267 #define TRSM_LNLU               QTRSM_LNLU
268 #define TRSM_LNLN               QTRSM_LNLN
269 #define TRSM_LTUU               QTRSM_LTUU
270 #define TRSM_LTUN               QTRSM_LTUN
271 #define TRSM_LTLU               QTRSM_LTLU
272 #define TRSM_LTLN               QTRSM_LTLN
273 #define TRSM_LRUU               QTRSM_LNUU
274 #define TRSM_LRUN               QTRSM_LNUN
275 #define TRSM_LRLU               QTRSM_LNLU
276 #define TRSM_LRLN               QTRSM_LNLN
277 #define TRSM_LCUU               QTRSM_LTUU
278 #define TRSM_LCUN               QTRSM_LTUN
279 #define TRSM_LCLU               QTRSM_LTLU
280 #define TRSM_LCLN               QTRSM_LTLN
281 #define TRSM_RNUU               QTRSM_RNUU
282 #define TRSM_RNUN               QTRSM_RNUN
283 #define TRSM_RNLU               QTRSM_RNLU
284 #define TRSM_RNLN               QTRSM_RNLN
285 #define TRSM_RTUU               QTRSM_RTUU
286 #define TRSM_RTUN               QTRSM_RTUN
287 #define TRSM_RTLU               QTRSM_RTLU
288 #define TRSM_RTLN               QTRSM_RTLN
289 #define TRSM_RRUU               QTRSM_RNUU
290 #define TRSM_RRUN               QTRSM_RNUN
291 #define TRSM_RRLU               QTRSM_RNLU
292 #define TRSM_RRLN               QTRSM_RNLN
293 #define TRSM_RCUU               QTRSM_RTUU
294 #define TRSM_RCUN               QTRSM_RTUN
295 #define TRSM_RCLU               QTRSM_RTLU
296 #define TRSM_RCLN               QTRSM_RTLN
297
298 #define GEMM_THREAD_NN          QGEMM_THREAD_NN
299 #define GEMM_THREAD_CN          QGEMM_THREAD_TN
300 #define GEMM_THREAD_TN          QGEMM_THREAD_TN
301 #define GEMM_THREAD_NC          QGEMM_THREAD_NT
302 #define GEMM_THREAD_NT          QGEMM_THREAD_NT
303 #define GEMM_THREAD_CC          QGEMM_THREAD_TT
304 #define GEMM_THREAD_CT          QGEMM_THREAD_TT
305 #define GEMM_THREAD_TC          QGEMM_THREAD_TT
306 #define GEMM_THREAD_TT          QGEMM_THREAD_TT
307 #define GEMM_THREAD_NR          QGEMM_THREAD_NN
308 #define GEMM_THREAD_TR          QGEMM_THREAD_TN
309 #define GEMM_THREAD_CR          QGEMM_THREAD_TN
310 #define GEMM_THREAD_RN          QGEMM_THREAD_NN
311 #define GEMM_THREAD_RT          QGEMM_THREAD_NT
312 #define GEMM_THREAD_RC          QGEMM_THREAD_NT
313 #define GEMM_THREAD_RR          QGEMM_THREAD_NN
314
315 #define SYMM_THREAD_LU          QSYMM_THREAD_LU
316 #define SYMM_THREAD_LL          QSYMM_THREAD_LL
317 #define SYMM_THREAD_RU          QSYMM_THREAD_RU
318 #define SYMM_THREAD_RL          QSYMM_THREAD_RL
319
320 #define HEMM_THREAD_LU          QHEMM_THREAD_LU
321 #define HEMM_THREAD_LL          QHEMM_THREAD_LL
322 #define HEMM_THREAD_RU          QHEMM_THREAD_RU
323 #define HEMM_THREAD_RL          QHEMM_THREAD_RL
324
325 #define SYRK_THREAD_UN          QSYRK_THREAD_UN
326 #define SYRK_THREAD_UT          QSYRK_THREAD_UT
327 #define SYRK_THREAD_LN          QSYRK_THREAD_LN
328 #define SYRK_THREAD_LT          QSYRK_THREAD_LT
329 #define SYRK_THREAD_UR          QSYRK_THREAD_UR
330 #define SYRK_THREAD_UC          QSYRK_THREAD_UC
331 #define SYRK_THREAD_LR          QSYRK_THREAD_LN
332 #define SYRK_THREAD_LC          QSYRK_THREAD_LT
333
334 #define HERK_THREAD_UN          QSYRK_THREAD_UN
335 #define HERK_THREAD_UT          QSYRK_THREAD_UT
336 #define HERK_THREAD_LN          QSYRK_THREAD_LN
337 #define HERK_THREAD_LT          QSYRK_THREAD_LT
338 #define HERK_THREAD_UR          QSYRK_THREAD_UR
339 #define HERK_THREAD_UC          QSYRK_THREAD_UC
340 #define HERK_THREAD_LR          QSYRK_THREAD_LN
341 #define HERK_THREAD_LC          QSYRK_THREAD_LT
342
343 #elif defined(DOUBLE)
344
345 #define AMAX_K                  DAMAX_K
346 #define AMIN_K                  DAMIN_K
347 #define MAX_K                   DMAX_K
348 #define MIN_K                   DMIN_K
349 #define IAMAX_K                 IDAMAX_K
350 #define IAMIN_K                 IDAMIN_K
351 #define IMAX_K                  IDMAX_K
352 #define IMIN_K                  IDMIN_K
353 #define ASUM_K                  DASUM_K
354 #define AXPYU_K                 DAXPYU_K
355 #define AXPYC_K                 DAXPYC_K
356 #define COPY_K                  DCOPY_K
357 #define DOTU_K                  DDOTU_K
358 #define DOTC_K                  DDOTC_K
359 #define NRM2_K                  DNRM2_K
360 #define SCAL_K                  DSCAL_K
361 #define SUM_K                   DSUM_K
362 #define SWAP_K                  DSWAP_K
363 #define ROT_K                   DROT_K
364
365 #define GEMV_N                  DGEMV_N
366 #define GEMV_T                  DGEMV_T
367 #define GEMV_R                  DGEMV_R
368 #define GEMV_C                  DGEMV_C
369 #define GEMV_O                  DGEMV_O
370 #define GEMV_U                  DGEMV_U
371 #define GEMV_S                  DGEMV_S
372 #define GEMV_D                  DGEMV_D
373
374 #define GERU_K                  DGERU_K
375 #define GERC_K                  DGERC_K
376 #define GERV_K                  DGERV_K
377 #define GERD_K                  DGERD_K
378
379 #define SYMV_U                  DSYMV_U
380 #define SYMV_L                  DSYMV_L
381
382 #define SYMV_THREAD_U           DSYMV_THREAD_U
383 #define SYMV_THREAD_L           DSYMV_THREAD_L
384
385 #define GEMM_ONCOPY             DGEMM_ONCOPY
386 #define GEMM_OTCOPY             DGEMM_OTCOPY
387 #define GEMM_INCOPY             DGEMM_INCOPY
388 #define GEMM_ITCOPY             DGEMM_ITCOPY
389
390 #ifdef UNIT
391
392 #define TRMM_OUNCOPY            DTRMM_OUNUCOPY
393 #define TRMM_OUTCOPY            DTRMM_OUTUCOPY
394 #define TRMM_OLNCOPY            DTRMM_OLNUCOPY
395 #define TRMM_OLTCOPY            DTRMM_OLTUCOPY
396 #define TRSM_OUNCOPY            DTRSM_OUNUCOPY
397 #define TRSM_OUTCOPY            DTRSM_OUTUCOPY
398 #define TRSM_OLNCOPY            DTRSM_OLNUCOPY
399 #define TRSM_OLTCOPY            DTRSM_OLTUCOPY
400
401 #define TRMM_IUNCOPY            DTRMM_IUNUCOPY
402 #define TRMM_IUTCOPY            DTRMM_IUTUCOPY
403 #define TRMM_ILNCOPY            DTRMM_ILNUCOPY
404 #define TRMM_ILTCOPY            DTRMM_ILTUCOPY
405 #define TRSM_IUNCOPY            DTRSM_IUNUCOPY
406 #define TRSM_IUTCOPY            DTRSM_IUTUCOPY
407 #define TRSM_ILNCOPY            DTRSM_ILNUCOPY
408 #define TRSM_ILTCOPY            DTRSM_ILTUCOPY
409
410 #else
411
412 #define TRMM_OUNCOPY            DTRMM_OUNNCOPY
413 #define TRMM_OUTCOPY            DTRMM_OUTNCOPY
414 #define TRMM_OLNCOPY            DTRMM_OLNNCOPY
415 #define TRMM_OLTCOPY            DTRMM_OLTNCOPY
416 #define TRSM_OUNCOPY            DTRSM_OUNNCOPY
417 #define TRSM_OUTCOPY            DTRSM_OUTNCOPY
418 #define TRSM_OLNCOPY            DTRSM_OLNNCOPY
419 #define TRSM_OLTCOPY            DTRSM_OLTNCOPY
420
421 #define TRMM_IUNCOPY            DTRMM_IUNNCOPY
422 #define TRMM_IUTCOPY            DTRMM_IUTNCOPY
423 #define TRMM_ILNCOPY            DTRMM_ILNNCOPY
424 #define TRMM_ILTCOPY            DTRMM_ILTNCOPY
425 #define TRSM_IUNCOPY            DTRSM_IUNNCOPY
426 #define TRSM_IUTCOPY            DTRSM_IUTNCOPY
427 #define TRSM_ILNCOPY            DTRSM_ILNNCOPY
428 #define TRSM_ILTCOPY            DTRSM_ILTNCOPY
429
430 #endif
431
432 #define GEMM_BETA               DGEMM_BETA
433
434 #define GEMM_KERNEL_N           DGEMM_KERNEL
435 #define GEMM_KERNEL_L           DGEMM_KERNEL
436 #define GEMM_KERNEL_R           DGEMM_KERNEL
437 #define GEMM_KERNEL_B           DGEMM_KERNEL
438
439 #define TRMM_KERNEL_LN          DTRMM_KERNEL_LN
440 #define TRMM_KERNEL_LT          DTRMM_KERNEL_LT
441 #define TRMM_KERNEL_LR          DTRMM_KERNEL_LN
442 #define TRMM_KERNEL_LC          DTRMM_KERNEL_LT
443 #define TRMM_KERNEL_RN          DTRMM_KERNEL_RN
444 #define TRMM_KERNEL_RT          DTRMM_KERNEL_RT
445 #define TRMM_KERNEL_RR          DTRMM_KERNEL_RN
446 #define TRMM_KERNEL_RC          DTRMM_KERNEL_RT
447
448 #define TRSM_KERNEL_LN          DTRSM_KERNEL_LN
449 #define TRSM_KERNEL_LT          DTRSM_KERNEL_LT
450 #define TRSM_KERNEL_LR          DTRSM_KERNEL_LN
451 #define TRSM_KERNEL_LC          DTRSM_KERNEL_LT
452 #define TRSM_KERNEL_RN          DTRSM_KERNEL_RN
453 #define TRSM_KERNEL_RT          DTRSM_KERNEL_RT
454 #define TRSM_KERNEL_RR          DTRSM_KERNEL_RN
455 #define TRSM_KERNEL_RC          DTRSM_KERNEL_RT
456
457 #define SYMM_IUTCOPY            DSYMM_IUTCOPY
458 #define SYMM_ILTCOPY            DSYMM_ILTCOPY
459 #define SYMM_OUTCOPY            DSYMM_OUTCOPY
460 #define SYMM_OLTCOPY            DSYMM_OLTCOPY
461
462 #define GEMM_NN                 DGEMM_NN
463 #define GEMM_CN                 DGEMM_TN
464 #define GEMM_TN                 DGEMM_TN
465 #define GEMM_NC                 DGEMM_NT
466 #define GEMM_NT                 DGEMM_NT
467 #define GEMM_CC                 DGEMM_TT
468 #define GEMM_CT                 DGEMM_TT
469 #define GEMM_TC                 DGEMM_TT
470 #define GEMM_TT                 DGEMM_TT
471 #define GEMM_NR                 DGEMM_NN
472 #define GEMM_TR                 DGEMM_TN
473 #define GEMM_CR                 DGEMM_TN
474 #define GEMM_RN                 DGEMM_NN
475 #define GEMM_RT                 DGEMM_NT
476 #define GEMM_RC                 DGEMM_NT
477 #define GEMM_RR                 DGEMM_NN
478
479 #define SYMM_LU                 DSYMM_LU
480 #define SYMM_LL                 DSYMM_LL
481 #define SYMM_RU                 DSYMM_RU
482 #define SYMM_RL                 DSYMM_RL
483
484 #define HEMM_LU                 DHEMM_LU
485 #define HEMM_LL                 DHEMM_LL
486 #define HEMM_RU                 DHEMM_RU
487 #define HEMM_RL                 DHEMM_RL
488
489 #define SYRK_UN                 DSYRK_UN
490 #define SYRK_UT                 DSYRK_UT
491 #define SYRK_LN                 DSYRK_LN
492 #define SYRK_LT                 DSYRK_LT
493 #define SYRK_UR                 DSYRK_UN
494 #define SYRK_UC                 DSYRK_UT
495 #define SYRK_LR                 DSYRK_LN
496 #define SYRK_LC                 DSYRK_LT
497
498 #define SYRK_KERNEL_U           DSYRK_KERNEL_U
499 #define SYRK_KERNEL_L           DSYRK_KERNEL_L
500
501 #define HERK_UN                 DSYRK_UN
502 #define HERK_LN                 DSYRK_LN
503 #define HERK_UC                 DSYRK_UT
504 #define HERK_LC                 DSYRK_LT
505
506 #define HER2K_UN                DSYR2K_UN
507 #define HER2K_LN                DSYR2K_LN
508 #define HER2K_UC                DSYR2K_UT
509 #define HER2K_LC                DSYR2K_LT
510
511 #define SYR2K_UN                DSYR2K_UN
512 #define SYR2K_UT                DSYR2K_UT
513 #define SYR2K_LN                DSYR2K_LN
514 #define SYR2K_LT                DSYR2K_LT
515 #define SYR2K_UR                DSYR2K_UN
516 #define SYR2K_UC                DSYR2K_UT
517 #define SYR2K_LR                DSYR2K_LN
518 #define SYR2K_LC                DSYR2K_LT
519
520 #define SYR2K_KERNEL_U          DSYR2K_KERNEL_U
521 #define SYR2K_KERNEL_L          DSYR2K_KERNEL_L
522
523 #define TRMM_LNUU               DTRMM_LNUU
524 #define TRMM_LNUN               DTRMM_LNUN
525 #define TRMM_LNLU               DTRMM_LNLU
526 #define TRMM_LNLN               DTRMM_LNLN
527 #define TRMM_LTUU               DTRMM_LTUU
528 #define TRMM_LTUN               DTRMM_LTUN
529 #define TRMM_LTLU               DTRMM_LTLU
530 #define TRMM_LTLN               DTRMM_LTLN
531 #define TRMM_LRUU               DTRMM_LNUU
532 #define TRMM_LRUN               DTRMM_LNUN
533 #define TRMM_LRLU               DTRMM_LNLU
534 #define TRMM_LRLN               DTRMM_LNLN
535 #define TRMM_LCUU               DTRMM_LTUU
536 #define TRMM_LCUN               DTRMM_LTUN
537 #define TRMM_LCLU               DTRMM_LTLU
538 #define TRMM_LCLN               DTRMM_LTLN
539 #define TRMM_RNUU               DTRMM_RNUU
540 #define TRMM_RNUN               DTRMM_RNUN
541 #define TRMM_RNLU               DTRMM_RNLU
542 #define TRMM_RNLN               DTRMM_RNLN
543 #define TRMM_RTUU               DTRMM_RTUU
544 #define TRMM_RTUN               DTRMM_RTUN
545 #define TRMM_RTLU               DTRMM_RTLU
546 #define TRMM_RTLN               DTRMM_RTLN
547 #define TRMM_RRUU               DTRMM_RNUU
548 #define TRMM_RRUN               DTRMM_RNUN
549 #define TRMM_RRLU               DTRMM_RNLU
550 #define TRMM_RRLN               DTRMM_RNLN
551 #define TRMM_RCUU               DTRMM_RTUU
552 #define TRMM_RCUN               DTRMM_RTUN
553 #define TRMM_RCLU               DTRMM_RTLU
554 #define TRMM_RCLN               DTRMM_RTLN
555
556 #define TRSM_LNUU               DTRSM_LNUU
557 #define TRSM_LNUN               DTRSM_LNUN
558 #define TRSM_LNLU               DTRSM_LNLU
559 #define TRSM_LNLN               DTRSM_LNLN
560 #define TRSM_LTUU               DTRSM_LTUU
561 #define TRSM_LTUN               DTRSM_LTUN
562 #define TRSM_LTLU               DTRSM_LTLU
563 #define TRSM_LTLN               DTRSM_LTLN
564 #define TRSM_LRUU               DTRSM_LNUU
565 #define TRSM_LRUN               DTRSM_LNUN
566 #define TRSM_LRLU               DTRSM_LNLU
567 #define TRSM_LRLN               DTRSM_LNLN
568 #define TRSM_LCUU               DTRSM_LTUU
569 #define TRSM_LCUN               DTRSM_LTUN
570 #define TRSM_LCLU               DTRSM_LTLU
571 #define TRSM_LCLN               DTRSM_LTLN
572 #define TRSM_RNUU               DTRSM_RNUU
573 #define TRSM_RNUN               DTRSM_RNUN
574 #define TRSM_RNLU               DTRSM_RNLU
575 #define TRSM_RNLN               DTRSM_RNLN
576 #define TRSM_RTUU               DTRSM_RTUU
577 #define TRSM_RTUN               DTRSM_RTUN
578 #define TRSM_RTLU               DTRSM_RTLU
579 #define TRSM_RTLN               DTRSM_RTLN
580 #define TRSM_RRUU               DTRSM_RNUU
581 #define TRSM_RRUN               DTRSM_RNUN
582 #define TRSM_RRLU               DTRSM_RNLU
583 #define TRSM_RRLN               DTRSM_RNLN
584 #define TRSM_RCUU               DTRSM_RTUU
585 #define TRSM_RCUN               DTRSM_RTUN
586 #define TRSM_RCLU               DTRSM_RTLU
587 #define TRSM_RCLN               DTRSM_RTLN
588
589 #define GEMM_THREAD_NN          DGEMM_THREAD_NN
590 #define GEMM_THREAD_CN          DGEMM_THREAD_TN
591 #define GEMM_THREAD_TN          DGEMM_THREAD_TN
592 #define GEMM_THREAD_NC          DGEMM_THREAD_NT
593 #define GEMM_THREAD_NT          DGEMM_THREAD_NT
594 #define GEMM_THREAD_CC          DGEMM_THREAD_TT
595 #define GEMM_THREAD_CT          DGEMM_THREAD_TT
596 #define GEMM_THREAD_TC          DGEMM_THREAD_TT
597 #define GEMM_THREAD_TT          DGEMM_THREAD_TT
598 #define GEMM_THREAD_NR          DGEMM_THREAD_NN
599 #define GEMM_THREAD_TR          DGEMM_THREAD_TN
600 #define GEMM_THREAD_CR          DGEMM_THREAD_TN
601 #define GEMM_THREAD_RN          DGEMM_THREAD_NN
602 #define GEMM_THREAD_RT          DGEMM_THREAD_NT
603 #define GEMM_THREAD_RC          DGEMM_THREAD_NT
604 #define GEMM_THREAD_RR          DGEMM_THREAD_NN
605
606 #define SYMM_THREAD_LU          DSYMM_THREAD_LU
607 #define SYMM_THREAD_LL          DSYMM_THREAD_LL
608 #define SYMM_THREAD_RU          DSYMM_THREAD_RU
609 #define SYMM_THREAD_RL          DSYMM_THREAD_RL
610
611 #define HEMM_THREAD_LU          DHEMM_THREAD_LU
612 #define HEMM_THREAD_LL          DHEMM_THREAD_LL
613 #define HEMM_THREAD_RU          DHEMM_THREAD_RU
614 #define HEMM_THREAD_RL          DHEMM_THREAD_RL
615
616 #define SYRK_THREAD_UN          DSYRK_THREAD_UN
617 #define SYRK_THREAD_UT          DSYRK_THREAD_UT
618 #define SYRK_THREAD_LN          DSYRK_THREAD_LN
619 #define SYRK_THREAD_LT          DSYRK_THREAD_LT
620 #define SYRK_THREAD_UR          DSYRK_THREAD_UR
621 #define SYRK_THREAD_UC          DSYRK_THREAD_UC
622 #define SYRK_THREAD_LR          DSYRK_THREAD_LN
623 #define SYRK_THREAD_LC          DSYRK_THREAD_LT
624
625 #define HERK_THREAD_UN          DSYRK_THREAD_UN
626 #define HERK_THREAD_UT          DSYRK_THREAD_UT
627 #define HERK_THREAD_LN          DSYRK_THREAD_LN
628 #define HERK_THREAD_LT          DSYRK_THREAD_LT
629 #define HERK_THREAD_UR          DSYRK_THREAD_UR
630 #define HERK_THREAD_UC          DSYRK_THREAD_UC
631 #define HERK_THREAD_LR          DSYRK_THREAD_LN
632 #define HERK_THREAD_LC          DSYRK_THREAD_LT
633
634 #define AXPBY_K                 DAXPBY_K
635
636 #define OMATCOPY_K_CN           DOMATCOPY_K_CN
637 #define OMATCOPY_K_RN           DOMATCOPY_K_RN
638 #define OMATCOPY_K_CT           DOMATCOPY_K_CT
639 #define OMATCOPY_K_RT           DOMATCOPY_K_RT
640 #define IMATCOPY_K_CN           DIMATCOPY_K_CN
641 #define IMATCOPY_K_RN           DIMATCOPY_K_RN
642 #define IMATCOPY_K_CT           DIMATCOPY_K_CT
643 #define IMATCOPY_K_RT           DIMATCOPY_K_RT
644
645 #define GEADD_K                 DGEADD_K
646
647 #elif defined(BFLOAT16)
648
649 #define D_TO_BF16_K     SBDTOBF16_K
650 #define D_BF16_TO_K     DBF16TOD_K
651 #define S_TO_BF16_K     SBSTOBF16_K
652 #define S_BF16_TO_K     SBF16TOS_K
653 #define SBGEMV_N        SBGEMV_N_K
654 #define SBGEMV_T        SBGEMV_T_K
655
656 #define AMAX_K                  SAMAX_K
657 #define AMIN_K                  SAMIN_K
658 #define MAX_K                   SMAX_K
659 #define MIN_K                   SMIN_K
660 #define IAMAX_K                 ISAMAX_K
661 #define IAMIN_K                 ISAMIN_K
662 #define IMAX_K                  ISMAX_K
663 #define IMIN_K                  ISMIN_K
664 #define ASUM_K                  SASUM_K
665 #define DOTU_K                  SDOTU_K
666 #define DOTC_K                  SDOTC_K
667 #define BF16_DOT_K      SBDOT_K
668 #define AXPYU_K                 SAXPYU_K
669 #define AXPYC_K                 SAXPYC_K
670 #define AXPBY_K     SAXPBY_K
671 #define SCAL_K                  SSCAL_K
672 #define GEMV_N                  SGEMV_N
673 #define GEMV_T                  SGEMV_T
674 #define SYMV_U                  SSYMV_U
675 #define SYMV_L                  SSYMV_L
676 #define GERU_K                  SGERU_K
677 #define GERC_K                  SGERC_K
678 #define GERV_K                  SGERV_K
679 #define GERD_K                  SGERD_K
680 #define SUM_K                   SSUM_K
681 #define SWAP_K                  SSWAP_K
682 #define ROT_K                   SROT_K
683 #define COPY_K    SCOPY_K
684 #define NRM2_K    SNRM2_K
685 #define SYMV_THREAD_U           SSYMV_THREAD_U
686 #define SYMV_THREAD_L           SSYMV_THREAD_L
687 #define GEMM_BETA               SBGEMM_BETA
688 #define GEMM_KERNEL_N           SBGEMM_KERNEL
689 #define GEMM_KERNEL_L           SBGEMM_KERNEL
690 #define GEMM_KERNEL_R           SBGEMM_KERNEL
691 #define GEMM_KERNEL_B           SBGEMM_KERNEL
692
693 #define GEMM_NN                 SBGEMM_NN
694 #define GEMM_CN                 SBGEMM_TN
695 #define GEMM_TN                 SBGEMM_TN
696 #define GEMM_NC                 SBGEMM_NT
697 #define GEMM_NT                 SBGEMM_NT
698 #define GEMM_CC                 SBGEMM_TT
699 #define GEMM_CT                 SBGEMM_TT
700 #define GEMM_TC                 SBGEMM_TT
701 #define GEMM_TT                 SBGEMM_TT
702 #define GEMM_NR                 SBGEMM_NN
703 #define GEMM_TR                 SBGEMM_TN
704 #define GEMM_CR                 SBGEMM_TN
705 #define GEMM_RN                 SBGEMM_NN
706 #define GEMM_RT                 SBGEMM_NT
707 #define GEMM_RC                 SBGEMM_NT
708 #define GEMM_RR                 SBGEMM_NN
709 #define GEMM_ONCOPY             SBGEMM_ONCOPY
710 #define GEMM_OTCOPY             SBGEMM_OTCOPY
711 #define GEMM_INCOPY             SBGEMM_INCOPY
712 #define GEMM_ITCOPY             SBGEMM_ITCOPY
713 #define SYMM_THREAD_LU          SSYMM_THREAD_LU
714 #define SYMM_THREAD_LL          SSYMM_THREAD_LL
715 #define SYMM_THREAD_RU          SSYMM_THREAD_RU
716 #define SYMM_THREAD_RL          SSYMM_THREAD_RL
717 #define SYMM_LU                 SSYMM_LU
718 #define SYMM_LL                 SSYMM_LL
719 #define SYMM_RU                 SSYMM_RU
720 #define SYMM_RL                 SSYMM_RL
721
722
723 #define HEMM_THREAD_LU          SHEMM_THREAD_LU
724 #define HEMM_THREAD_LL          SHEMM_THREAD_LL
725 #define HEMM_THREAD_RU          SHEMM_THREAD_RU
726 #define HEMM_THREAD_RL          SHEMM_THREAD_RL
727
728 #define GEMM_THREAD_NN          SBGEMM_THREAD_NN
729 #define GEMM_THREAD_CN          SBGEMM_THREAD_TN
730 #define GEMM_THREAD_TN          SBGEMM_THREAD_TN
731 #define GEMM_THREAD_NC          SBGEMM_THREAD_NT
732 #define GEMM_THREAD_NT          SBGEMM_THREAD_NT
733 #define GEMM_THREAD_CC          SBGEMM_THREAD_TT
734 #define GEMM_THREAD_CT          SBGEMM_THREAD_TT
735 #define GEMM_THREAD_TC          SBGEMM_THREAD_TT
736 #define GEMM_THREAD_TT          SBGEMM_THREAD_TT
737 #define GEMM_THREAD_NR          SBGEMM_THREAD_NN
738 #define GEMM_THREAD_TR          SBGEMM_THREAD_TN
739 #define GEMM_THREAD_CR          SBGEMM_THREAD_TN
740 #define GEMM_THREAD_RN          SBGEMM_THREAD_NN
741 #define GEMM_THREAD_RT          SBGEMM_THREAD_NT
742 #define GEMM_THREAD_RC          SBGEMM_THREAD_NT
743 #define GEMM_THREAD_RR          SBGEMM_THREAD_NN
744
745 #ifdef UNIT
746
747 #define TRMM_OUNCOPY            STRMM_OUNUCOPY
748 #define TRMM_OUTCOPY            STRMM_OUTUCOPY
749 #define TRMM_OLNCOPY            STRMM_OLNUCOPY
750 #define TRMM_OLTCOPY            STRMM_OLTUCOPY
751 #define TRSM_OUNCOPY            STRSM_OUNUCOPY
752 #define TRSM_OUTCOPY            STRSM_OUTUCOPY
753 #define TRSM_OLNCOPY            STRSM_OLNUCOPY
754 #define TRSM_OLTCOPY            STRSM_OLTUCOPY
755
756 #define TRMM_IUNCOPY            STRMM_IUNUCOPY
757 #define TRMM_IUTCOPY            STRMM_IUTUCOPY
758 #define TRMM_ILNCOPY            STRMM_ILNUCOPY
759 #define TRMM_ILTCOPY            STRMM_ILTUCOPY
760 #define TRSM_IUNCOPY            STRSM_IUNUCOPY
761 #define TRSM_IUTCOPY            STRSM_IUTUCOPY
762 #define TRSM_ILNCOPY            STRSM_ILNUCOPY
763 #define TRSM_ILTCOPY            STRSM_ILTUCOPY
764
765 #else
766
767 #define TRMM_OUNCOPY            STRMM_OUNNCOPY
768 #define TRMM_OUTCOPY            STRMM_OUTNCOPY
769 #define TRMM_OLNCOPY            STRMM_OLNNCOPY
770 #define TRMM_OLTCOPY            STRMM_OLTNCOPY
771 #define TRSM_OUNCOPY            STRSM_OUNNCOPY
772 #define TRSM_OUTCOPY            STRSM_OUTNCOPY
773 #define TRSM_OLNCOPY            STRSM_OLNNCOPY
774 #define TRSM_OLTCOPY            STRSM_OLTNCOPY
775
776 #define TRMM_IUNCOPY            STRMM_IUNNCOPY
777 #define TRMM_IUTCOPY            STRMM_IUTNCOPY
778 #define TRMM_ILNCOPY            STRMM_ILNNCOPY
779 #define TRMM_ILTCOPY            STRMM_ILTNCOPY
780 #define TRSM_IUNCOPY            STRSM_IUNNCOPY
781 #define TRSM_IUTCOPY            STRSM_IUTNCOPY
782 #define TRSM_ILNCOPY            STRSM_ILNNCOPY
783 #define TRSM_ILTCOPY            STRSM_ILTNCOPY
784
785 #define TRMM_KERNEL_LN          STRMM_KERNEL_LN
786 #define TRMM_KERNEL_LT          STRMM_KERNEL_LT
787 #define TRMM_KERNEL_LR          STRMM_KERNEL_LN
788 #define TRMM_KERNEL_LC          STRMM_KERNEL_LT
789 #define TRMM_KERNEL_RN          STRMM_KERNEL_RN
790 #define TRMM_KERNEL_RT          STRMM_KERNEL_RT
791 #define TRMM_KERNEL_RR          STRMM_KERNEL_RN
792 #define TRMM_KERNEL_RC          STRMM_KERNEL_RT
793
794 #define TRSM_KERNEL_LN          STRSM_KERNEL_LN
795 #define TRSM_KERNEL_LT          STRSM_KERNEL_LT
796 #define TRSM_KERNEL_LR          STRSM_KERNEL_LN
797 #define TRSM_KERNEL_LC          STRSM_KERNEL_LT
798 #define TRSM_KERNEL_RN          STRSM_KERNEL_RN
799 #define TRSM_KERNEL_RT          STRSM_KERNEL_RT
800 #define TRSM_KERNEL_RR          STRSM_KERNEL_RN
801 #define TRSM_KERNEL_RC          STRSM_KERNEL_RT
802
803 #define SYMM_IUTCOPY            SSYMM_IUTCOPY
804 #define SYMM_ILTCOPY            SSYMM_ILTCOPY
805 #define SYMM_OUTCOPY            SSYMM_OUTCOPY
806 #define SYMM_OLTCOPY            SSYMM_OLTCOPY
807 #define TRMM_LNUU               STRMM_LNUU
808 #define TRMM_LNUN               STRMM_LNUN
809 #define TRMM_LNLU               STRMM_LNLU
810 #define TRMM_LNLN               STRMM_LNLN
811 #define TRMM_LTUU               STRMM_LTUU
812 #define TRMM_LTUN               STRMM_LTUN
813 #define TRMM_LTLU               STRMM_LTLU
814 #define TRMM_LTLN               STRMM_LTLN
815 #define TRMM_LRUU               STRMM_LNUU
816 #define TRMM_LRUN               STRMM_LNUN
817 #define TRMM_LRLU               STRMM_LNLU
818 #define TRMM_LRLN               STRMM_LNLN
819 #define TRMM_LCUU               STRMM_LTUU
820 #define TRMM_LCUN               STRMM_LTUN
821 #define TRMM_LCLU               STRMM_LTLU
822 #define TRMM_LCLN               STRMM_LTLN
823 #define TRMM_RNUU               STRMM_RNUU
824 #define TRMM_RNUN               STRMM_RNUN
825 #define TRMM_RNLU               STRMM_RNLU
826 #define TRMM_RNLN               STRMM_RNLN
827 #define TRMM_RTUU               STRMM_RTUU
828 #define TRMM_RTUN               STRMM_RTUN
829 #define TRMM_RTLU               STRMM_RTLU
830 #define TRMM_RTLN               STRMM_RTLN
831 #define TRMM_RRUU               STRMM_RNUU
832 #define TRMM_RRUN               STRMM_RNUN
833 #define TRMM_RRLU               STRMM_RNLU
834 #define TRMM_RRLN               STRMM_RNLN
835 #define TRMM_RCUU               STRMM_RTUU
836 #define TRMM_RCUN               STRMM_RTUN
837 #define TRMM_RCLU               STRMM_RTLU
838 #define TRMM_RCLN               STRMM_RTLN
839
840 #define TRSM_LNUU               STRSM_LNUU
841 #define TRSM_LNUN               STRSM_LNUN
842 #define TRSM_LNLU               STRSM_LNLU
843 #define TRSM_LNLN               STRSM_LNLN
844 #define TRSM_LTUU               STRSM_LTUU
845 #define TRSM_LTUN               STRSM_LTUN
846 #define TRSM_LTLU               STRSM_LTLU
847 #define TRSM_LTLN               STRSM_LTLN
848 #define TRSM_LRUU               STRSM_LNUU
849 #define TRSM_LRUN               STRSM_LNUN
850 #define TRSM_LRLU               STRSM_LNLU
851 #define TRSM_LRLN               STRSM_LNLN
852 #define TRSM_LCUU               STRSM_LTUU
853 #define TRSM_LCUN               STRSM_LTUN
854 #define TRSM_LCLU               STRSM_LTLU
855 #define TRSM_LCLN               STRSM_LTLN
856 #define TRSM_RNUU               STRSM_RNUU
857 #define TRSM_RNUN               STRSM_RNUN
858 #define TRSM_RNLU               STRSM_RNLU
859 #define TRSM_RNLN               STRSM_RNLN
860 #define TRSM_RTUU               STRSM_RTUU
861 #define TRSM_RTUN               STRSM_RTUN
862 #define TRSM_RTLU               STRSM_RTLU
863 #define TRSM_RTLN               STRSM_RTLN
864 #define TRSM_RRUU               STRSM_RNUU
865 #define TRSM_RRUN               STRSM_RNUN
866 #define TRSM_RRLU               STRSM_RNLU
867 #define TRSM_RRLN               STRSM_RNLN
868 #define TRSM_RCUU               STRSM_RTUU
869 #define TRSM_RCUN               STRSM_RTUN
870 #define TRSM_RCLU               STRSM_RTLU
871 #define TRSM_RCLN               STRSM_RTLN
872 #define SYRK_UN                 SSYRK_UN
873 #define SYRK_UT                 SSYRK_UT
874 #define SYRK_LN                 SSYRK_LN
875 #define SYRK_LT                 SSYRK_LT
876 #define SYRK_UR                 SSYRK_UN
877 #define SYRK_UC                 SSYRK_UT
878 #define SYRK_LR                 SSYRK_LN
879 #define SYRK_LC                 SSYRK_LT
880
881 #define SYRK_KERNEL_U           SSYRK_KERNEL_U
882 #define SYRK_KERNEL_L           SSYRK_KERNEL_L
883
884 #define HERK_UN                 SSYRK_UN
885 #define HERK_LN                 SSYRK_LN
886 #define HERK_UC                 SSYRK_UT
887 #define HERK_LC                 SSYRK_LT
888
889 #define HER2K_UN                SSYR2K_UN
890 #define HER2K_LN                SSYR2K_LN
891 #define HER2K_UC                SSYR2K_UT
892 #define HER2K_LC                SSYR2K_LT
893
894 #define SYR2K_UN                SSYR2K_UN
895 #define SYR2K_UT                SSYR2K_UT
896 #define SYR2K_LN                SSYR2K_LN
897 #define SYR2K_LT                SSYR2K_LT
898 #define SYR2K_UR                SSYR2K_UN
899 #define SYR2K_UC                SSYR2K_UT
900 #define SYR2K_LR                SSYR2K_LN
901 #define SYR2K_LC                SSYR2K_LT
902
903 #define SYR2K_KERNEL_U          SSYR2K_KERNEL_U
904 #define SYR2K_KERNEL_L          SSYR2K_KERNEL_L
905 #define SYRK_THREAD_UN          SSYRK_THREAD_UN
906 #define SYRK_THREAD_UT          SSYRK_THREAD_UT
907 #define SYRK_THREAD_LN          SSYRK_THREAD_LN
908 #define SYRK_THREAD_LT          SSYRK_THREAD_LT
909 #define SYRK_THREAD_UR          SSYRK_THREAD_UR
910 #define SYRK_THREAD_UC          SSYRK_THREAD_UC
911 #define SYRK_THREAD_LR          SSYRK_THREAD_LN
912 #define SYRK_THREAD_LC          SSYRK_THREAD_LT
913
914 #define HERK_THREAD_UN          SSYRK_THREAD_UN
915 #define HERK_THREAD_UT          SSYRK_THREAD_UT
916 #define HERK_THREAD_LN          SSYRK_THREAD_LN
917 #define HERK_THREAD_LT          SSYRK_THREAD_LT
918 #define HERK_THREAD_UR          SSYRK_THREAD_UR
919 #define HERK_THREAD_UC          SSYRK_THREAD_UC
920 #define HERK_THREAD_LR          SSYRK_THREAD_LN
921 #define HERK_THREAD_LC          SSYRK_THREAD_LT
922
923 #define OMATCOPY_K_CN           SOMATCOPY_K_CN
924 #define OMATCOPY_K_RN           SOMATCOPY_K_RN
925 #define OMATCOPY_K_CT           SOMATCOPY_K_CT
926 #define OMATCOPY_K_RT           SOMATCOPY_K_RT
927 #define IMATCOPY_K_CN           SIMATCOPY_K_CN
928 #define IMATCOPY_K_RN           SIMATCOPY_K_RN
929 #define IMATCOPY_K_CT           SIMATCOPY_K_CT
930 #define IMATCOPY_K_RT           SIMATCOPY_K_RT
931
932 #define GEADD_K                 SGEADD_K
933
934 #endif
935
936 #else
937
938 #define AMAX_K                  SAMAX_K
939 #define AMIN_K                  SAMIN_K
940 #define MAX_K                   SMAX_K
941 #define MIN_K                   SMIN_K
942 #define IAMAX_K                 ISAMAX_K
943 #define IAMIN_K                 ISAMIN_K
944 #define IMAX_K                  ISMAX_K
945 #define IMIN_K                  ISMIN_K
946 #define ASUM_K                  SASUM_K
947 #define AXPYU_K                 SAXPYU_K
948 #define AXPYC_K                 SAXPYU_K
949 #define COPY_K                  SCOPY_K
950 #define DOTU_K                  SDOTU_K
951 #define DOTC_K                  SDOTC_K
952 #define NRM2_K                  SNRM2_K
953 #define SCAL_K                  SSCAL_K
954 #define SUM_K                   SSUM_K
955 #define SWAP_K                  SSWAP_K
956 #define ROT_K                   SROT_K
957
958 #define GEMV_N                  SGEMV_N
959 #define GEMV_T                  SGEMV_T
960 #define GEMV_R                  SGEMV_R
961 #define GEMV_C                  SGEMV_C
962 #define GEMV_O                  SGEMV_O
963 #define GEMV_U                  SGEMV_U
964 #define GEMV_S                  SGEMV_S
965 #define GEMV_D                  SGEMV_D
966
967
968 #define SYMV_U                  SSYMV_U
969 #define SYMV_L                  SSYMV_L
970 #define GERU_K                  SGERU_K
971 #define GERC_K                  SGERC_K
972 #define GERV_K                  SGERV_K
973 #define GERD_K                  SGERD_K
974
975 #define SYMV_THREAD_U           SSYMV_THREAD_U
976 #define SYMV_THREAD_L           SSYMV_THREAD_L
977
978 #define GEMM_ONCOPY             SGEMM_ONCOPY
979 #define GEMM_OTCOPY             SGEMM_OTCOPY
980 #define GEMM_INCOPY             SGEMM_INCOPY
981 #define GEMM_ITCOPY             SGEMM_ITCOPY
982
983 #ifdef UNIT
984
985 #define TRMM_OUNCOPY            STRMM_OUNUCOPY
986 #define TRMM_OUTCOPY            STRMM_OUTUCOPY
987 #define TRMM_OLNCOPY            STRMM_OLNUCOPY
988 #define TRMM_OLTCOPY            STRMM_OLTUCOPY
989 #define TRSM_OUNCOPY            STRSM_OUNUCOPY
990 #define TRSM_OUTCOPY            STRSM_OUTUCOPY
991 #define TRSM_OLNCOPY            STRSM_OLNUCOPY
992 #define TRSM_OLTCOPY            STRSM_OLTUCOPY
993
994 #define TRMM_IUNCOPY            STRMM_IUNUCOPY
995 #define TRMM_IUTCOPY            STRMM_IUTUCOPY
996 #define TRMM_ILNCOPY            STRMM_ILNUCOPY
997 #define TRMM_ILTCOPY            STRMM_ILTUCOPY
998 #define TRSM_IUNCOPY            STRSM_IUNUCOPY
999 #define TRSM_IUTCOPY            STRSM_IUTUCOPY
1000 #define TRSM_ILNCOPY            STRSM_ILNUCOPY
1001 #define TRSM_ILTCOPY            STRSM_ILTUCOPY
1002
1003 #else
1004
1005 #define TRMM_OUNCOPY            STRMM_OUNNCOPY
1006 #define TRMM_OUTCOPY            STRMM_OUTNCOPY
1007 #define TRMM_OLNCOPY            STRMM_OLNNCOPY
1008 #define TRMM_OLTCOPY            STRMM_OLTNCOPY
1009 #define TRSM_OUNCOPY            STRSM_OUNNCOPY
1010 #define TRSM_OUTCOPY            STRSM_OUTNCOPY
1011 #define TRSM_OLNCOPY            STRSM_OLNNCOPY
1012 #define TRSM_OLTCOPY            STRSM_OLTNCOPY
1013
1014 #define TRMM_IUNCOPY            STRMM_IUNNCOPY
1015 #define TRMM_IUTCOPY            STRMM_IUTNCOPY
1016 #define TRMM_ILNCOPY            STRMM_ILNNCOPY
1017 #define TRMM_ILTCOPY            STRMM_ILTNCOPY
1018 #define TRSM_IUNCOPY            STRSM_IUNNCOPY
1019 #define TRSM_IUTCOPY            STRSM_IUTNCOPY
1020 #define TRSM_ILNCOPY            STRSM_ILNNCOPY
1021 #define TRSM_ILTCOPY            STRSM_ILTNCOPY
1022
1023 #endif
1024
1025 #define GEMM_BETA               SGEMM_BETA
1026
1027 #define GEMM_KERNEL_N           SGEMM_KERNEL
1028 #define GEMM_KERNEL_L           SGEMM_KERNEL
1029 #define GEMM_KERNEL_R           SGEMM_KERNEL
1030 #define GEMM_KERNEL_B           SGEMM_KERNEL
1031
1032 #define TRMM_KERNEL_LN          STRMM_KERNEL_LN
1033 #define TRMM_KERNEL_LT          STRMM_KERNEL_LT
1034 #define TRMM_KERNEL_LR          STRMM_KERNEL_LN
1035 #define TRMM_KERNEL_LC          STRMM_KERNEL_LT
1036 #define TRMM_KERNEL_RN          STRMM_KERNEL_RN
1037 #define TRMM_KERNEL_RT          STRMM_KERNEL_RT
1038 #define TRMM_KERNEL_RR          STRMM_KERNEL_RN
1039 #define TRMM_KERNEL_RC          STRMM_KERNEL_RT
1040
1041 #define TRSM_KERNEL_LN          STRSM_KERNEL_LN
1042 #define TRSM_KERNEL_LT          STRSM_KERNEL_LT
1043 #define TRSM_KERNEL_LR          STRSM_KERNEL_LN
1044 #define TRSM_KERNEL_LC          STRSM_KERNEL_LT
1045 #define TRSM_KERNEL_RN          STRSM_KERNEL_RN
1046 #define TRSM_KERNEL_RT          STRSM_KERNEL_RT
1047 #define TRSM_KERNEL_RR          STRSM_KERNEL_RN
1048 #define TRSM_KERNEL_RC          STRSM_KERNEL_RT
1049
1050 #define SYMM_IUTCOPY            SSYMM_IUTCOPY
1051 #define SYMM_ILTCOPY            SSYMM_ILTCOPY
1052 #define SYMM_OUTCOPY            SSYMM_OUTCOPY
1053 #define SYMM_OLTCOPY            SSYMM_OLTCOPY
1054
1055 #define GEMM_NN                 SGEMM_NN
1056 #define GEMM_CN                 SGEMM_TN
1057 #define GEMM_TN                 SGEMM_TN
1058 #define GEMM_NC                 SGEMM_NT
1059 #define GEMM_NT                 SGEMM_NT
1060 #define GEMM_CC                 SGEMM_TT
1061 #define GEMM_CT                 SGEMM_TT
1062 #define GEMM_TC                 SGEMM_TT
1063 #define GEMM_TT                 SGEMM_TT
1064 #define GEMM_NR                 SGEMM_NN
1065 #define GEMM_TR                 SGEMM_TN
1066 #define GEMM_CR                 SGEMM_TN
1067 #define GEMM_RN                 SGEMM_NN
1068 #define GEMM_RT                 SGEMM_NT
1069 #define GEMM_RC                 SGEMM_NT
1070 #define GEMM_RR                 SGEMM_NN
1071
1072 #define SYMM_LU                 SSYMM_LU
1073 #define SYMM_LL                 SSYMM_LL
1074 #define SYMM_RU                 SSYMM_RU
1075 #define SYMM_RL                 SSYMM_RL
1076
1077 #define HEMM_LU                 SHEMM_LU
1078 #define HEMM_LL                 SHEMM_LL
1079 #define HEMM_RU                 SHEMM_RU
1080 #define HEMM_RL                 SHEMM_RL
1081
1082 #define SYRK_UN                 SSYRK_UN
1083 #define SYRK_UT                 SSYRK_UT
1084 #define SYRK_LN                 SSYRK_LN
1085 #define SYRK_LT                 SSYRK_LT
1086 #define SYRK_UR                 SSYRK_UN
1087 #define SYRK_UC                 SSYRK_UT
1088 #define SYRK_LR                 SSYRK_LN
1089 #define SYRK_LC                 SSYRK_LT
1090
1091 #define SYRK_KERNEL_U           SSYRK_KERNEL_U
1092 #define SYRK_KERNEL_L           SSYRK_KERNEL_L
1093
1094 #define HERK_UN                 SSYRK_UN
1095 #define HERK_LN                 SSYRK_LN
1096 #define HERK_UC                 SSYRK_UT
1097 #define HERK_LC                 SSYRK_LT
1098
1099 #define HER2K_UN                SSYR2K_UN
1100 #define HER2K_LN                SSYR2K_LN
1101 #define HER2K_UC                SSYR2K_UT
1102 #define HER2K_LC                SSYR2K_LT
1103
1104 #define SYR2K_UN                SSYR2K_UN
1105 #define SYR2K_UT                SSYR2K_UT
1106 #define SYR2K_LN                SSYR2K_LN
1107 #define SYR2K_LT                SSYR2K_LT
1108 #define SYR2K_UR                SSYR2K_UN
1109 #define SYR2K_UC                SSYR2K_UT
1110 #define SYR2K_LR                SSYR2K_LN
1111 #define SYR2K_LC                SSYR2K_LT
1112
1113 #define SYR2K_KERNEL_U          SSYR2K_KERNEL_U
1114 #define SYR2K_KERNEL_L          SSYR2K_KERNEL_L
1115
1116 #define TRMM_LNUU               STRMM_LNUU
1117 #define TRMM_LNUN               STRMM_LNUN
1118 #define TRMM_LNLU               STRMM_LNLU
1119 #define TRMM_LNLN               STRMM_LNLN
1120 #define TRMM_LTUU               STRMM_LTUU
1121 #define TRMM_LTUN               STRMM_LTUN
1122 #define TRMM_LTLU               STRMM_LTLU
1123 #define TRMM_LTLN               STRMM_LTLN
1124 #define TRMM_LRUU               STRMM_LNUU
1125 #define TRMM_LRUN               STRMM_LNUN
1126 #define TRMM_LRLU               STRMM_LNLU
1127 #define TRMM_LRLN               STRMM_LNLN
1128 #define TRMM_LCUU               STRMM_LTUU
1129 #define TRMM_LCUN               STRMM_LTUN
1130 #define TRMM_LCLU               STRMM_LTLU
1131 #define TRMM_LCLN               STRMM_LTLN
1132 #define TRMM_RNUU               STRMM_RNUU
1133 #define TRMM_RNUN               STRMM_RNUN
1134 #define TRMM_RNLU               STRMM_RNLU
1135 #define TRMM_RNLN               STRMM_RNLN
1136 #define TRMM_RTUU               STRMM_RTUU
1137 #define TRMM_RTUN               STRMM_RTUN
1138 #define TRMM_RTLU               STRMM_RTLU
1139 #define TRMM_RTLN               STRMM_RTLN
1140 #define TRMM_RRUU               STRMM_RNUU
1141 #define TRMM_RRUN               STRMM_RNUN
1142 #define TRMM_RRLU               STRMM_RNLU
1143 #define TRMM_RRLN               STRMM_RNLN
1144 #define TRMM_RCUU               STRMM_RTUU
1145 #define TRMM_RCUN               STRMM_RTUN
1146 #define TRMM_RCLU               STRMM_RTLU
1147 #define TRMM_RCLN               STRMM_RTLN
1148
1149 #define TRSM_LNUU               STRSM_LNUU
1150 #define TRSM_LNUN               STRSM_LNUN
1151 #define TRSM_LNLU               STRSM_LNLU
1152 #define TRSM_LNLN               STRSM_LNLN
1153 #define TRSM_LTUU               STRSM_LTUU
1154 #define TRSM_LTUN               STRSM_LTUN
1155 #define TRSM_LTLU               STRSM_LTLU
1156 #define TRSM_LTLN               STRSM_LTLN
1157 #define TRSM_LRUU               STRSM_LNUU
1158 #define TRSM_LRUN               STRSM_LNUN
1159 #define TRSM_LRLU               STRSM_LNLU
1160 #define TRSM_LRLN               STRSM_LNLN
1161 #define TRSM_LCUU               STRSM_LTUU
1162 #define TRSM_LCUN               STRSM_LTUN
1163 #define TRSM_LCLU               STRSM_LTLU
1164 #define TRSM_LCLN               STRSM_LTLN
1165 #define TRSM_RNUU               STRSM_RNUU
1166 #define TRSM_RNUN               STRSM_RNUN
1167 #define TRSM_RNLU               STRSM_RNLU
1168 #define TRSM_RNLN               STRSM_RNLN
1169 #define TRSM_RTUU               STRSM_RTUU
1170 #define TRSM_RTUN               STRSM_RTUN
1171 #define TRSM_RTLU               STRSM_RTLU
1172 #define TRSM_RTLN               STRSM_RTLN
1173 #define TRSM_RRUU               STRSM_RNUU
1174 #define TRSM_RRUN               STRSM_RNUN
1175 #define TRSM_RRLU               STRSM_RNLU
1176 #define TRSM_RRLN               STRSM_RNLN
1177 #define TRSM_RCUU               STRSM_RTUU
1178 #define TRSM_RCUN               STRSM_RTUN
1179 #define TRSM_RCLU               STRSM_RTLU
1180 #define TRSM_RCLN               STRSM_RTLN
1181
1182 #define GEMM_THREAD_NN          SGEMM_THREAD_NN
1183 #define GEMM_THREAD_CN          SGEMM_THREAD_TN
1184 #define GEMM_THREAD_TN          SGEMM_THREAD_TN
1185 #define GEMM_THREAD_NC          SGEMM_THREAD_NT
1186 #define GEMM_THREAD_NT          SGEMM_THREAD_NT
1187 #define GEMM_THREAD_CC          SGEMM_THREAD_TT
1188 #define GEMM_THREAD_CT          SGEMM_THREAD_TT
1189 #define GEMM_THREAD_TC          SGEMM_THREAD_TT
1190 #define GEMM_THREAD_TT          SGEMM_THREAD_TT
1191 #define GEMM_THREAD_NR          SGEMM_THREAD_NN
1192 #define GEMM_THREAD_TR          SGEMM_THREAD_TN
1193 #define GEMM_THREAD_CR          SGEMM_THREAD_TN
1194 #define GEMM_THREAD_RN          SGEMM_THREAD_NN
1195 #define GEMM_THREAD_RT          SGEMM_THREAD_NT
1196 #define GEMM_THREAD_RC          SGEMM_THREAD_NT
1197 #define GEMM_THREAD_RR          SGEMM_THREAD_NN
1198
1199 #define SYMM_THREAD_LU          SSYMM_THREAD_LU
1200 #define SYMM_THREAD_LL          SSYMM_THREAD_LL
1201 #define SYMM_THREAD_RU          SSYMM_THREAD_RU
1202 #define SYMM_THREAD_RL          SSYMM_THREAD_RL
1203
1204 #define HEMM_THREAD_LU          SHEMM_THREAD_LU
1205 #define HEMM_THREAD_LL          SHEMM_THREAD_LL
1206 #define HEMM_THREAD_RU          SHEMM_THREAD_RU
1207 #define HEMM_THREAD_RL          SHEMM_THREAD_RL
1208
1209 #define SYRK_THREAD_UN          SSYRK_THREAD_UN
1210 #define SYRK_THREAD_UT          SSYRK_THREAD_UT
1211 #define SYRK_THREAD_LN          SSYRK_THREAD_LN
1212 #define SYRK_THREAD_LT          SSYRK_THREAD_LT
1213 #define SYRK_THREAD_UR          SSYRK_THREAD_UR
1214 #define SYRK_THREAD_UC          SSYRK_THREAD_UC
1215 #define SYRK_THREAD_LR          SSYRK_THREAD_LN
1216 #define SYRK_THREAD_LC          SSYRK_THREAD_LT
1217
1218 #define HERK_THREAD_UN          SSYRK_THREAD_UN
1219 #define HERK_THREAD_UT          SSYRK_THREAD_UT
1220 #define HERK_THREAD_LN          SSYRK_THREAD_LN
1221 #define HERK_THREAD_LT          SSYRK_THREAD_LT
1222 #define HERK_THREAD_UR          SSYRK_THREAD_UR
1223 #define HERK_THREAD_UC          SSYRK_THREAD_UC
1224 #define HERK_THREAD_LR          SSYRK_THREAD_LN
1225 #define HERK_THREAD_LC          SSYRK_THREAD_LT
1226
1227 #define AXPBY_K                 SAXPBY_K
1228
1229 #define OMATCOPY_K_CN           SOMATCOPY_K_CN
1230 #define OMATCOPY_K_RN           SOMATCOPY_K_RN
1231 #define OMATCOPY_K_CT           SOMATCOPY_K_CT
1232 #define OMATCOPY_K_RT           SOMATCOPY_K_RT
1233 #define IMATCOPY_K_CN           SIMATCOPY_K_CN
1234 #define IMATCOPY_K_RN           SIMATCOPY_K_RN
1235 #define IMATCOPY_K_CT           SIMATCOPY_K_CT
1236 #define IMATCOPY_K_RT           SIMATCOPY_K_RT
1237
1238 #define GEADD_K                 SGEADD_K
1239 #endif
1240 #else
1241 #ifdef XDOUBLE
1242
1243 #define AMAX_K                  XAMAX_K
1244 #define AMIN_K                  XAMIN_K
1245 #define MAX_K                   XMAX_K
1246 #define MIN_K                   XMIN_K
1247 #define IAMAX_K                 IXAMAX_K
1248 #define IAMIN_K                 IXAMIN_K
1249 #define IMAX_K                  IXMAX_K
1250 #define IMIN_K                  IXMIN_K
1251 #define ASUM_K                  XASUM_K
1252 #define AXPYU_K                 XAXPYU_K
1253 #define AXPYC_K                 XAXPYC_K
1254 #define COPY_K                  XCOPY_K
1255 #define DOTU_K                  XDOTU_K
1256 #define DOTC_K                  XDOTC_K
1257 #define NRM2_K                  XNRM2_K
1258 #define SCAL_K                  XSCAL_K
1259 #define SUM_K                   XSUM_K
1260 #define SWAP_K                  XSWAP_K
1261 #define ROT_K                   XROT_K
1262
1263 #define GEMV_N                  XGEMV_N
1264 #define GEMV_T                  XGEMV_T
1265 #define GEMV_R                  XGEMV_R
1266 #define GEMV_C                  XGEMV_C
1267 #define GEMV_O                  XGEMV_O
1268 #define GEMV_U                  XGEMV_U
1269 #define GEMV_S                  XGEMV_S
1270 #define GEMV_D                  XGEMV_D
1271
1272 #define GERU_K                  XGERU_K
1273 #define GERC_K                  XGERC_K
1274 #define GERV_K                  XGERV_K
1275 #define GERD_K                  XGERD_K
1276
1277 #define SYMV_U                  XSYMV_U
1278 #define SYMV_L                  XSYMV_L
1279 #define HEMV_U                  XHEMV_U
1280 #define HEMV_L                  XHEMV_L
1281 #define HEMV_V                  XHEMV_V
1282 #define HEMV_M                  XHEMV_M
1283
1284 #define SYMV_THREAD_U           XSYMV_THREAD_U
1285 #define SYMV_THREAD_L           XSYMV_THREAD_L
1286 #define HEMV_THREAD_U           XHEMV_THREAD_U
1287 #define HEMV_THREAD_L           XHEMV_THREAD_L
1288 #define HEMV_THREAD_V           XHEMV_THREAD_V
1289 #define HEMV_THREAD_M           XHEMV_THREAD_M
1290
1291 #define GEMM_ONCOPY             XGEMM_ONCOPY
1292 #define GEMM_OTCOPY             XGEMM_OTCOPY
1293 #define GEMM_INCOPY             XGEMM_INCOPY
1294 #define GEMM_ITCOPY             XGEMM_ITCOPY
1295
1296 #define GEMM3M_ONCOPYB          XGEMM3M_ONCOPYB
1297 #define GEMM3M_ONCOPYR          XGEMM3M_ONCOPYR
1298 #define GEMM3M_ONCOPYI          XGEMM3M_ONCOPYI
1299 #define GEMM3M_OTCOPYB          XGEMM3M_OTCOPYB
1300 #define GEMM3M_OTCOPYR          XGEMM3M_OTCOPYR
1301 #define GEMM3M_OTCOPYI          XGEMM3M_OTCOPYI
1302 #define GEMM3M_INCOPYB          XGEMM3M_INCOPYB
1303 #define GEMM3M_INCOPYR          XGEMM3M_INCOPYR
1304 #define GEMM3M_INCOPYI          XGEMM3M_INCOPYI
1305 #define GEMM3M_ITCOPYB          XGEMM3M_ITCOPYB
1306 #define GEMM3M_ITCOPYR          XGEMM3M_ITCOPYR
1307 #define GEMM3M_ITCOPYI          XGEMM3M_ITCOPYI
1308
1309 #ifdef UNIT
1310
1311 #define TRMM_OUNCOPY            XTRMM_OUNUCOPY
1312 #define TRMM_OUTCOPY            XTRMM_OUTUCOPY
1313 #define TRMM_OLNCOPY            XTRMM_OLNUCOPY
1314 #define TRMM_OLTCOPY            XTRMM_OLTUCOPY
1315 #define TRSM_OUNCOPY            XTRSM_OUNUCOPY
1316 #define TRSM_OUTCOPY            XTRSM_OUTUCOPY
1317 #define TRSM_OLNCOPY            XTRSM_OLNUCOPY
1318 #define TRSM_OLTCOPY            XTRSM_OLTUCOPY
1319
1320 #define TRMM_IUNCOPY            XTRMM_IUNUCOPY
1321 #define TRMM_IUTCOPY            XTRMM_IUTUCOPY
1322 #define TRMM_ILNCOPY            XTRMM_ILNUCOPY
1323 #define TRMM_ILTCOPY            XTRMM_ILTUCOPY
1324 #define TRSM_IUNCOPY            XTRSM_IUNUCOPY
1325 #define TRSM_IUTCOPY            XTRSM_IUTUCOPY
1326 #define TRSM_ILNCOPY            XTRSM_ILNUCOPY
1327 #define TRSM_ILTCOPY            XTRSM_ILTUCOPY
1328
1329 #else
1330
1331 #define TRMM_OUNCOPY            XTRMM_OUNNCOPY
1332 #define TRMM_OUTCOPY            XTRMM_OUTNCOPY
1333 #define TRMM_OLNCOPY            XTRMM_OLNNCOPY
1334 #define TRMM_OLTCOPY            XTRMM_OLTNCOPY
1335 #define TRSM_OUNCOPY            XTRSM_OUNNCOPY
1336 #define TRSM_OUTCOPY            XTRSM_OUTNCOPY
1337 #define TRSM_OLNCOPY            XTRSM_OLNNCOPY
1338 #define TRSM_OLTCOPY            XTRSM_OLTNCOPY
1339
1340 #define TRMM_IUNCOPY            XTRMM_IUNNCOPY
1341 #define TRMM_IUTCOPY            XTRMM_IUTNCOPY
1342 #define TRMM_ILNCOPY            XTRMM_ILNNCOPY
1343 #define TRMM_ILTCOPY            XTRMM_ILTNCOPY
1344 #define TRSM_IUNCOPY            XTRSM_IUNNCOPY
1345 #define TRSM_IUTCOPY            XTRSM_IUTNCOPY
1346 #define TRSM_ILNCOPY            XTRSM_ILNNCOPY
1347 #define TRSM_ILTCOPY            XTRSM_ILTNCOPY
1348
1349 #endif
1350
1351 #define SYMM3M_ILCOPYB          XSYMM3M_ILCOPYB
1352 #define SYMM3M_IUCOPYB          XSYMM3M_IUCOPYB
1353 #define SYMM3M_ILCOPYR          XSYMM3M_ILCOPYR
1354 #define SYMM3M_IUCOPYR          XSYMM3M_IUCOPYR
1355 #define SYMM3M_ILCOPYI          XSYMM3M_ILCOPYI
1356 #define SYMM3M_IUCOPYI          XSYMM3M_IUCOPYI
1357
1358 #define SYMM3M_OLCOPYB          XSYMM3M_OLCOPYB
1359 #define SYMM3M_OUCOPYB          XSYMM3M_OUCOPYB
1360 #define SYMM3M_OLCOPYR          XSYMM3M_OLCOPYR
1361 #define SYMM3M_OUCOPYR          XSYMM3M_OUCOPYR
1362 #define SYMM3M_OLCOPYI          XSYMM3M_OLCOPYI
1363 #define SYMM3M_OUCOPYI          XSYMM3M_OUCOPYI
1364
1365 #define HEMM3M_ILCOPYB          XHEMM3M_ILCOPYB
1366 #define HEMM3M_IUCOPYB          XHEMM3M_IUCOPYB
1367 #define HEMM3M_ILCOPYR          XHEMM3M_ILCOPYR
1368 #define HEMM3M_IUCOPYR          XHEMM3M_IUCOPYR
1369 #define HEMM3M_ILCOPYI          XHEMM3M_ILCOPYI
1370 #define HEMM3M_IUCOPYI          XHEMM3M_IUCOPYI
1371
1372 #define HEMM3M_OLCOPYB          XHEMM3M_OLCOPYB
1373 #define HEMM3M_OUCOPYB          XHEMM3M_OUCOPYB
1374 #define HEMM3M_OLCOPYR          XHEMM3M_OLCOPYR
1375 #define HEMM3M_OUCOPYR          XHEMM3M_OUCOPYR
1376 #define HEMM3M_OLCOPYI          XHEMM3M_OLCOPYI
1377 #define HEMM3M_OUCOPYI          XHEMM3M_OUCOPYI
1378
1379 #define GEMM_BETA               XGEMM_BETA
1380
1381 #define GEMM_KERNEL_N           XGEMM_KERNEL_N
1382 #define GEMM_KERNEL_L           XGEMM_KERNEL_L
1383 #define GEMM_KERNEL_R           XGEMM_KERNEL_R
1384 #define GEMM_KERNEL_B           XGEMM_KERNEL_B
1385
1386 #define GEMM3M_KERNEL           XGEMM3M_KERNEL
1387
1388 #define TRMM_KERNEL_LN          XTRMM_KERNEL_LN
1389 #define TRMM_KERNEL_LT          XTRMM_KERNEL_LT
1390 #define TRMM_KERNEL_LR          XTRMM_KERNEL_LR
1391 #define TRMM_KERNEL_LC          XTRMM_KERNEL_LC
1392 #define TRMM_KERNEL_RN          XTRMM_KERNEL_RN
1393 #define TRMM_KERNEL_RT          XTRMM_KERNEL_RT
1394 #define TRMM_KERNEL_RR          XTRMM_KERNEL_RR
1395 #define TRMM_KERNEL_RC          XTRMM_KERNEL_RC
1396
1397 #define TRSM_KERNEL_LN          XTRSM_KERNEL_LN
1398 #define TRSM_KERNEL_LT          XTRSM_KERNEL_LT
1399 #define TRSM_KERNEL_LR          XTRSM_KERNEL_LR
1400 #define TRSM_KERNEL_LC          XTRSM_KERNEL_LC
1401 #define TRSM_KERNEL_RN          XTRSM_KERNEL_RN
1402 #define TRSM_KERNEL_RT          XTRSM_KERNEL_RT
1403 #define TRSM_KERNEL_RR          XTRSM_KERNEL_RR
1404 #define TRSM_KERNEL_RC          XTRSM_KERNEL_RC
1405
1406 #define GEMM_NN                 XGEMM_NN
1407 #define GEMM_CN                 XGEMM_CN
1408 #define GEMM_TN                 XGEMM_TN
1409 #define GEMM_NC                 XGEMM_NC
1410 #define GEMM_NT                 XGEMM_NT
1411 #define GEMM_CC                 XGEMM_CC
1412 #define GEMM_CT                 XGEMM_CT
1413 #define GEMM_TC                 XGEMM_TC
1414 #define GEMM_TT                 XGEMM_TT
1415 #define GEMM_NR                 XGEMM_NR
1416 #define GEMM_TR                 XGEMM_TR
1417 #define GEMM_CR                 XGEMM_CR
1418 #define GEMM_RN                 XGEMM_RN
1419 #define GEMM_RT                 XGEMM_RT
1420 #define GEMM_RC                 XGEMM_RC
1421 #define GEMM_RR                 XGEMM_RR
1422
1423 #define SYMM_LU                 XSYMM_LU
1424 #define SYMM_LL                 XSYMM_LL
1425 #define SYMM_RU                 XSYMM_RU
1426 #define SYMM_RL                 XSYMM_RL
1427
1428 #define HEMM_LU                 XHEMM_LU
1429 #define HEMM_LL                 XHEMM_LL
1430 #define HEMM_RU                 XHEMM_RU
1431 #define HEMM_RL                 XHEMM_RL
1432
1433 #define HEMM_IUTCOPY            XHEMM_IUTCOPY
1434 #define HEMM_ILTCOPY            XHEMM_ILTCOPY
1435 #define HEMM_OUTCOPY            XHEMM_OUTCOPY
1436 #define HEMM_OLTCOPY            XHEMM_OLTCOPY
1437
1438 #define SYRK_UN                 XSYRK_UN
1439 #define SYRK_UT                 XSYRK_UT
1440 #define SYRK_LN                 XSYRK_LN
1441 #define SYRK_LT                 XSYRK_LT
1442 #define SYRK_UR                 XSYRK_UN
1443 #define SYRK_UC                 XSYRK_UT
1444 #define SYRK_LR                 XSYRK_LN
1445 #define SYRK_LC                 XSYRK_LT
1446
1447 #define SYRK_KERNEL_U           XSYRK_KERNEL_U
1448 #define SYRK_KERNEL_L           XSYRK_KERNEL_L
1449
1450 #define HERK_UN                 XHERK_UN
1451 #define HERK_LN                 XHERK_LN
1452 #define HERK_UC                 XHERK_UC
1453 #define HERK_LC                 XHERK_LC
1454
1455 #define HER2K_UN                XHER2K_UN
1456 #define HER2K_LN                XHER2K_LN
1457 #define HER2K_UC                XHER2K_UC
1458 #define HER2K_LC                XHER2K_LC
1459
1460 #define SYR2K_UN                XSYR2K_UN
1461 #define SYR2K_UT                XSYR2K_UT
1462 #define SYR2K_LN                XSYR2K_LN
1463 #define SYR2K_LT                XSYR2K_LT
1464 #define SYR2K_UR                XSYR2K_UN
1465 #define SYR2K_UC                XSYR2K_UT
1466 #define SYR2K_LR                XSYR2K_LN
1467 #define SYR2K_LC                XSYR2K_LT
1468
1469 #define SYR2K_KERNEL_U          XSYR2K_KERNEL_U
1470 #define SYR2K_KERNEL_L          XSYR2K_KERNEL_L
1471
1472 #define TRMM_LNUU               XTRMM_LNUU
1473 #define TRMM_LNUN               XTRMM_LNUN
1474 #define TRMM_LNLU               XTRMM_LNLU
1475 #define TRMM_LNLN               XTRMM_LNLN
1476 #define TRMM_LTUU               XTRMM_LTUU
1477 #define TRMM_LTUN               XTRMM_LTUN
1478 #define TRMM_LTLU               XTRMM_LTLU
1479 #define TRMM_LTLN               XTRMM_LTLN
1480 #define TRMM_LRUU               XTRMM_LRUU
1481 #define TRMM_LRUN               XTRMM_LRUN
1482 #define TRMM_LRLU               XTRMM_LRLU
1483 #define TRMM_LRLN               XTRMM_LRLN
1484 #define TRMM_LCUU               XTRMM_LCUU
1485 #define TRMM_LCUN               XTRMM_LCUN
1486 #define TRMM_LCLU               XTRMM_LCLU
1487 #define TRMM_LCLN               XTRMM_LCLN
1488 #define TRMM_RNUU               XTRMM_RNUU
1489 #define TRMM_RNUN               XTRMM_RNUN
1490 #define TRMM_RNLU               XTRMM_RNLU
1491 #define TRMM_RNLN               XTRMM_RNLN
1492 #define TRMM_RTUU               XTRMM_RTUU
1493 #define TRMM_RTUN               XTRMM_RTUN
1494 #define TRMM_RTLU               XTRMM_RTLU
1495 #define TRMM_RTLN               XTRMM_RTLN
1496 #define TRMM_RRUU               XTRMM_RRUU
1497 #define TRMM_RRUN               XTRMM_RRUN
1498 #define TRMM_RRLU               XTRMM_RRLU
1499 #define TRMM_RRLN               XTRMM_RRLN
1500 #define TRMM_RCUU               XTRMM_RCUU
1501 #define TRMM_RCUN               XTRMM_RCUN
1502 #define TRMM_RCLU               XTRMM_RCLU
1503 #define TRMM_RCLN               XTRMM_RCLN
1504
1505 #define TRSM_LNUU               XTRSM_LNUU
1506 #define TRSM_LNUN               XTRSM_LNUN
1507 #define TRSM_LNLU               XTRSM_LNLU
1508 #define TRSM_LNLN               XTRSM_LNLN
1509 #define TRSM_LTUU               XTRSM_LTUU
1510 #define TRSM_LTUN               XTRSM_LTUN
1511 #define TRSM_LTLU               XTRSM_LTLU
1512 #define TRSM_LTLN               XTRSM_LTLN
1513 #define TRSM_LRUU               XTRSM_LRUU
1514 #define TRSM_LRUN               XTRSM_LRUN
1515 #define TRSM_LRLU               XTRSM_LRLU
1516 #define TRSM_LRLN               XTRSM_LRLN
1517 #define TRSM_LCUU               XTRSM_LCUU
1518 #define TRSM_LCUN               XTRSM_LCUN
1519 #define TRSM_LCLU               XTRSM_LCLU
1520 #define TRSM_LCLN               XTRSM_LCLN
1521 #define TRSM_RNUU               XTRSM_RNUU
1522 #define TRSM_RNUN               XTRSM_RNUN
1523 #define TRSM_RNLU               XTRSM_RNLU
1524 #define TRSM_RNLN               XTRSM_RNLN
1525 #define TRSM_RTUU               XTRSM_RTUU
1526 #define TRSM_RTUN               XTRSM_RTUN
1527 #define TRSM_RTLU               XTRSM_RTLU
1528 #define TRSM_RTLN               XTRSM_RTLN
1529 #define TRSM_RRUU               XTRSM_RRUU
1530 #define TRSM_RRUN               XTRSM_RRUN
1531 #define TRSM_RRLU               XTRSM_RRLU
1532 #define TRSM_RRLN               XTRSM_RRLN
1533 #define TRSM_RCUU               XTRSM_RCUU
1534 #define TRSM_RCUN               XTRSM_RCUN
1535 #define TRSM_RCLU               XTRSM_RCLU
1536 #define TRSM_RCLN               XTRSM_RCLN
1537
1538
1539 #define GEMM_THREAD_NN          XGEMM_THREAD_NN
1540 #define GEMM_THREAD_CN          XGEMM_THREAD_CN
1541 #define GEMM_THREAD_TN          XGEMM_THREAD_TN
1542 #define GEMM_THREAD_NC          XGEMM_THREAD_NC
1543 #define GEMM_THREAD_NT          XGEMM_THREAD_NT
1544 #define GEMM_THREAD_CC          XGEMM_THREAD_CC
1545 #define GEMM_THREAD_CT          XGEMM_THREAD_CT
1546 #define GEMM_THREAD_TC          XGEMM_THREAD_TC
1547 #define GEMM_THREAD_TT          XGEMM_THREAD_TT
1548 #define GEMM_THREAD_NR          XGEMM_THREAD_NR
1549 #define GEMM_THREAD_TR          XGEMM_THREAD_TR
1550 #define GEMM_THREAD_CR          XGEMM_THREAD_CR
1551 #define GEMM_THREAD_RN          XGEMM_THREAD_RN
1552 #define GEMM_THREAD_RT          XGEMM_THREAD_RT
1553 #define GEMM_THREAD_RC          XGEMM_THREAD_RC
1554 #define GEMM_THREAD_RR          XGEMM_THREAD_RR
1555
1556 #define SYMM_THREAD_LU          XSYMM_THREAD_LU
1557 #define SYMM_THREAD_LL          XSYMM_THREAD_LL
1558 #define SYMM_THREAD_RU          XSYMM_THREAD_RU
1559 #define SYMM_THREAD_RL          XSYMM_THREAD_RL
1560
1561 #define HEMM_THREAD_LU          XHEMM_THREAD_LU
1562 #define HEMM_THREAD_LL          XHEMM_THREAD_LL
1563 #define HEMM_THREAD_RU          XHEMM_THREAD_RU
1564 #define HEMM_THREAD_RL          XHEMM_THREAD_RL
1565
1566 #define SYRK_THREAD_UN          XSYRK_THREAD_UN
1567 #define SYRK_THREAD_UT          XSYRK_THREAD_UT
1568 #define SYRK_THREAD_LN          XSYRK_THREAD_LN
1569 #define SYRK_THREAD_LT          XSYRK_THREAD_LT
1570 #define SYRK_THREAD_UR          XSYRK_THREAD_UR
1571 #define SYRK_THREAD_UC          XSYRK_THREAD_UC
1572 #define SYRK_THREAD_LR          XSYRK_THREAD_LR
1573 #define SYRK_THREAD_LC          XSYRK_THREAD_LC
1574
1575 #define HERK_THREAD_UN          XHERK_THREAD_UN
1576 #define HERK_THREAD_UT          XHERK_THREAD_UT
1577 #define HERK_THREAD_LN          XHERK_THREAD_LN
1578 #define HERK_THREAD_LT          XHERK_THREAD_LT
1579 #define HERK_THREAD_UR          XHERK_THREAD_UR
1580 #define HERK_THREAD_UC          XHERK_THREAD_UC
1581 #define HERK_THREAD_LR          XHERK_THREAD_LR
1582 #define HERK_THREAD_LC          XHERK_THREAD_LC
1583
1584 #define GEMM3M_NN               XGEMM3M_NN
1585 #define GEMM3M_CN               XGEMM3M_CN
1586 #define GEMM3M_TN               XGEMM3M_TN
1587 #define GEMM3M_NC               XGEMM3M_NC
1588 #define GEMM3M_NT               XGEMM3M_NT
1589 #define GEMM3M_CC               XGEMM3M_CC
1590 #define GEMM3M_CT               XGEMM3M_CT
1591 #define GEMM3M_TC               XGEMM3M_TC
1592 #define GEMM3M_TT               XGEMM3M_TT
1593 #define GEMM3M_NR               XGEMM3M_NR
1594 #define GEMM3M_TR               XGEMM3M_TR
1595 #define GEMM3M_CR               XGEMM3M_CR
1596 #define GEMM3M_RN               XGEMM3M_RN
1597 #define GEMM3M_RT               XGEMM3M_RT
1598 #define GEMM3M_RC               XGEMM3M_RC
1599 #define GEMM3M_RR               XGEMM3M_RR
1600
1601 #define GEMM3M_THREAD_NN        XGEMM3M_THREAD_NN
1602 #define GEMM3M_THREAD_CN        XGEMM3M_THREAD_CN
1603 #define GEMM3M_THREAD_TN        XGEMM3M_THREAD_TN
1604 #define GEMM3M_THREAD_NC        XGEMM3M_THREAD_NC
1605 #define GEMM3M_THREAD_NT        XGEMM3M_THREAD_NT
1606 #define GEMM3M_THREAD_CC        XGEMM3M_THREAD_CC
1607 #define GEMM3M_THREAD_CT        XGEMM3M_THREAD_CT
1608 #define GEMM3M_THREAD_TC        XGEMM3M_THREAD_TC
1609 #define GEMM3M_THREAD_TT        XGEMM3M_THREAD_TT
1610 #define GEMM3M_THREAD_NR        XGEMM3M_THREAD_NR
1611 #define GEMM3M_THREAD_TR        XGEMM3M_THREAD_TR
1612 #define GEMM3M_THREAD_CR        XGEMM3M_THREAD_CR
1613 #define GEMM3M_THREAD_RN        XGEMM3M_THREAD_RN
1614 #define GEMM3M_THREAD_RT        XGEMM3M_THREAD_RT
1615 #define GEMM3M_THREAD_RC        XGEMM3M_THREAD_RC
1616 #define GEMM3M_THREAD_RR        XGEMM3M_THREAD_RR
1617
1618 #define SYMM3M_LU               XSYMM3M_LU
1619 #define SYMM3M_LL               XSYMM3M_LL
1620 #define SYMM3M_RU               XSYMM3M_RU
1621 #define SYMM3M_RL               XSYMM3M_RL
1622
1623 #define SYMM3M_THREAD_LU        XSYMM3M_THREAD_LU
1624 #define SYMM3M_THREAD_LL        XSYMM3M_THREAD_LL
1625 #define SYMM3M_THREAD_RU        XSYMM3M_THREAD_RU
1626 #define SYMM3M_THREAD_RL        XSYMM3M_THREAD_RL
1627
1628 #define HEMM3M_LU               XHEMM3M_LU
1629 #define HEMM3M_LL               XHEMM3M_LL
1630 #define HEMM3M_RU               XHEMM3M_RU
1631 #define HEMM3M_RL               XHEMM3M_RL
1632
1633 #define HEMM3M_THREAD_LU        XHEMM3M_THREAD_LU
1634 #define HEMM3M_THREAD_LL        XHEMM3M_THREAD_LL
1635 #define HEMM3M_THREAD_RU        XHEMM3M_THREAD_RU
1636 #define HEMM3M_THREAD_RL        XHEMM3M_THREAD_RL
1637
1638 #define SYMM_IUTCOPY            XSYMM_IUTCOPY
1639 #define SYMM_ILTCOPY            XSYMM_ILTCOPY
1640 #define SYMM_OUTCOPY            XSYMM_OUTCOPY
1641 #define SYMM_OLTCOPY            XSYMM_OLTCOPY
1642
1643 #elif defined(DOUBLE)
1644
1645 #define AMAX_K                  ZAMAX_K
1646 #define AMIN_K                  ZAMIN_K
1647 #define MAX_K                   ZMAX_K
1648 #define MIN_K                   ZMIN_K
1649 #define IAMAX_K                 IZAMAX_K
1650 #define IAMIN_K                 IZAMIN_K
1651 #define IMAX_K                  IZMAX_K
1652 #define IMIN_K                  IZMIN_K
1653 #define ASUM_K                  ZASUM_K
1654 #define AXPYU_K                 ZAXPYU_K
1655 #define AXPYC_K                 ZAXPYC_K
1656 #define COPY_K                  ZCOPY_K
1657 #define DOTU_K                  ZDOTU_K
1658 #define DOTC_K                  ZDOTC_K
1659 #define NRM2_K                  ZNRM2_K
1660 #define SCAL_K                  ZSCAL_K
1661 #define SUM_K                   ZSUM_K
1662 #define SWAP_K                  ZSWAP_K
1663 #define ROT_K                   ZROT_K
1664
1665 #define GEMV_N                  ZGEMV_N
1666 #define GEMV_T                  ZGEMV_T
1667 #define GEMV_R                  ZGEMV_R
1668 #define GEMV_C                  ZGEMV_C
1669 #define GEMV_O                  ZGEMV_O
1670 #define GEMV_U                  ZGEMV_U
1671 #define GEMV_S                  ZGEMV_S
1672 #define GEMV_D                  ZGEMV_D
1673
1674 #define GERU_K                  ZGERU_K
1675 #define GERC_K                  ZGERC_K
1676 #define GERV_K                  ZGERV_K
1677 #define GERD_K                  ZGERD_K
1678
1679 #define SYMV_U                  ZSYMV_U
1680 #define SYMV_L                  ZSYMV_L
1681 #define HEMV_U                  ZHEMV_U
1682 #define HEMV_L                  ZHEMV_L
1683 #define HEMV_V                  ZHEMV_V
1684 #define HEMV_M                  ZHEMV_M
1685
1686 #define SYMV_THREAD_U           ZSYMV_THREAD_U
1687 #define SYMV_THREAD_L           ZSYMV_THREAD_L
1688 #define HEMV_THREAD_U           ZHEMV_THREAD_U
1689 #define HEMV_THREAD_L           ZHEMV_THREAD_L
1690 #define HEMV_THREAD_V           ZHEMV_THREAD_V
1691 #define HEMV_THREAD_M           ZHEMV_THREAD_M
1692
1693 #define GEMM_ONCOPY             ZGEMM_ONCOPY
1694 #define GEMM_OTCOPY             ZGEMM_OTCOPY
1695 #define GEMM_INCOPY             ZGEMM_INCOPY
1696 #define GEMM_ITCOPY             ZGEMM_ITCOPY
1697
1698 #define GEMM3M_ONCOPYB          ZGEMM3M_ONCOPYB
1699 #define GEMM3M_ONCOPYR          ZGEMM3M_ONCOPYR
1700 #define GEMM3M_ONCOPYI          ZGEMM3M_ONCOPYI
1701 #define GEMM3M_OTCOPYB          ZGEMM3M_OTCOPYB
1702 #define GEMM3M_OTCOPYR          ZGEMM3M_OTCOPYR
1703 #define GEMM3M_OTCOPYI          ZGEMM3M_OTCOPYI
1704 #define GEMM3M_INCOPYB          ZGEMM3M_INCOPYB
1705 #define GEMM3M_INCOPYR          ZGEMM3M_INCOPYR
1706 #define GEMM3M_INCOPYI          ZGEMM3M_INCOPYI
1707 #define GEMM3M_ITCOPYB          ZGEMM3M_ITCOPYB
1708 #define GEMM3M_ITCOPYR          ZGEMM3M_ITCOPYR
1709 #define GEMM3M_ITCOPYI          ZGEMM3M_ITCOPYI
1710
1711 #ifdef UNIT
1712
1713 #define TRMM_OUNCOPY            ZTRMM_OUNUCOPY
1714 #define TRMM_OUTCOPY            ZTRMM_OUTUCOPY
1715 #define TRMM_OLNCOPY            ZTRMM_OLNUCOPY
1716 #define TRMM_OLTCOPY            ZTRMM_OLTUCOPY
1717 #define TRSM_OUNCOPY            ZTRSM_OUNUCOPY
1718 #define TRSM_OUTCOPY            ZTRSM_OUTUCOPY
1719 #define TRSM_OLNCOPY            ZTRSM_OLNUCOPY
1720 #define TRSM_OLTCOPY            ZTRSM_OLTUCOPY
1721
1722 #define TRMM_IUNCOPY            ZTRMM_IUNUCOPY
1723 #define TRMM_IUTCOPY            ZTRMM_IUTUCOPY
1724 #define TRMM_ILNCOPY            ZTRMM_ILNUCOPY
1725 #define TRMM_ILTCOPY            ZTRMM_ILTUCOPY
1726 #define TRSM_IUNCOPY            ZTRSM_IUNUCOPY
1727 #define TRSM_IUTCOPY            ZTRSM_IUTUCOPY
1728 #define TRSM_ILNCOPY            ZTRSM_ILNUCOPY
1729 #define TRSM_ILTCOPY            ZTRSM_ILTUCOPY
1730
1731 #else
1732
1733 #define TRMM_OUNCOPY            ZTRMM_OUNNCOPY
1734 #define TRMM_OUTCOPY            ZTRMM_OUTNCOPY
1735 #define TRMM_OLNCOPY            ZTRMM_OLNNCOPY
1736 #define TRMM_OLTCOPY            ZTRMM_OLTNCOPY
1737 #define TRSM_OUNCOPY            ZTRSM_OUNNCOPY
1738 #define TRSM_OUTCOPY            ZTRSM_OUTNCOPY
1739 #define TRSM_OLNCOPY            ZTRSM_OLNNCOPY
1740 #define TRSM_OLTCOPY            ZTRSM_OLTNCOPY
1741
1742 #define TRMM_IUNCOPY            ZTRMM_IUNNCOPY
1743 #define TRMM_IUTCOPY            ZTRMM_IUTNCOPY
1744 #define TRMM_ILNCOPY            ZTRMM_ILNNCOPY
1745 #define TRMM_ILTCOPY            ZTRMM_ILTNCOPY
1746 #define TRSM_IUNCOPY            ZTRSM_IUNNCOPY
1747 #define TRSM_IUTCOPY            ZTRSM_IUTNCOPY
1748 #define TRSM_ILNCOPY            ZTRSM_ILNNCOPY
1749 #define TRSM_ILTCOPY            ZTRSM_ILTNCOPY
1750
1751 #endif
1752
1753 #define SYMM3M_ILCOPYB          ZSYMM3M_ILCOPYB
1754 #define SYMM3M_IUCOPYB          ZSYMM3M_IUCOPYB
1755 #define SYMM3M_ILCOPYR          ZSYMM3M_ILCOPYR
1756 #define SYMM3M_IUCOPYR          ZSYMM3M_IUCOPYR
1757 #define SYMM3M_ILCOPYI          ZSYMM3M_ILCOPYI
1758 #define SYMM3M_IUCOPYI          ZSYMM3M_IUCOPYI
1759
1760 #define SYMM3M_OLCOPYB          ZSYMM3M_OLCOPYB
1761 #define SYMM3M_OUCOPYB          ZSYMM3M_OUCOPYB
1762 #define SYMM3M_OLCOPYR          ZSYMM3M_OLCOPYR
1763 #define SYMM3M_OUCOPYR          ZSYMM3M_OUCOPYR
1764 #define SYMM3M_OLCOPYI          ZSYMM3M_OLCOPYI
1765 #define SYMM3M_OUCOPYI          ZSYMM3M_OUCOPYI
1766
1767 #define HEMM3M_ILCOPYB          ZHEMM3M_ILCOPYB
1768 #define HEMM3M_IUCOPYB          ZHEMM3M_IUCOPYB
1769 #define HEMM3M_ILCOPYR          ZHEMM3M_ILCOPYR
1770 #define HEMM3M_IUCOPYR          ZHEMM3M_IUCOPYR
1771 #define HEMM3M_ILCOPYI          ZHEMM3M_ILCOPYI
1772 #define HEMM3M_IUCOPYI          ZHEMM3M_IUCOPYI
1773
1774 #define HEMM3M_OLCOPYB          ZHEMM3M_OLCOPYB
1775 #define HEMM3M_OUCOPYB          ZHEMM3M_OUCOPYB
1776 #define HEMM3M_OLCOPYR          ZHEMM3M_OLCOPYR
1777 #define HEMM3M_OUCOPYR          ZHEMM3M_OUCOPYR
1778 #define HEMM3M_OLCOPYI          ZHEMM3M_OLCOPYI
1779 #define HEMM3M_OUCOPYI          ZHEMM3M_OUCOPYI
1780
1781 #define GEMM_BETA               ZGEMM_BETA
1782
1783 #define GEMM_KERNEL_N           ZGEMM_KERNEL_N
1784 #define GEMM_KERNEL_L           ZGEMM_KERNEL_L
1785 #define GEMM_KERNEL_R           ZGEMM_KERNEL_R
1786 #define GEMM_KERNEL_B           ZGEMM_KERNEL_B
1787
1788 #define GEMM3M_KERNEL           ZGEMM3M_KERNEL
1789
1790 #define TRMM_KERNEL_LN          ZTRMM_KERNEL_LN
1791 #define TRMM_KERNEL_LT          ZTRMM_KERNEL_LT
1792 #define TRMM_KERNEL_LR          ZTRMM_KERNEL_LR
1793 #define TRMM_KERNEL_LC          ZTRMM_KERNEL_LC
1794 #define TRMM_KERNEL_RN          ZTRMM_KERNEL_RN
1795 #define TRMM_KERNEL_RT          ZTRMM_KERNEL_RT
1796 #define TRMM_KERNEL_RR          ZTRMM_KERNEL_RR
1797 #define TRMM_KERNEL_RC          ZTRMM_KERNEL_RC
1798
1799 #define TRSM_KERNEL_LN          ZTRSM_KERNEL_LN
1800 #define TRSM_KERNEL_LT          ZTRSM_KERNEL_LT
1801 #define TRSM_KERNEL_LR          ZTRSM_KERNEL_LR
1802 #define TRSM_KERNEL_LC          ZTRSM_KERNEL_LC
1803 #define TRSM_KERNEL_RN          ZTRSM_KERNEL_RN
1804 #define TRSM_KERNEL_RT          ZTRSM_KERNEL_RT
1805 #define TRSM_KERNEL_RR          ZTRSM_KERNEL_RR
1806 #define TRSM_KERNEL_RC          ZTRSM_KERNEL_RC
1807
1808 #define GEMM_NN                 ZGEMM_NN
1809 #define GEMM_CN                 ZGEMM_CN
1810 #define GEMM_TN                 ZGEMM_TN
1811 #define GEMM_NC                 ZGEMM_NC
1812 #define GEMM_NT                 ZGEMM_NT
1813 #define GEMM_CC                 ZGEMM_CC
1814 #define GEMM_CT                 ZGEMM_CT
1815 #define GEMM_TC                 ZGEMM_TC
1816 #define GEMM_TT                 ZGEMM_TT
1817 #define GEMM_NR                 ZGEMM_NR
1818 #define GEMM_TR                 ZGEMM_TR
1819 #define GEMM_CR                 ZGEMM_CR
1820 #define GEMM_RN                 ZGEMM_RN
1821 #define GEMM_RT                 ZGEMM_RT
1822 #define GEMM_RC                 ZGEMM_RC
1823 #define GEMM_RR                 ZGEMM_RR
1824
1825 #define SYMM_LU                 ZSYMM_LU
1826 #define SYMM_LL                 ZSYMM_LL
1827 #define SYMM_RU                 ZSYMM_RU
1828 #define SYMM_RL                 ZSYMM_RL
1829
1830 #define HEMM_LU                 ZHEMM_LU
1831 #define HEMM_LL                 ZHEMM_LL
1832 #define HEMM_RU                 ZHEMM_RU
1833 #define HEMM_RL                 ZHEMM_RL
1834
1835 #define HEMM_IUTCOPY            ZHEMM_IUTCOPY
1836 #define HEMM_ILTCOPY            ZHEMM_ILTCOPY
1837 #define HEMM_OUTCOPY            ZHEMM_OUTCOPY
1838 #define HEMM_OLTCOPY            ZHEMM_OLTCOPY
1839
1840 #define SYRK_UN                 ZSYRK_UN
1841 #define SYRK_UT                 ZSYRK_UT
1842 #define SYRK_LN                 ZSYRK_LN
1843 #define SYRK_LT                 ZSYRK_LT
1844 #define SYRK_UR                 ZSYRK_UN
1845 #define SYRK_UC                 ZSYRK_UT
1846 #define SYRK_LR                 ZSYRK_LN
1847 #define SYRK_LC                 ZSYRK_LT
1848
1849 #define SYRK_KERNEL_U           ZSYRK_KERNEL_U
1850 #define SYRK_KERNEL_L           ZSYRK_KERNEL_L
1851
1852 #define HERK_UN                 ZHERK_UN
1853 #define HERK_LN                 ZHERK_LN
1854 #define HERK_UC                 ZHERK_UC
1855 #define HERK_LC                 ZHERK_LC
1856
1857 #define HER2K_UN                ZHER2K_UN
1858 #define HER2K_LN                ZHER2K_LN
1859 #define HER2K_UC                ZHER2K_UC
1860 #define HER2K_LC                ZHER2K_LC
1861
1862 #define SYR2K_UN                ZSYR2K_UN
1863 #define SYR2K_UT                ZSYR2K_UT
1864 #define SYR2K_LN                ZSYR2K_LN
1865 #define SYR2K_LT                ZSYR2K_LT
1866 #define SYR2K_UR                ZSYR2K_UN
1867 #define SYR2K_UC                ZSYR2K_UT
1868 #define SYR2K_LR                ZSYR2K_LN
1869 #define SYR2K_LC                ZSYR2K_LT
1870
1871 #define SYR2K_KERNEL_U          ZSYR2K_KERNEL_U
1872 #define SYR2K_KERNEL_L          ZSYR2K_KERNEL_L
1873
1874 #define TRMM_LNUU               ZTRMM_LNUU
1875 #define TRMM_LNUN               ZTRMM_LNUN
1876 #define TRMM_LNLU               ZTRMM_LNLU
1877 #define TRMM_LNLN               ZTRMM_LNLN
1878 #define TRMM_LTUU               ZTRMM_LTUU
1879 #define TRMM_LTUN               ZTRMM_LTUN
1880 #define TRMM_LTLU               ZTRMM_LTLU
1881 #define TRMM_LTLN               ZTRMM_LTLN
1882 #define TRMM_LRUU               ZTRMM_LRUU
1883 #define TRMM_LRUN               ZTRMM_LRUN
1884 #define TRMM_LRLU               ZTRMM_LRLU
1885 #define TRMM_LRLN               ZTRMM_LRLN
1886 #define TRMM_LCUU               ZTRMM_LCUU
1887 #define TRMM_LCUN               ZTRMM_LCUN
1888 #define TRMM_LCLU               ZTRMM_LCLU
1889 #define TRMM_LCLN               ZTRMM_LCLN
1890 #define TRMM_RNUU               ZTRMM_RNUU
1891 #define TRMM_RNUN               ZTRMM_RNUN
1892 #define TRMM_RNLU               ZTRMM_RNLU
1893 #define TRMM_RNLN               ZTRMM_RNLN
1894 #define TRMM_RTUU               ZTRMM_RTUU
1895 #define TRMM_RTUN               ZTRMM_RTUN
1896 #define TRMM_RTLU               ZTRMM_RTLU
1897 #define TRMM_RTLN               ZTRMM_RTLN
1898 #define TRMM_RRUU               ZTRMM_RRUU
1899 #define TRMM_RRUN               ZTRMM_RRUN
1900 #define TRMM_RRLU               ZTRMM_RRLU
1901 #define TRMM_RRLN               ZTRMM_RRLN
1902 #define TRMM_RCUU               ZTRMM_RCUU
1903 #define TRMM_RCUN               ZTRMM_RCUN
1904 #define TRMM_RCLU               ZTRMM_RCLU
1905 #define TRMM_RCLN               ZTRMM_RCLN
1906
1907 #define TRSM_LNUU               ZTRSM_LNUU
1908 #define TRSM_LNUN               ZTRSM_LNUN
1909 #define TRSM_LNLU               ZTRSM_LNLU
1910 #define TRSM_LNLN               ZTRSM_LNLN
1911 #define TRSM_LTUU               ZTRSM_LTUU
1912 #define TRSM_LTUN               ZTRSM_LTUN
1913 #define TRSM_LTLU               ZTRSM_LTLU
1914 #define TRSM_LTLN               ZTRSM_LTLN
1915 #define TRSM_LRUU               ZTRSM_LRUU
1916 #define TRSM_LRUN               ZTRSM_LRUN
1917 #define TRSM_LRLU               ZTRSM_LRLU
1918 #define TRSM_LRLN               ZTRSM_LRLN
1919 #define TRSM_LCUU               ZTRSM_LCUU
1920 #define TRSM_LCUN               ZTRSM_LCUN
1921 #define TRSM_LCLU               ZTRSM_LCLU
1922 #define TRSM_LCLN               ZTRSM_LCLN
1923 #define TRSM_RNUU               ZTRSM_RNUU
1924 #define TRSM_RNUN               ZTRSM_RNUN
1925 #define TRSM_RNLU               ZTRSM_RNLU
1926 #define TRSM_RNLN               ZTRSM_RNLN
1927 #define TRSM_RTUU               ZTRSM_RTUU
1928 #define TRSM_RTUN               ZTRSM_RTUN
1929 #define TRSM_RTLU               ZTRSM_RTLU
1930 #define TRSM_RTLN               ZTRSM_RTLN
1931 #define TRSM_RRUU               ZTRSM_RRUU
1932 #define TRSM_RRUN               ZTRSM_RRUN
1933 #define TRSM_RRLU               ZTRSM_RRLU
1934 #define TRSM_RRLN               ZTRSM_RRLN
1935 #define TRSM_RCUU               ZTRSM_RCUU
1936 #define TRSM_RCUN               ZTRSM_RCUN
1937 #define TRSM_RCLU               ZTRSM_RCLU
1938 #define TRSM_RCLN               ZTRSM_RCLN
1939
1940
1941 #define GEMM_THREAD_NN          ZGEMM_THREAD_NN
1942 #define GEMM_THREAD_CN          ZGEMM_THREAD_CN
1943 #define GEMM_THREAD_TN          ZGEMM_THREAD_TN
1944 #define GEMM_THREAD_NC          ZGEMM_THREAD_NC
1945 #define GEMM_THREAD_NT          ZGEMM_THREAD_NT
1946 #define GEMM_THREAD_CC          ZGEMM_THREAD_CC
1947 #define GEMM_THREAD_CT          ZGEMM_THREAD_CT
1948 #define GEMM_THREAD_TC          ZGEMM_THREAD_TC
1949 #define GEMM_THREAD_TT          ZGEMM_THREAD_TT
1950 #define GEMM_THREAD_NR          ZGEMM_THREAD_NR
1951 #define GEMM_THREAD_TR          ZGEMM_THREAD_TR
1952 #define GEMM_THREAD_CR          ZGEMM_THREAD_CR
1953 #define GEMM_THREAD_RN          ZGEMM_THREAD_RN
1954 #define GEMM_THREAD_RT          ZGEMM_THREAD_RT
1955 #define GEMM_THREAD_RC          ZGEMM_THREAD_RC
1956 #define GEMM_THREAD_RR          ZGEMM_THREAD_RR
1957
1958 #define SYMM_THREAD_LU          ZSYMM_THREAD_LU
1959 #define SYMM_THREAD_LL          ZSYMM_THREAD_LL
1960 #define SYMM_THREAD_RU          ZSYMM_THREAD_RU
1961 #define SYMM_THREAD_RL          ZSYMM_THREAD_RL
1962
1963 #define HEMM_THREAD_LU          ZHEMM_THREAD_LU
1964 #define HEMM_THREAD_LL          ZHEMM_THREAD_LL
1965 #define HEMM_THREAD_RU          ZHEMM_THREAD_RU
1966 #define HEMM_THREAD_RL          ZHEMM_THREAD_RL
1967
1968 #define SYRK_THREAD_UN          ZSYRK_THREAD_UN
1969 #define SYRK_THREAD_UT          ZSYRK_THREAD_UT
1970 #define SYRK_THREAD_LN          ZSYRK_THREAD_LN
1971 #define SYRK_THREAD_LT          ZSYRK_THREAD_LT
1972 #define SYRK_THREAD_UR          ZSYRK_THREAD_UR
1973 #define SYRK_THREAD_UC          ZSYRK_THREAD_UC
1974 #define SYRK_THREAD_LR          ZSYRK_THREAD_LR
1975 #define SYRK_THREAD_LC          ZSYRK_THREAD_LC
1976
1977 #define HERK_THREAD_UN          ZHERK_THREAD_UN
1978 #define HERK_THREAD_UT          ZHERK_THREAD_UT
1979 #define HERK_THREAD_LN          ZHERK_THREAD_LN
1980 #define HERK_THREAD_LT          ZHERK_THREAD_LT
1981 #define HERK_THREAD_UR          ZHERK_THREAD_UR
1982 #define HERK_THREAD_UC          ZHERK_THREAD_UC
1983 #define HERK_THREAD_LR          ZHERK_THREAD_LR
1984 #define HERK_THREAD_LC          ZHERK_THREAD_LC
1985
1986 #define GEMM3M_NN               ZGEMM3M_NN
1987 #define GEMM3M_CN               ZGEMM3M_CN
1988 #define GEMM3M_TN               ZGEMM3M_TN
1989 #define GEMM3M_NC               ZGEMM3M_NC
1990 #define GEMM3M_NT               ZGEMM3M_NT
1991 #define GEMM3M_CC               ZGEMM3M_CC
1992 #define GEMM3M_CT               ZGEMM3M_CT
1993 #define GEMM3M_TC               ZGEMM3M_TC
1994 #define GEMM3M_TT               ZGEMM3M_TT
1995 #define GEMM3M_NR               ZGEMM3M_NR
1996 #define GEMM3M_TR               ZGEMM3M_TR
1997 #define GEMM3M_CR               ZGEMM3M_CR
1998 #define GEMM3M_RN               ZGEMM3M_RN
1999 #define GEMM3M_RT               ZGEMM3M_RT
2000 #define GEMM3M_RC               ZGEMM3M_RC
2001 #define GEMM3M_RR               ZGEMM3M_RR
2002
2003 #define GEMM3M_THREAD_NN        ZGEMM3M_THREAD_NN
2004 #define GEMM3M_THREAD_CN        ZGEMM3M_THREAD_CN
2005 #define GEMM3M_THREAD_TN        ZGEMM3M_THREAD_TN
2006 #define GEMM3M_THREAD_NC        ZGEMM3M_THREAD_NC
2007 #define GEMM3M_THREAD_NT        ZGEMM3M_THREAD_NT
2008 #define GEMM3M_THREAD_CC        ZGEMM3M_THREAD_CC
2009 #define GEMM3M_THREAD_CT        ZGEMM3M_THREAD_CT
2010 #define GEMM3M_THREAD_TC        ZGEMM3M_THREAD_TC
2011 #define GEMM3M_THREAD_TT        ZGEMM3M_THREAD_TT
2012 #define GEMM3M_THREAD_NR        ZGEMM3M_THREAD_NR
2013 #define GEMM3M_THREAD_TR        ZGEMM3M_THREAD_TR
2014 #define GEMM3M_THREAD_CR        ZGEMM3M_THREAD_CR
2015 #define GEMM3M_THREAD_RN        ZGEMM3M_THREAD_RN
2016 #define GEMM3M_THREAD_RT        ZGEMM3M_THREAD_RT
2017 #define GEMM3M_THREAD_RC        ZGEMM3M_THREAD_RC
2018 #define GEMM3M_THREAD_RR        ZGEMM3M_THREAD_RR
2019
2020 #define SYMM3M_LU               ZSYMM3M_LU
2021 #define SYMM3M_LL               ZSYMM3M_LL
2022 #define SYMM3M_RU               ZSYMM3M_RU
2023 #define SYMM3M_RL               ZSYMM3M_RL
2024
2025 #define SYMM3M_THREAD_LU        ZSYMM3M_THREAD_LU
2026 #define SYMM3M_THREAD_LL        ZSYMM3M_THREAD_LL
2027 #define SYMM3M_THREAD_RU        ZSYMM3M_THREAD_RU
2028 #define SYMM3M_THREAD_RL        ZSYMM3M_THREAD_RL
2029
2030 #define HEMM3M_LU               ZHEMM3M_LU
2031 #define HEMM3M_LL               ZHEMM3M_LL
2032 #define HEMM3M_RU               ZHEMM3M_RU
2033 #define HEMM3M_RL               ZHEMM3M_RL
2034
2035 #define HEMM3M_THREAD_LU        ZHEMM3M_THREAD_LU
2036 #define HEMM3M_THREAD_LL        ZHEMM3M_THREAD_LL
2037 #define HEMM3M_THREAD_RU        ZHEMM3M_THREAD_RU
2038 #define HEMM3M_THREAD_RL        ZHEMM3M_THREAD_RL
2039
2040 #define SYMM_IUTCOPY            ZSYMM_IUTCOPY
2041 #define SYMM_ILTCOPY            ZSYMM_ILTCOPY
2042 #define SYMM_OUTCOPY            ZSYMM_OUTCOPY
2043 #define SYMM_OLTCOPY            ZSYMM_OLTCOPY
2044
2045 #define AXPBY_K                 ZAXPBY_K
2046
2047 #define OMATCOPY_K_CN           ZOMATCOPY_K_CN
2048 #define OMATCOPY_K_RN           ZOMATCOPY_K_RN
2049 #define OMATCOPY_K_CT           ZOMATCOPY_K_CT
2050 #define OMATCOPY_K_RT           ZOMATCOPY_K_RT
2051 #define OMATCOPY_K_CNC          ZOMATCOPY_K_CNC
2052 #define OMATCOPY_K_RNC          ZOMATCOPY_K_RNC
2053 #define OMATCOPY_K_CTC          ZOMATCOPY_K_CTC
2054 #define OMATCOPY_K_RTC          ZOMATCOPY_K_RTC
2055 #define IMATCOPY_K_CN           ZIMATCOPY_K_CN
2056 #define IMATCOPY_K_RN           ZIMATCOPY_K_RN
2057 #define IMATCOPY_K_CT           ZIMATCOPY_K_CT
2058 #define IMATCOPY_K_RT           ZIMATCOPY_K_RT
2059 #define IMATCOPY_K_CNC          ZIMATCOPY_K_CNC
2060 #define IMATCOPY_K_RNC          ZIMATCOPY_K_RNC
2061 #define IMATCOPY_K_CTC          ZIMATCOPY_K_CTC
2062 #define IMATCOPY_K_RTC          ZIMATCOPY_K_RTC
2063
2064 #define GEADD_K                 ZGEADD_K
2065
2066 #else
2067
2068 #define AMAX_K                  CAMAX_K
2069 #define AMIN_K                  CAMIN_K
2070 #define MAX_K                   CMAX_K
2071 #define MIN_K                   CMIN_K
2072 #define IAMAX_K                 ICAMAX_K
2073 #define IAMIN_K                 ICAMIN_K
2074 #define IMAX_K                  ICMAX_K
2075 #define IMIN_K                  ICMIN_K
2076 #define ASUM_K                  CASUM_K
2077 #define AXPYU_K                 CAXPYU_K
2078 #define AXPYC_K                 CAXPYC_K
2079 #define COPY_K                  CCOPY_K
2080 #define DOTU_K                  CDOTU_K
2081 #define DOTC_K                  CDOTC_K
2082 #define NRM2_K                  CNRM2_K
2083 #define SCAL_K                  CSCAL_K
2084 #define SUM_K                   CSUM_K
2085 #define SWAP_K                  CSWAP_K
2086 #define ROT_K                   CROT_K
2087
2088 #define GEMV_N                  CGEMV_N
2089 #define GEMV_T                  CGEMV_T
2090 #define GEMV_R                  CGEMV_R
2091 #define GEMV_C                  CGEMV_C
2092 #define GEMV_O                  CGEMV_O
2093 #define GEMV_U                  CGEMV_U
2094 #define GEMV_S                  CGEMV_S
2095 #define GEMV_D                  CGEMV_D
2096
2097 #define GERU_K                  CGERU_K
2098 #define GERC_K                  CGERC_K
2099 #define GERV_K                  CGERV_K
2100 #define GERD_K                  CGERD_K
2101
2102 #define SYMV_U                  CSYMV_U
2103 #define SYMV_L                  CSYMV_L
2104 #define HEMV_U                  CHEMV_U
2105 #define HEMV_L                  CHEMV_L
2106 #define HEMV_V                  CHEMV_V
2107 #define HEMV_M                  CHEMV_M
2108
2109 #define SYMV_THREAD_U           CSYMV_THREAD_U
2110 #define SYMV_THREAD_L           CSYMV_THREAD_L
2111 #define HEMV_THREAD_U           CHEMV_THREAD_U
2112 #define HEMV_THREAD_L           CHEMV_THREAD_L
2113 #define HEMV_THREAD_V           CHEMV_THREAD_V
2114 #define HEMV_THREAD_M           CHEMV_THREAD_M
2115
2116 #define GEMM_ONCOPY             CGEMM_ONCOPY
2117 #define GEMM_OTCOPY             CGEMM_OTCOPY
2118 #define GEMM_INCOPY             CGEMM_INCOPY
2119 #define GEMM_ITCOPY             CGEMM_ITCOPY
2120
2121 #define GEMM3M_ONCOPYB          CGEMM3M_ONCOPYB
2122 #define GEMM3M_ONCOPYR          CGEMM3M_ONCOPYR
2123 #define GEMM3M_ONCOPYI          CGEMM3M_ONCOPYI
2124 #define GEMM3M_OTCOPYB          CGEMM3M_OTCOPYB
2125 #define GEMM3M_OTCOPYR          CGEMM3M_OTCOPYR
2126 #define GEMM3M_OTCOPYI          CGEMM3M_OTCOPYI
2127 #define GEMM3M_INCOPYB          CGEMM3M_INCOPYB
2128 #define GEMM3M_INCOPYR          CGEMM3M_INCOPYR
2129 #define GEMM3M_INCOPYI          CGEMM3M_INCOPYI
2130 #define GEMM3M_ITCOPYB          CGEMM3M_ITCOPYB
2131 #define GEMM3M_ITCOPYR          CGEMM3M_ITCOPYR
2132 #define GEMM3M_ITCOPYI          CGEMM3M_ITCOPYI
2133
2134 #ifdef UNIT
2135
2136 #define TRMM_OUNCOPY            CTRMM_OUNUCOPY
2137 #define TRMM_OUTCOPY            CTRMM_OUTUCOPY
2138 #define TRMM_OLNCOPY            CTRMM_OLNUCOPY
2139 #define TRMM_OLTCOPY            CTRMM_OLTUCOPY
2140 #define TRSM_OUNCOPY            CTRSM_OUNUCOPY
2141 #define TRSM_OUTCOPY            CTRSM_OUTUCOPY
2142 #define TRSM_OLNCOPY            CTRSM_OLNUCOPY
2143 #define TRSM_OLTCOPY            CTRSM_OLTUCOPY
2144
2145 #define TRMM_IUNCOPY            CTRMM_IUNUCOPY
2146 #define TRMM_IUTCOPY            CTRMM_IUTUCOPY
2147 #define TRMM_ILNCOPY            CTRMM_ILNUCOPY
2148 #define TRMM_ILTCOPY            CTRMM_ILTUCOPY
2149 #define TRSM_IUNCOPY            CTRSM_IUNUCOPY
2150 #define TRSM_IUTCOPY            CTRSM_IUTUCOPY
2151 #define TRSM_ILNCOPY            CTRSM_ILNUCOPY
2152 #define TRSM_ILTCOPY            CTRSM_ILTUCOPY
2153
2154 #else
2155
2156 #define TRMM_OUNCOPY            CTRMM_OUNNCOPY
2157 #define TRMM_OUTCOPY            CTRMM_OUTNCOPY
2158 #define TRMM_OLNCOPY            CTRMM_OLNNCOPY
2159 #define TRMM_OLTCOPY            CTRMM_OLTNCOPY
2160 #define TRSM_OUNCOPY            CTRSM_OUNNCOPY
2161 #define TRSM_OUTCOPY            CTRSM_OUTNCOPY
2162 #define TRSM_OLNCOPY            CTRSM_OLNNCOPY
2163 #define TRSM_OLTCOPY            CTRSM_OLTNCOPY
2164
2165 #define TRMM_IUNCOPY            CTRMM_IUNNCOPY
2166 #define TRMM_IUTCOPY            CTRMM_IUTNCOPY
2167 #define TRMM_ILNCOPY            CTRMM_ILNNCOPY
2168 #define TRMM_ILTCOPY            CTRMM_ILTNCOPY
2169 #define TRSM_IUNCOPY            CTRSM_IUNNCOPY
2170 #define TRSM_IUTCOPY            CTRSM_IUTNCOPY
2171 #define TRSM_ILNCOPY            CTRSM_ILNNCOPY
2172 #define TRSM_ILTCOPY            CTRSM_ILTNCOPY
2173
2174 #endif
2175
2176 #define SYMM3M_ILCOPYB          CSYMM3M_ILCOPYB
2177 #define SYMM3M_IUCOPYB          CSYMM3M_IUCOPYB
2178 #define SYMM3M_ILCOPYR          CSYMM3M_ILCOPYR
2179 #define SYMM3M_IUCOPYR          CSYMM3M_IUCOPYR
2180 #define SYMM3M_ILCOPYI          CSYMM3M_ILCOPYI
2181 #define SYMM3M_IUCOPYI          CSYMM3M_IUCOPYI
2182
2183 #define SYMM3M_OLCOPYB          CSYMM3M_OLCOPYB
2184 #define SYMM3M_OUCOPYB          CSYMM3M_OUCOPYB
2185 #define SYMM3M_OLCOPYR          CSYMM3M_OLCOPYR
2186 #define SYMM3M_OUCOPYR          CSYMM3M_OUCOPYR
2187 #define SYMM3M_OLCOPYI          CSYMM3M_OLCOPYI
2188 #define SYMM3M_OUCOPYI          CSYMM3M_OUCOPYI
2189
2190 #define HEMM3M_ILCOPYB          CHEMM3M_ILCOPYB
2191 #define HEMM3M_IUCOPYB          CHEMM3M_IUCOPYB
2192 #define HEMM3M_ILCOPYR          CHEMM3M_ILCOPYR
2193 #define HEMM3M_IUCOPYR          CHEMM3M_IUCOPYR
2194 #define HEMM3M_ILCOPYI          CHEMM3M_ILCOPYI
2195 #define HEMM3M_IUCOPYI          CHEMM3M_IUCOPYI
2196
2197 #define HEMM3M_OLCOPYB          CHEMM3M_OLCOPYB
2198 #define HEMM3M_OUCOPYB          CHEMM3M_OUCOPYB
2199 #define HEMM3M_OLCOPYR          CHEMM3M_OLCOPYR
2200 #define HEMM3M_OUCOPYR          CHEMM3M_OUCOPYR
2201 #define HEMM3M_OLCOPYI          CHEMM3M_OLCOPYI
2202 #define HEMM3M_OUCOPYI          CHEMM3M_OUCOPYI
2203
2204 #define GEMM_BETA               CGEMM_BETA
2205
2206 #define GEMM_KERNEL_N           CGEMM_KERNEL_N
2207 #define GEMM_KERNEL_L           CGEMM_KERNEL_L
2208 #define GEMM_KERNEL_R           CGEMM_KERNEL_R
2209 #define GEMM_KERNEL_B           CGEMM_KERNEL_B
2210
2211 #define GEMM3M_KERNEL           CGEMM3M_KERNEL
2212
2213 #define TRMM_KERNEL_LN          CTRMM_KERNEL_LN
2214 #define TRMM_KERNEL_LT          CTRMM_KERNEL_LT
2215 #define TRMM_KERNEL_LR          CTRMM_KERNEL_LR
2216 #define TRMM_KERNEL_LC          CTRMM_KERNEL_LC
2217 #define TRMM_KERNEL_RN          CTRMM_KERNEL_RN
2218 #define TRMM_KERNEL_RT          CTRMM_KERNEL_RT
2219 #define TRMM_KERNEL_RR          CTRMM_KERNEL_RR
2220 #define TRMM_KERNEL_RC          CTRMM_KERNEL_RC
2221
2222 #define TRSM_KERNEL_LN          CTRSM_KERNEL_LN
2223 #define TRSM_KERNEL_LT          CTRSM_KERNEL_LT
2224 #define TRSM_KERNEL_LR          CTRSM_KERNEL_LR
2225 #define TRSM_KERNEL_LC          CTRSM_KERNEL_LC
2226 #define TRSM_KERNEL_RN          CTRSM_KERNEL_RN
2227 #define TRSM_KERNEL_RT          CTRSM_KERNEL_RT
2228 #define TRSM_KERNEL_RR          CTRSM_KERNEL_RR
2229 #define TRSM_KERNEL_RC          CTRSM_KERNEL_RC
2230
2231 #define GEMM_NN                 CGEMM_NN
2232 #define GEMM_CN                 CGEMM_CN
2233 #define GEMM_TN                 CGEMM_TN
2234 #define GEMM_NC                 CGEMM_NC
2235 #define GEMM_NT                 CGEMM_NT
2236 #define GEMM_CC                 CGEMM_CC
2237 #define GEMM_CT                 CGEMM_CT
2238 #define GEMM_TC                 CGEMM_TC
2239 #define GEMM_TT                 CGEMM_TT
2240 #define GEMM_NR                 CGEMM_NR
2241 #define GEMM_TR                 CGEMM_TR
2242 #define GEMM_CR                 CGEMM_CR
2243 #define GEMM_RN                 CGEMM_RN
2244 #define GEMM_RT                 CGEMM_RT
2245 #define GEMM_RC                 CGEMM_RC
2246 #define GEMM_RR                 CGEMM_RR
2247
2248 #define SYMM_LU                 CSYMM_LU
2249 #define SYMM_LL                 CSYMM_LL
2250 #define SYMM_RU                 CSYMM_RU
2251 #define SYMM_RL                 CSYMM_RL
2252
2253 #define HEMM_LU                 CHEMM_LU
2254 #define HEMM_LL                 CHEMM_LL
2255 #define HEMM_RU                 CHEMM_RU
2256 #define HEMM_RL                 CHEMM_RL
2257
2258 #define HEMM_IUTCOPY            CHEMM_IUTCOPY
2259 #define HEMM_ILTCOPY            CHEMM_ILTCOPY
2260 #define HEMM_OUTCOPY            CHEMM_OUTCOPY
2261 #define HEMM_OLTCOPY            CHEMM_OLTCOPY
2262
2263 #define SYRK_UN                 CSYRK_UN
2264 #define SYRK_UT                 CSYRK_UT
2265 #define SYRK_LN                 CSYRK_LN
2266 #define SYRK_LT                 CSYRK_LT
2267 #define SYRK_UR                 CSYRK_UN
2268 #define SYRK_UC                 CSYRK_UT
2269 #define SYRK_LR                 CSYRK_LN
2270 #define SYRK_LC                 CSYRK_LT
2271
2272 #define SYRK_KERNEL_U           CSYRK_KERNEL_U
2273 #define SYRK_KERNEL_L           CSYRK_KERNEL_L
2274
2275 #define HERK_UN                 CHERK_UN
2276 #define HERK_LN                 CHERK_LN
2277 #define HERK_UC                 CHERK_UC
2278 #define HERK_LC                 CHERK_LC
2279
2280 #define HER2K_UN                CHER2K_UN
2281 #define HER2K_LN                CHER2K_LN
2282 #define HER2K_UC                CHER2K_UC
2283 #define HER2K_LC                CHER2K_LC
2284
2285 #define SYR2K_UN                CSYR2K_UN
2286 #define SYR2K_UT                CSYR2K_UT
2287 #define SYR2K_LN                CSYR2K_LN
2288 #define SYR2K_LT                CSYR2K_LT
2289 #define SYR2K_UR                CSYR2K_UN
2290 #define SYR2K_UC                CSYR2K_UT
2291 #define SYR2K_LR                CSYR2K_LN
2292 #define SYR2K_LC                CSYR2K_LT
2293
2294 #define SYR2K_KERNEL_U          CSYR2K_KERNEL_U
2295 #define SYR2K_KERNEL_L          CSYR2K_KERNEL_L
2296
2297 #define TRMM_LNUU               CTRMM_LNUU
2298 #define TRMM_LNUN               CTRMM_LNUN
2299 #define TRMM_LNLU               CTRMM_LNLU
2300 #define TRMM_LNLN               CTRMM_LNLN
2301 #define TRMM_LTUU               CTRMM_LTUU
2302 #define TRMM_LTUN               CTRMM_LTUN
2303 #define TRMM_LTLU               CTRMM_LTLU
2304 #define TRMM_LTLN               CTRMM_LTLN
2305 #define TRMM_LRUU               CTRMM_LRUU
2306 #define TRMM_LRUN               CTRMM_LRUN
2307 #define TRMM_LRLU               CTRMM_LRLU
2308 #define TRMM_LRLN               CTRMM_LRLN
2309 #define TRMM_LCUU               CTRMM_LCUU
2310 #define TRMM_LCUN               CTRMM_LCUN
2311 #define TRMM_LCLU               CTRMM_LCLU
2312 #define TRMM_LCLN               CTRMM_LCLN
2313 #define TRMM_RNUU               CTRMM_RNUU
2314 #define TRMM_RNUN               CTRMM_RNUN
2315 #define TRMM_RNLU               CTRMM_RNLU
2316 #define TRMM_RNLN               CTRMM_RNLN
2317 #define TRMM_RTUU               CTRMM_RTUU
2318 #define TRMM_RTUN               CTRMM_RTUN
2319 #define TRMM_RTLU               CTRMM_RTLU
2320 #define TRMM_RTLN               CTRMM_RTLN
2321 #define TRMM_RRUU               CTRMM_RRUU
2322 #define TRMM_RRUN               CTRMM_RRUN
2323 #define TRMM_RRLU               CTRMM_RRLU
2324 #define TRMM_RRLN               CTRMM_RRLN
2325 #define TRMM_RCUU               CTRMM_RCUU
2326 #define TRMM_RCUN               CTRMM_RCUN
2327 #define TRMM_RCLU               CTRMM_RCLU
2328 #define TRMM_RCLN               CTRMM_RCLN
2329
2330 #define TRSM_LNUU               CTRSM_LNUU
2331 #define TRSM_LNUN               CTRSM_LNUN
2332 #define TRSM_LNLU               CTRSM_LNLU
2333 #define TRSM_LNLN               CTRSM_LNLN
2334 #define TRSM_LTUU               CTRSM_LTUU
2335 #define TRSM_LTUN               CTRSM_LTUN
2336 #define TRSM_LTLU               CTRSM_LTLU
2337 #define TRSM_LTLN               CTRSM_LTLN
2338 #define TRSM_LRUU               CTRSM_LRUU
2339 #define TRSM_LRUN               CTRSM_LRUN
2340 #define TRSM_LRLU               CTRSM_LRLU
2341 #define TRSM_LRLN               CTRSM_LRLN
2342 #define TRSM_LCUU               CTRSM_LCUU
2343 #define TRSM_LCUN               CTRSM_LCUN
2344 #define TRSM_LCLU               CTRSM_LCLU
2345 #define TRSM_LCLN               CTRSM_LCLN
2346 #define TRSM_RNUU               CTRSM_RNUU
2347 #define TRSM_RNUN               CTRSM_RNUN
2348 #define TRSM_RNLU               CTRSM_RNLU
2349 #define TRSM_RNLN               CTRSM_RNLN
2350 #define TRSM_RTUU               CTRSM_RTUU
2351 #define TRSM_RTUN               CTRSM_RTUN
2352 #define TRSM_RTLU               CTRSM_RTLU
2353 #define TRSM_RTLN               CTRSM_RTLN
2354 #define TRSM_RRUU               CTRSM_RRUU
2355 #define TRSM_RRUN               CTRSM_RRUN
2356 #define TRSM_RRLU               CTRSM_RRLU
2357 #define TRSM_RRLN               CTRSM_RRLN
2358 #define TRSM_RCUU               CTRSM_RCUU
2359 #define TRSM_RCUN               CTRSM_RCUN
2360 #define TRSM_RCLU               CTRSM_RCLU
2361 #define TRSM_RCLN               CTRSM_RCLN
2362
2363
2364 #define GEMM_THREAD_NN          CGEMM_THREAD_NN
2365 #define GEMM_THREAD_CN          CGEMM_THREAD_CN
2366 #define GEMM_THREAD_TN          CGEMM_THREAD_TN
2367 #define GEMM_THREAD_NC          CGEMM_THREAD_NC
2368 #define GEMM_THREAD_NT          CGEMM_THREAD_NT
2369 #define GEMM_THREAD_CC          CGEMM_THREAD_CC
2370 #define GEMM_THREAD_CT          CGEMM_THREAD_CT
2371 #define GEMM_THREAD_TC          CGEMM_THREAD_TC
2372 #define GEMM_THREAD_TT          CGEMM_THREAD_TT
2373 #define GEMM_THREAD_NR          CGEMM_THREAD_NR
2374 #define GEMM_THREAD_TR          CGEMM_THREAD_TR
2375 #define GEMM_THREAD_CR          CGEMM_THREAD_CR
2376 #define GEMM_THREAD_RN          CGEMM_THREAD_RN
2377 #define GEMM_THREAD_RT          CGEMM_THREAD_RT
2378 #define GEMM_THREAD_RC          CGEMM_THREAD_RC
2379 #define GEMM_THREAD_RR          CGEMM_THREAD_RR
2380
2381 #define SYMM_THREAD_LU          CSYMM_THREAD_LU
2382 #define SYMM_THREAD_LL          CSYMM_THREAD_LL
2383 #define SYMM_THREAD_RU          CSYMM_THREAD_RU
2384 #define SYMM_THREAD_RL          CSYMM_THREAD_RL
2385
2386 #define HEMM_THREAD_LU          CHEMM_THREAD_LU
2387 #define HEMM_THREAD_LL          CHEMM_THREAD_LL
2388 #define HEMM_THREAD_RU          CHEMM_THREAD_RU
2389 #define HEMM_THREAD_RL          CHEMM_THREAD_RL
2390
2391 #define SYRK_THREAD_UN          CSYRK_THREAD_UN
2392 #define SYRK_THREAD_UT          CSYRK_THREAD_UT
2393 #define SYRK_THREAD_LN          CSYRK_THREAD_LN
2394 #define SYRK_THREAD_LT          CSYRK_THREAD_LT
2395 #define SYRK_THREAD_UR          CSYRK_THREAD_UR
2396 #define SYRK_THREAD_UC          CSYRK_THREAD_UC
2397 #define SYRK_THREAD_LR          CSYRK_THREAD_LR
2398 #define SYRK_THREAD_LC          CSYRK_THREAD_LC
2399
2400 #define HERK_THREAD_UN          CHERK_THREAD_UN
2401 #define HERK_THREAD_UT          CHERK_THREAD_UT
2402 #define HERK_THREAD_LN          CHERK_THREAD_LN
2403 #define HERK_THREAD_LT          CHERK_THREAD_LT
2404 #define HERK_THREAD_UR          CHERK_THREAD_UR
2405 #define HERK_THREAD_UC          CHERK_THREAD_UC
2406 #define HERK_THREAD_LR          CHERK_THREAD_LR
2407 #define HERK_THREAD_LC          CHERK_THREAD_LC
2408
2409 #define GEMM3M_NN               CGEMM3M_NN
2410 #define GEMM3M_CN               CGEMM3M_CN
2411 #define GEMM3M_TN               CGEMM3M_TN
2412 #define GEMM3M_NC               CGEMM3M_NC
2413 #define GEMM3M_NT               CGEMM3M_NT
2414 #define GEMM3M_CC               CGEMM3M_CC
2415 #define GEMM3M_CT               CGEMM3M_CT
2416 #define GEMM3M_TC               CGEMM3M_TC
2417 #define GEMM3M_TT               CGEMM3M_TT
2418 #define GEMM3M_NR               CGEMM3M_NR
2419 #define GEMM3M_TR               CGEMM3M_TR
2420 #define GEMM3M_CR               CGEMM3M_CR
2421 #define GEMM3M_RN               CGEMM3M_RN
2422 #define GEMM3M_RT               CGEMM3M_RT
2423 #define GEMM3M_RC               CGEMM3M_RC
2424 #define GEMM3M_RR               CGEMM3M_RR
2425
2426 #define GEMM3M_THREAD_NN        CGEMM3M_THREAD_NN
2427 #define GEMM3M_THREAD_CN        CGEMM3M_THREAD_CN
2428 #define GEMM3M_THREAD_TN        CGEMM3M_THREAD_TN
2429 #define GEMM3M_THREAD_NC        CGEMM3M_THREAD_NC
2430 #define GEMM3M_THREAD_NT        CGEMM3M_THREAD_NT
2431 #define GEMM3M_THREAD_CC        CGEMM3M_THREAD_CC
2432 #define GEMM3M_THREAD_CT        CGEMM3M_THREAD_CT
2433 #define GEMM3M_THREAD_TC        CGEMM3M_THREAD_TC
2434 #define GEMM3M_THREAD_TT        CGEMM3M_THREAD_TT
2435 #define GEMM3M_THREAD_NR        CGEMM3M_THREAD_NR
2436 #define GEMM3M_THREAD_TR        CGEMM3M_THREAD_TR
2437 #define GEMM3M_THREAD_CR        CGEMM3M_THREAD_CR
2438 #define GEMM3M_THREAD_RN        CGEMM3M_THREAD_RN
2439 #define GEMM3M_THREAD_RT        CGEMM3M_THREAD_RT
2440 #define GEMM3M_THREAD_RC        CGEMM3M_THREAD_RC
2441 #define GEMM3M_THREAD_RR        CGEMM3M_THREAD_RR
2442
2443 #define SYMM3M_LU               CSYMM3M_LU
2444 #define SYMM3M_LL               CSYMM3M_LL
2445 #define SYMM3M_RU               CSYMM3M_RU
2446 #define SYMM3M_RL               CSYMM3M_RL
2447
2448 #define SYMM3M_THREAD_LU        CSYMM3M_THREAD_LU
2449 #define SYMM3M_THREAD_LL        CSYMM3M_THREAD_LL
2450 #define SYMM3M_THREAD_RU        CSYMM3M_THREAD_RU
2451 #define SYMM3M_THREAD_RL        CSYMM3M_THREAD_RL
2452
2453 #define HEMM3M_LU               CHEMM3M_LU
2454 #define HEMM3M_LL               CHEMM3M_LL
2455 #define HEMM3M_RU               CHEMM3M_RU
2456 #define HEMM3M_RL               CHEMM3M_RL
2457
2458 #define HEMM3M_THREAD_LU        CHEMM3M_THREAD_LU
2459 #define HEMM3M_THREAD_LL        CHEMM3M_THREAD_LL
2460 #define HEMM3M_THREAD_RU        CHEMM3M_THREAD_RU
2461 #define HEMM3M_THREAD_RL        CHEMM3M_THREAD_RL
2462
2463 #define SYMM_IUTCOPY            CSYMM_IUTCOPY
2464 #define SYMM_ILTCOPY            CSYMM_ILTCOPY
2465 #define SYMM_OUTCOPY            CSYMM_OUTCOPY
2466 #define SYMM_OLTCOPY            CSYMM_OLTCOPY
2467
2468 #define AXPBY_K                 CAXPBY_K
2469
2470 #define OMATCOPY_K_CN           COMATCOPY_K_CN
2471 #define OMATCOPY_K_RN           COMATCOPY_K_RN
2472 #define OMATCOPY_K_CT           COMATCOPY_K_CT
2473 #define OMATCOPY_K_RT           COMATCOPY_K_RT
2474 #define OMATCOPY_K_CNC          COMATCOPY_K_CNC
2475 #define OMATCOPY_K_RNC          COMATCOPY_K_RNC
2476 #define OMATCOPY_K_CTC          COMATCOPY_K_CTC
2477 #define OMATCOPY_K_RTC          COMATCOPY_K_RTC
2478 #define IMATCOPY_K_CN           CIMATCOPY_K_CN
2479 #define IMATCOPY_K_RN           CIMATCOPY_K_RN
2480 #define IMATCOPY_K_CT           CIMATCOPY_K_CT
2481 #define IMATCOPY_K_RT           CIMATCOPY_K_RT
2482 #define IMATCOPY_K_CNC          CIMATCOPY_K_CNC
2483 #define IMATCOPY_K_RNC          CIMATCOPY_K_RNC
2484 #define IMATCOPY_K_CTC          CIMATCOPY_K_CTC
2485 #define IMATCOPY_K_RTC          CIMATCOPY_K_RTC
2486
2487 #define GEADD_K                 CGEADD_K
2488
2489 #endif
2490 #endif
2491
2492 #ifndef ASSEMBLER
2493 #if defined(ARCH_X86) || defined(ARCH_X86_64) || defined(ARCH_IA64) || defined(ARCH_MIPS64) || defined(ARCH_ARM64)
2494 extern BLASLONG gemm_offset_a;
2495 extern BLASLONG gemm_offset_b;
2496 extern BLASLONG sbgemm_p;
2497 extern BLASLONG sbgemm_q;
2498 extern BLASLONG sbgemm_r;
2499 extern BLASLONG sgemm_p;
2500 extern BLASLONG sgemm_q;
2501 extern BLASLONG sgemm_r;
2502 extern BLASLONG dgemm_p;
2503 extern BLASLONG dgemm_q;
2504 extern BLASLONG dgemm_r;
2505 extern BLASLONG qgemm_p;
2506 extern BLASLONG qgemm_q;
2507 extern BLASLONG qgemm_r;
2508 extern BLASLONG cgemm_p;
2509 extern BLASLONG cgemm_q;
2510 extern BLASLONG cgemm_r;
2511 extern BLASLONG zgemm_p;
2512 extern BLASLONG zgemm_q;
2513 extern BLASLONG zgemm_r;
2514 extern BLASLONG xgemm_p;
2515 extern BLASLONG xgemm_q;
2516 extern BLASLONG xgemm_r;
2517 #endif
2518
2519 typedef struct {
2520   void *a, *b, *c, *d, *alpha, *beta;
2521   BLASLONG      m, n, k, lda, ldb, ldc, ldd;
2522
2523 #ifdef SMP
2524   void *common;
2525   BLASLONG nthreads;
2526 #endif
2527
2528 #ifdef PARAMTEST
2529   BLASLONG gemm_p, gemm_q, gemm_r;
2530 #endif
2531
2532 #ifdef PREFETCHTEST
2533   BLASLONG prea, preb, prec, pred;
2534 #endif
2535
2536 } blas_arg_t;
2537 #endif
2538
2539 #ifdef XDOUBLE
2540
2541 #define TRSV_NUU qtrsv_NUU
2542 #define TRSV_NUN qtrsv_NUN
2543 #define TRSV_NLU qtrsv_NLU
2544 #define TRSV_NLN qtrsv_NLN
2545 #define TRSV_TUU qtrsv_TUU
2546 #define TRSV_TUN qtrsv_TUN
2547 #define TRSV_TLU qtrsv_TLU
2548 #define TRSV_TLN qtrsv_TLN
2549
2550 #define ZTRSV_NUU xtrsv_NUU
2551 #define ZTRSV_NUN xtrsv_NUN
2552 #define ZTRSV_NLU xtrsv_NLU
2553 #define ZTRSV_NLN xtrsv_NLN
2554 #define ZTRSV_TUU xtrsv_TUU
2555 #define ZTRSV_TUN xtrsv_TUN
2556 #define ZTRSV_TLU xtrsv_TLU
2557 #define ZTRSV_TLN xtrsv_TLN
2558 #define ZTRSV_RUU xtrsv_RUU
2559 #define ZTRSV_RUN xtrsv_RUN
2560 #define ZTRSV_RLU xtrsv_RLU
2561 #define ZTRSV_RLN xtrsv_RLN
2562 #define ZTRSV_CUU xtrsv_CUU
2563 #define ZTRSV_CUN xtrsv_CUN
2564 #define ZTRSV_CLU xtrsv_CLU
2565 #define ZTRSV_CLN xtrsv_CLN
2566
2567 #define TRMV_NUU qtrmv_NUU
2568 #define TRMV_NUN qtrmv_NUN
2569 #define TRMV_NLU qtrmv_NLU
2570 #define TRMV_NLN qtrmv_NLN
2571 #define TRMV_TUU qtrmv_TUU
2572 #define TRMV_TUN qtrmv_TUN
2573 #define TRMV_TLU qtrmv_TLU
2574 #define TRMV_TLN qtrmv_TLN
2575
2576 #define TRMV_THREAD_NUU qtrmv_thread_NUU
2577 #define TRMV_THREAD_NUN qtrmv_thread_NUN
2578 #define TRMV_THREAD_NLU qtrmv_thread_NLU
2579 #define TRMV_THREAD_NLN qtrmv_thread_NLN
2580 #define TRMV_THREAD_TUU qtrmv_thread_TUU
2581 #define TRMV_THREAD_TUN qtrmv_thread_TUN
2582 #define TRMV_THREAD_TLU qtrmv_thread_TLU
2583 #define TRMV_THREAD_TLN qtrmv_thread_TLN
2584
2585 #define ZTRMV_NUU xtrmv_NUU
2586 #define ZTRMV_NUN xtrmv_NUN
2587 #define ZTRMV_NLU xtrmv_NLU
2588 #define ZTRMV_NLN xtrmv_NLN
2589 #define ZTRMV_TUU xtrmv_TUU
2590 #define ZTRMV_TUN xtrmv_TUN
2591 #define ZTRMV_TLU xtrmv_TLU
2592 #define ZTRMV_TLN xtrmv_TLN
2593 #define ZTRMV_RUU xtrmv_RUU
2594 #define ZTRMV_RUN xtrmv_RUN
2595 #define ZTRMV_RLU xtrmv_RLU
2596 #define ZTRMV_RLN xtrmv_RLN
2597 #define ZTRMV_CUU xtrmv_CUU
2598 #define ZTRMV_CUN xtrmv_CUN
2599 #define ZTRMV_CLU xtrmv_CLU
2600 #define ZTRMV_CLN xtrmv_CLN
2601
2602 #define ZTRMV_THREAD_NUU xtrmv_thread_NUU
2603 #define ZTRMV_THREAD_NUN xtrmv_thread_NUN
2604 #define ZTRMV_THREAD_NLU xtrmv_thread_NLU
2605 #define ZTRMV_THREAD_NLN xtrmv_thread_NLN
2606 #define ZTRMV_THREAD_TUU xtrmv_thread_TUU
2607 #define ZTRMV_THREAD_TUN xtrmv_thread_TUN
2608 #define ZTRMV_THREAD_TLU xtrmv_thread_TLU
2609 #define ZTRMV_THREAD_TLN xtrmv_thread_TLN
2610 #define ZTRMV_THREAD_RUU xtrmv_thread_RUU
2611 #define ZTRMV_THREAD_RUN xtrmv_thread_RUN
2612 #define ZTRMV_THREAD_RLU xtrmv_thread_RLU
2613 #define ZTRMV_THREAD_RLN xtrmv_thread_RLN
2614 #define ZTRMV_THREAD_CUU xtrmv_thread_CUU
2615 #define ZTRMV_THREAD_CUN xtrmv_thread_CUN
2616 #define ZTRMV_THREAD_CLU xtrmv_thread_CLU
2617 #define ZTRMV_THREAD_CLN xtrmv_thread_CLN
2618
2619 #elif defined(DOUBLE)
2620
2621 #define TRSV_NUU dtrsv_NUU
2622 #define TRSV_NUN dtrsv_NUN
2623 #define TRSV_NLU dtrsv_NLU
2624 #define TRSV_NLN dtrsv_NLN
2625 #define TRSV_TUU dtrsv_TUU
2626 #define TRSV_TUN dtrsv_TUN
2627 #define TRSV_TLU dtrsv_TLU
2628 #define TRSV_TLN dtrsv_TLN
2629
2630 #define ZTRSV_NUU ztrsv_NUU
2631 #define ZTRSV_NUN ztrsv_NUN
2632 #define ZTRSV_NLU ztrsv_NLU
2633 #define ZTRSV_NLN ztrsv_NLN
2634 #define ZTRSV_TUU ztrsv_TUU
2635 #define ZTRSV_TUN ztrsv_TUN
2636 #define ZTRSV_TLU ztrsv_TLU
2637 #define ZTRSV_TLN ztrsv_TLN
2638 #define ZTRSV_RUU ztrsv_RUU
2639 #define ZTRSV_RUN ztrsv_RUN
2640 #define ZTRSV_RLU ztrsv_RLU
2641 #define ZTRSV_RLN ztrsv_RLN
2642 #define ZTRSV_CUU ztrsv_CUU
2643 #define ZTRSV_CUN ztrsv_CUN
2644 #define ZTRSV_CLU ztrsv_CLU
2645 #define ZTRSV_CLN ztrsv_CLN
2646
2647 #define TRMV_NUU dtrmv_NUU
2648 #define TRMV_NUN dtrmv_NUN
2649 #define TRMV_NLU dtrmv_NLU
2650 #define TRMV_NLN dtrmv_NLN
2651 #define TRMV_TUU dtrmv_TUU
2652 #define TRMV_TUN dtrmv_TUN
2653 #define TRMV_TLU dtrmv_TLU
2654 #define TRMV_TLN dtrmv_TLN
2655
2656 #define TRMV_THREAD_NUU dtrmv_thread_NUU
2657 #define TRMV_THREAD_NUN dtrmv_thread_NUN
2658 #define TRMV_THREAD_NLU dtrmv_thread_NLU
2659 #define TRMV_THREAD_NLN dtrmv_thread_NLN
2660 #define TRMV_THREAD_TUU dtrmv_thread_TUU
2661 #define TRMV_THREAD_TUN dtrmv_thread_TUN
2662 #define TRMV_THREAD_TLU dtrmv_thread_TLU
2663 #define TRMV_THREAD_TLN dtrmv_thread_TLN
2664
2665 #define ZTRMV_NUU ztrmv_NUU
2666 #define ZTRMV_NUN ztrmv_NUN
2667 #define ZTRMV_NLU ztrmv_NLU
2668 #define ZTRMV_NLN ztrmv_NLN
2669 #define ZTRMV_TUU ztrmv_TUU
2670 #define ZTRMV_TUN ztrmv_TUN
2671 #define ZTRMV_TLU ztrmv_TLU
2672 #define ZTRMV_TLN ztrmv_TLN
2673 #define ZTRMV_RUU ztrmv_RUU
2674 #define ZTRMV_RUN ztrmv_RUN
2675 #define ZTRMV_RLU ztrmv_RLU
2676 #define ZTRMV_RLN ztrmv_RLN
2677 #define ZTRMV_CUU ztrmv_CUU
2678 #define ZTRMV_CUN ztrmv_CUN
2679 #define ZTRMV_CLU ztrmv_CLU
2680 #define ZTRMV_CLN ztrmv_CLN
2681
2682 #define ZTRMV_THREAD_NUU ztrmv_thread_NUU
2683 #define ZTRMV_THREAD_NUN ztrmv_thread_NUN
2684 #define ZTRMV_THREAD_NLU ztrmv_thread_NLU
2685 #define ZTRMV_THREAD_NLN ztrmv_thread_NLN
2686 #define ZTRMV_THREAD_TUU ztrmv_thread_TUU
2687 #define ZTRMV_THREAD_TUN ztrmv_thread_TUN
2688 #define ZTRMV_THREAD_TLU ztrmv_thread_TLU
2689 #define ZTRMV_THREAD_TLN ztrmv_thread_TLN
2690 #define ZTRMV_THREAD_RUU ztrmv_thread_RUU
2691 #define ZTRMV_THREAD_RUN ztrmv_thread_RUN
2692 #define ZTRMV_THREAD_RLU ztrmv_thread_RLU
2693 #define ZTRMV_THREAD_RLN ztrmv_thread_RLN
2694 #define ZTRMV_THREAD_CUU ztrmv_thread_CUU
2695 #define ZTRMV_THREAD_CUN ztrmv_thread_CUN
2696 #define ZTRMV_THREAD_CLU ztrmv_thread_CLU
2697 #define ZTRMV_THREAD_CLN ztrmv_thread_CLN
2698
2699 #else
2700
2701 #define TRSV_NUU strsv_NUU
2702 #define TRSV_NUN strsv_NUN
2703 #define TRSV_NLU strsv_NLU
2704 #define TRSV_NLN strsv_NLN
2705 #define TRSV_TUU strsv_TUU
2706 #define TRSV_TUN strsv_TUN
2707 #define TRSV_TLU strsv_TLU
2708 #define TRSV_TLN strsv_TLN
2709
2710 #define ZTRSV_NUU ctrsv_NUU
2711 #define ZTRSV_NUN ctrsv_NUN
2712 #define ZTRSV_NLU ctrsv_NLU
2713 #define ZTRSV_NLN ctrsv_NLN
2714 #define ZTRSV_TUU ctrsv_TUU
2715 #define ZTRSV_TUN ctrsv_TUN
2716 #define ZTRSV_TLU ctrsv_TLU
2717 #define ZTRSV_TLN ctrsv_TLN
2718 #define ZTRSV_RUU ctrsv_RUU
2719 #define ZTRSV_RUN ctrsv_RUN
2720 #define ZTRSV_RLU ctrsv_RLU
2721 #define ZTRSV_RLN ctrsv_RLN
2722 #define ZTRSV_CUU ctrsv_CUU
2723 #define ZTRSV_CUN ctrsv_CUN
2724 #define ZTRSV_CLU ctrsv_CLU
2725 #define ZTRSV_CLN ctrsv_CLN
2726
2727 #define TRMV_NUU strmv_NUU
2728 #define TRMV_NUN strmv_NUN
2729 #define TRMV_NLU strmv_NLU
2730 #define TRMV_NLN strmv_NLN
2731 #define TRMV_TUU strmv_TUU
2732 #define TRMV_TUN strmv_TUN
2733 #define TRMV_TLU strmv_TLU
2734 #define TRMV_TLN strmv_TLN
2735
2736 #define TRMV_THREAD_NUU strmv_thread_NUU
2737 #define TRMV_THREAD_NUN strmv_thread_NUN
2738 #define TRMV_THREAD_NLU strmv_thread_NLU
2739 #define TRMV_THREAD_NLN strmv_thread_NLN
2740 #define TRMV_THREAD_TUU strmv_thread_TUU
2741 #define TRMV_THREAD_TUN strmv_thread_TUN
2742 #define TRMV_THREAD_TLU strmv_thread_TLU
2743 #define TRMV_THREAD_TLN strmv_thread_TLN
2744
2745 #define ZTRMV_NUU ctrmv_NUU
2746 #define ZTRMV_NUN ctrmv_NUN
2747 #define ZTRMV_NLU ctrmv_NLU
2748 #define ZTRMV_NLN ctrmv_NLN
2749 #define ZTRMV_TUU ctrmv_TUU
2750 #define ZTRMV_TUN ctrmv_TUN
2751 #define ZTRMV_TLU ctrmv_TLU
2752 #define ZTRMV_TLN ctrmv_TLN
2753 #define ZTRMV_RUU ctrmv_RUU
2754 #define ZTRMV_RUN ctrmv_RUN
2755 #define ZTRMV_RLU ctrmv_RLU
2756 #define ZTRMV_RLN ctrmv_RLN
2757 #define ZTRMV_CUU ctrmv_CUU
2758 #define ZTRMV_CUN ctrmv_CUN
2759 #define ZTRMV_CLU ctrmv_CLU
2760 #define ZTRMV_CLN ctrmv_CLN
2761
2762 #define ZTRMV_THREAD_NUU ctrmv_thread_NUU
2763 #define ZTRMV_THREAD_NUN ctrmv_thread_NUN
2764 #define ZTRMV_THREAD_NLU ctrmv_thread_NLU
2765 #define ZTRMV_THREAD_NLN ctrmv_thread_NLN
2766 #define ZTRMV_THREAD_TUU ctrmv_thread_TUU
2767 #define ZTRMV_THREAD_TUN ctrmv_thread_TUN
2768 #define ZTRMV_THREAD_TLU ctrmv_thread_TLU
2769 #define ZTRMV_THREAD_TLN ctrmv_thread_TLN
2770 #define ZTRMV_THREAD_RUU ctrmv_thread_RUU
2771 #define ZTRMV_THREAD_RUN ctrmv_thread_RUN
2772 #define ZTRMV_THREAD_RLU ctrmv_thread_RLU
2773 #define ZTRMV_THREAD_RLN ctrmv_thread_RLN
2774 #define ZTRMV_THREAD_CUU ctrmv_thread_CUU
2775 #define ZTRMV_THREAD_CUN ctrmv_thread_CUN
2776 #define ZTRMV_THREAD_CLU ctrmv_thread_CLU
2777 #define ZTRMV_THREAD_CLN ctrmv_thread_CLN
2778
2779 #endif
2780
2781 #define SGETF2  sgetf2_k
2782 #define DGETF2  dgetf2_k
2783 #define QGETF2  qgetf2_k
2784 #define CGETF2  cgetf2_k
2785 #define ZGETF2  zgetf2_k
2786 #define XGETF2  xgetf2_k
2787
2788 #define SLASWP_PLUS     slaswp_plus
2789 #define SLASWP_MINUS    slaswp_minus
2790 #define DLASWP_PLUS     dlaswp_plus
2791 #define DLASWP_MINUS    dlaswp_minus
2792 #define QLASWP_PLUS     qlaswp_plus
2793 #define QLASWP_MINUS    qlaswp_minus
2794 #define CLASWP_PLUS     claswp_plus
2795 #define CLASWP_MINUS    claswp_minus
2796 #define ZLASWP_PLUS     zlaswp_plus
2797 #define ZLASWP_MINUS    zlaswp_minus
2798 #define XLASWP_PLUS     xlaswp_plus
2799 #define XLASWP_MINUS    xlaswp_minus
2800
2801 #define SLARF_L         slarf_L
2802 #define SLARF_R         slarf_R
2803 #define DLARF_L         dlarf_L
2804 #define DLARF_R         dlarf_R
2805 #define QLARF_L         qlarf_L
2806 #define QLARF_R         qlarf_R
2807 #define CLARF_L         clarf_L
2808 #define CLARF_R         clarf_R
2809 #define ZLARF_L         zlarf_L
2810 #define ZLARF_R         zlarf_R
2811 #define XLARF_L         xlarf_L
2812 #define XLARF_R         xlarf_R
2813
2814 #ifndef COMPLEX
2815 #ifdef XDOUBLE
2816 #define GETF2   QGETF2
2817 #define GETRF   QGETRF
2818 #define GETRS_N_SINGLE  qgetrs_N_single
2819 #define GETRS_T_SINGLE  qgetrs_T_single
2820 #define GETRS_R_SINGLE  qgetrs_N_single
2821 #define GETRS_C_SINGLE  qgetrs_T_single
2822 #define GETRS_N_PARALLEL        qgetrs_N_parallel
2823 #define GETRS_T_PARALLEL        qgetrs_T_parallel
2824 #define GETRS_R_PARALLEL        qgetrs_N_parallel
2825 #define GETRS_C_PARALLEL        qgetrs_T_parallel
2826 #define LASWP_PLUS      QLASWP_PLUS
2827 #define LASWP_MINUS     QLASWP_MINUS
2828 #define LASWP_NCOPY     QLASWP_NCOPY
2829 #define GETRS_N         QGETRS_N
2830 #define GETRS_T         QGETRS_T
2831 #define GETRF_SINGLE    qgetrf_single
2832 #define GETRF_PARALLEL  qgetrf_parallel
2833 #define NEG_TCOPY       QNEG_TCOPY
2834 #define LARF_L          QLARF_L
2835 #define LARF_R          QLARF_R
2836 #elif defined(DOUBLE)
2837 #define GETF2   DGETF2
2838 #define GETRF   DGETRF
2839 #define GETRS_N_SINGLE  dgetrs_N_single
2840 #define GETRS_T_SINGLE  dgetrs_T_single
2841 #define GETRS_R_SINGLE  dgetrs_N_single
2842 #define GETRS_C_SINGLE  dgetrs_T_single
2843 #define GETRS_N_PARALLEL        dgetrs_N_parallel
2844 #define GETRS_T_PARALLEL        dgetrs_T_parallel
2845 #define GETRS_R_PARALLEL        dgetrs_N_parallel
2846 #define GETRS_C_PARALLEL        dgetrs_T_parallel
2847 #define LASWP_PLUS      DLASWP_PLUS
2848 #define LASWP_MINUS     DLASWP_MINUS
2849 #define LASWP_NCOPY     DLASWP_NCOPY
2850 #define GETRS_N         DGETRS_N
2851 #define GETRS_T         DGETRS_T
2852 #define GETRF_SINGLE    dgetrf_single
2853 #define GETRF_PARALLEL  dgetrf_parallel
2854 #define NEG_TCOPY       DNEG_TCOPY
2855 #define LARF_L          DLARF_L
2856 #define LARF_R          DLARF_R
2857 #else
2858 #define GETF2   SGETF2
2859 #define GETRF   SGETRF
2860 #define GETRS_N_SINGLE  sgetrs_N_single
2861 #define GETRS_T_SINGLE  sgetrs_T_single
2862 #define GETRS_R_SINGLE  sgetrs_N_single
2863 #define GETRS_C_SINGLE  sgetrs_T_single
2864 #define GETRS_N_PARALLEL        sgetrs_N_parallel
2865 #define GETRS_T_PARALLEL        sgetrs_T_parallel
2866 #define GETRS_R_PARALLEL        sgetrs_N_parallel
2867 #define GETRS_C_PARALLEL        sgetrs_T_parallel
2868 #define LASWP_PLUS      SLASWP_PLUS
2869 #define LASWP_MINUS     SLASWP_MINUS
2870 #define LASWP_NCOPY     SLASWP_NCOPY
2871 #define GETRS_N         SGETRS_N
2872 #define GETRS_T         SGETRS_T
2873 #define GETRF_SINGLE    sgetrf_single
2874 #define GETRF_PARALLEL  sgetrf_parallel
2875 #define NEG_TCOPY       SNEG_TCOPY
2876 #define LARF_L          SLARF_L
2877 #define LARF_R          SLARF_R
2878 #endif
2879 #else
2880 #ifdef XDOUBLE
2881 #define GETF2   XGETF2
2882 #define GETRF   XGETRF
2883 #define GETRS_N_SINGLE  xgetrs_N_single
2884 #define GETRS_T_SINGLE  xgetrs_T_single
2885 #define GETRS_R_SINGLE  xgetrs_R_single
2886 #define GETRS_C_SINGLE  xgetrs_C_single
2887 #define GETRS_N_PARALLEL        xgetrs_N_parallel
2888 #define GETRS_T_PARALLEL        xgetrs_T_parallel
2889 #define GETRS_R_PARALLEL        xgetrs_R_parallel
2890 #define GETRS_C_PARALLEL        xgetrs_C_parallel
2891 #define LASWP_PLUS      XLASWP_PLUS
2892 #define LASWP_MINUS     XLASWP_MINUS
2893 #define LASWP_NCOPY     XLASWP_NCOPY
2894 #define GETRS_N         XGETRS_N
2895 #define GETRS_T         XGETRS_T
2896 #define GETRF_SINGLE    xgetrf_single
2897 #define GETRF_PARALLEL  xgetrf_parallel
2898 #define NEG_TCOPY       XNEG_TCOPY
2899 #define LARF_L          XLARF_L
2900 #define LARF_R          XLARF_R
2901 #elif defined(DOUBLE)
2902 #define GETF2   ZGETF2
2903 #define GETRF   ZGETRF
2904 #define GETRS_N_SINGLE  zgetrs_N_single
2905 #define GETRS_T_SINGLE  zgetrs_T_single
2906 #define GETRS_R_SINGLE  zgetrs_R_single
2907 #define GETRS_C_SINGLE  zgetrs_C_single
2908 #define GETRS_N_PARALLEL        zgetrs_N_parallel
2909 #define GETRS_T_PARALLEL        zgetrs_T_parallel
2910 #define GETRS_R_PARALLEL        zgetrs_R_parallel
2911 #define GETRS_C_PARALLEL        zgetrs_C_parallel
2912 #define LASWP_PLUS      ZLASWP_PLUS
2913 #define LASWP_MINUS     ZLASWP_MINUS
2914 #define LASWP_NCOPY     ZLASWP_NCOPY
2915 #define GETRS_N         ZGETRS_N
2916 #define GETRS_T         ZGETRS_T
2917 #define GETRF_SINGLE    zgetrf_single
2918 #define GETRF_PARALLEL  zgetrf_parallel
2919 #define NEG_TCOPY       ZNEG_TCOPY
2920 #define LARF_L          ZLARF_L
2921 #define LARF_R          ZLARF_R
2922 #else
2923 #define GETF2   CGETF2
2924 #define GETRF   CGETRF
2925 #define GETRS_N_SINGLE  cgetrs_N_single
2926 #define GETRS_T_SINGLE  cgetrs_T_single
2927 #define GETRS_R_SINGLE  cgetrs_R_single
2928 #define GETRS_C_SINGLE  cgetrs_C_single
2929 #define GETRS_N_PARALLEL        cgetrs_N_parallel
2930 #define GETRS_T_PARALLEL        cgetrs_T_parallel
2931 #define GETRS_R_PARALLEL        cgetrs_R_parallel
2932 #define GETRS_C_PARALLEL        cgetrs_C_parallel
2933 #define LASWP_PLUS      CLASWP_PLUS
2934 #define LASWP_MINUS     CLASWP_MINUS
2935 #define LASWP_NCOPY     CLASWP_NCOPY
2936 #define GETRS_N         CGETRS_N
2937 #define GETRS_T         CGETRS_T
2938 #define GETRF_SINGLE    cgetrf_single
2939 #define GETRF_PARALLEL  cgetrf_parallel
2940 #define NEG_TCOPY       CNEG_TCOPY
2941 #define LARF_L          CLARF_L
2942 #define LARF_R          CLARF_R
2943 #endif
2944 #endif
2945
2946 #ifndef COMPLEX
2947 #ifdef XDOUBLE
2948 #define  POTF2_U  qpotf2_U
2949 #define  POTF2_L  qpotf2_L
2950 #define  LAUU2_U  qlauu2_U
2951 #define  LAUU2_L  qlauu2_L
2952 #define  POTRF_U_SINGLE qpotrf_U_single
2953 #define  POTRF_L_SINGLE qpotrf_L_single
2954 #define  POTRF_U_PARALLEL qpotrf_U_parallel
2955 #define  POTRF_L_PARALLEL qpotrf_L_parallel
2956 #define  LAUUM_U_SINGLE qlauum_U_single
2957 #define  LAUUM_L_SINGLE qlauum_L_single
2958 #define  LAUUM_U_PARALLEL qlauum_U_parallel
2959 #define  LAUUM_L_PARALLEL qlauum_L_parallel
2960 #define  TRTI2_UU qtrti2_UU
2961 #define  TRTI2_UN qtrti2_UN
2962 #define  TRTI2_LU qtrti2_LU
2963 #define  TRTI2_LN qtrti2_LN
2964 #define  TRTRI_UU_SINGLE qtrtri_UU_single
2965 #define  TRTRI_UN_SINGLE qtrtri_UN_single
2966 #define  TRTRI_LU_SINGLE qtrtri_LU_single
2967 #define  TRTRI_LN_SINGLE qtrtri_LN_single
2968 #define  TRTRI_UU_PARALLEL qtrtri_UU_parallel
2969 #define  TRTRI_UN_PARALLEL qtrtri_UN_parallel
2970 #define  TRTRI_LU_PARALLEL qtrtri_LU_parallel
2971 #define  TRTRI_LN_PARALLEL qtrtri_LN_parallel
2972 #elif defined(DOUBLE)
2973 #define  POTF2_U  dpotf2_U
2974 #define  POTF2_L  dpotf2_L
2975 #define  LAUU2_U  dlauu2_U
2976 #define  LAUU2_L  dlauu2_L
2977 #define  POTRF_U_SINGLE dpotrf_U_single
2978 #define  POTRF_L_SINGLE dpotrf_L_single
2979 #define  POTRF_U_PARALLEL dpotrf_U_parallel
2980 #define  POTRF_L_PARALLEL dpotrf_L_parallel
2981 #define  LAUUM_U_SINGLE dlauum_U_single
2982 #define  LAUUM_L_SINGLE dlauum_L_single
2983 #define  LAUUM_U_PARALLEL dlauum_U_parallel
2984 #define  LAUUM_L_PARALLEL dlauum_L_parallel
2985 #define  TRTI2_UU dtrti2_UU
2986 #define  TRTI2_UN dtrti2_UN
2987 #define  TRTI2_LU dtrti2_LU
2988 #define  TRTI2_LN dtrti2_LN
2989 #define  TRTRI_UU_SINGLE dtrtri_UU_single
2990 #define  TRTRI_UN_SINGLE dtrtri_UN_single
2991 #define  TRTRI_LU_SINGLE dtrtri_LU_single
2992 #define  TRTRI_LN_SINGLE dtrtri_LN_single
2993 #define  TRTRI_UU_PARALLEL dtrtri_UU_parallel
2994 #define  TRTRI_UN_PARALLEL dtrtri_UN_parallel
2995 #define  TRTRI_LU_PARALLEL dtrtri_LU_parallel
2996 #define  TRTRI_LN_PARALLEL dtrtri_LN_parallel
2997 #else
2998 #define  POTF2_U  spotf2_U
2999 #define  POTF2_L  spotf2_L
3000 #define  LAUU2_U  slauu2_U
3001 #define  LAUU2_L  slauu2_L
3002 #define  POTRF_U_SINGLE spotrf_U_single
3003 #define  POTRF_L_SINGLE spotrf_L_single
3004 #define  POTRF_U_PARALLEL spotrf_U_parallel
3005 #define  POTRF_L_PARALLEL spotrf_L_parallel
3006 #define  LAUUM_U_SINGLE slauum_U_single
3007 #define  LAUUM_L_SINGLE slauum_L_single
3008 #define  LAUUM_U_PARALLEL slauum_U_parallel
3009 #define  LAUUM_L_PARALLEL slauum_L_parallel
3010 #define  TRTI2_UU strti2_UU
3011 #define  TRTI2_UN strti2_UN
3012 #define  TRTI2_LU strti2_LU
3013 #define  TRTI2_LN strti2_LN
3014 #define  TRTRI_UU_SINGLE strtri_UU_single
3015 #define  TRTRI_UN_SINGLE strtri_UN_single
3016 #define  TRTRI_LU_SINGLE strtri_LU_single
3017 #define  TRTRI_LN_SINGLE strtri_LN_single
3018 #define  TRTRI_UU_PARALLEL strtri_UU_parallel
3019 #define  TRTRI_UN_PARALLEL strtri_UN_parallel
3020 #define  TRTRI_LU_PARALLEL strtri_LU_parallel
3021 #define  TRTRI_LN_PARALLEL strtri_LN_parallel
3022 #endif
3023 #else
3024 #ifdef XDOUBLE
3025 #define  POTF2_U  xpotf2_U
3026 #define  POTF2_L  xpotf2_L
3027 #define  LAUU2_U  xlauu2_U
3028 #define  LAUU2_L  xlauu2_L
3029 #define  POTRF_U_SINGLE xpotrf_U_single
3030 #define  POTRF_L_SINGLE xpotrf_L_single
3031 #define  POTRF_U_PARALLEL xpotrf_U_parallel
3032 #define  POTRF_L_PARALLEL xpotrf_L_parallel
3033 #define  LAUUM_U_SINGLE xlauum_U_single
3034 #define  LAUUM_L_SINGLE xlauum_L_single
3035 #define  LAUUM_U_PARALLEL xlauum_U_parallel
3036 #define  LAUUM_L_PARALLEL xlauum_L_parallel
3037 #define  TRTI2_UU xtrti2_UU
3038 #define  TRTI2_UN xtrti2_UN
3039 #define  TRTI2_LU xtrti2_LU
3040 #define  TRTI2_LN xtrti2_LN
3041 #define  TRTRI_UU_SINGLE xtrtri_UU_single
3042 #define  TRTRI_UN_SINGLE xtrtri_UN_single
3043 #define  TRTRI_LU_SINGLE xtrtri_LU_single
3044 #define  TRTRI_LN_SINGLE xtrtri_LN_single
3045 #define  TRTRI_UU_PARALLEL xtrtri_UU_parallel
3046 #define  TRTRI_UN_PARALLEL xtrtri_UN_parallel
3047 #define  TRTRI_LU_PARALLEL xtrtri_LU_parallel
3048 #define  TRTRI_LN_PARALLEL xtrtri_LN_parallel
3049 #elif defined(DOUBLE)
3050 #define  POTF2_U  zpotf2_U
3051 #define  POTF2_L  zpotf2_L
3052 #define  LAUU2_U  zlauu2_U
3053 #define  LAUU2_L  zlauu2_L
3054 #define  POTRF_U_SINGLE zpotrf_U_single
3055 #define  POTRF_L_SINGLE zpotrf_L_single
3056 #define  POTRF_U_PARALLEL zpotrf_U_parallel
3057 #define  POTRF_L_PARALLEL zpotrf_L_parallel
3058 #define  LAUUM_U_SINGLE zlauum_U_single
3059 #define  LAUUM_L_SINGLE zlauum_L_single
3060 #define  LAUUM_U_PARALLEL zlauum_U_parallel
3061 #define  LAUUM_L_PARALLEL zlauum_L_parallel
3062 #define  TRTI2_UU ztrti2_UU
3063 #define  TRTI2_UN ztrti2_UN
3064 #define  TRTI2_LU ztrti2_LU
3065 #define  TRTI2_LN ztrti2_LN
3066 #define  TRTRI_UU_SINGLE ztrtri_UU_single
3067 #define  TRTRI_UN_SINGLE ztrtri_UN_single
3068 #define  TRTRI_LU_SINGLE ztrtri_LU_single
3069 #define  TRTRI_LN_SINGLE ztrtri_LN_single
3070 #define  TRTRI_UU_PARALLEL ztrtri_UU_parallel
3071 #define  TRTRI_UN_PARALLEL ztrtri_UN_parallel
3072 #define  TRTRI_LU_PARALLEL ztrtri_LU_parallel
3073 #define  TRTRI_LN_PARALLEL ztrtri_LN_parallel
3074 #else
3075 #define  POTF2_U  cpotf2_U
3076 #define  POTF2_L  cpotf2_L
3077 #define  LAUU2_U  clauu2_U
3078 #define  LAUU2_L  clauu2_L
3079 #define  POTRF_U_SINGLE cpotrf_U_single
3080 #define  POTRF_L_SINGLE cpotrf_L_single
3081 #define  POTRF_U_PARALLEL cpotrf_U_parallel
3082 #define  POTRF_L_PARALLEL cpotrf_L_parallel
3083 #define  LAUUM_U_SINGLE clauum_U_single
3084 #define  LAUUM_L_SINGLE clauum_L_single
3085 #define  LAUUM_U_PARALLEL clauum_U_parallel
3086 #define  LAUUM_L_PARALLEL clauum_L_parallel
3087 #define  TRTI2_UU ctrti2_UU
3088 #define  TRTI2_UN ctrti2_UN
3089 #define  TRTI2_LU ctrti2_LU
3090 #define  TRTI2_LN ctrti2_LN
3091 #define  TRTRI_UU_SINGLE ctrtri_UU_single
3092 #define  TRTRI_UN_SINGLE ctrtri_UN_single
3093 #define  TRTRI_LU_SINGLE ctrtri_LU_single
3094 #define  TRTRI_LN_SINGLE ctrtri_LN_single
3095 #define  TRTRI_UU_PARALLEL ctrtri_UU_parallel
3096 #define  TRTRI_UN_PARALLEL ctrtri_UN_parallel
3097 #define  TRTRI_LU_PARALLEL ctrtri_LU_parallel
3098 #define  TRTRI_LN_PARALLEL ctrtri_LN_parallel
3099 #endif
3100 #endif
3101
3102 #endif
3103
3104 #ifndef COMPLEX
3105 #ifdef XDOUBLE
3106 #define  TRTRS_UNU_SINGLE  qtrtrs_UNU_single
3107 #define  TRTRS_UNN_SINGLE  qtrtrs_UNN_single
3108 #define  TRTRS_UTU_SINGLE  qtrtrs_UTU_single
3109 #define  TRTRS_UTN_SINGLE  qtrtrs_UTN_single
3110 #define  TRTRS_LNU_SINGLE  qtrtrs_LNU_single
3111 #define  TRTRS_LNN_SINGLE  qtrtrs_LNN_single
3112 #define  TRTRS_LTU_SINGLE  qtrtrs_LTU_single
3113 #define  TRTRS_LTN_SINGLE  qtrtrs_LTN_single
3114 #define  TRTRS_UNU_PARALLEL  qtrtrs_UNU_parallel
3115 #define  TRTRS_UNN_PARALLEL  qtrtrs_UNN_parallel
3116 #define  TRTRS_UTU_PARALLEL  qtrtrs_UTU_parallel
3117 #define  TRTRS_UTN_PARALLEL  qtrtrs_UTN_parallel
3118 #define  TRTRS_LNU_PARALLEL  qtrtrs_LNU_parallel
3119 #define  TRTRS_LNN_PARALLEL  qtrtrs_LNN_parallel
3120 #define  TRTRS_LTU_PARALLEL  qtrtrs_LTU_parallel
3121 #define  TRTRS_LTN_PARALLEL  qtrtrs_LTN_parallel
3122
3123 #elif defined(DOUBLE)
3124 #define  TRTRS_UNU_SINGLE  dtrtrs_UNU_single
3125 #define  TRTRS_UNN_SINGLE  dtrtrs_UNN_single
3126 #define  TRTRS_UTU_SINGLE  dtrtrs_UTU_single
3127 #define  TRTRS_UTN_SINGLE  dtrtrs_UTN_single
3128 #define  TRTRS_LNU_SINGLE  dtrtrs_LNU_single
3129 #define  TRTRS_LNN_SINGLE  dtrtrs_LNN_single
3130 #define  TRTRS_LTU_SINGLE  dtrtrs_LTU_single
3131 #define  TRTRS_LTN_SINGLE  dtrtrs_LTN_single
3132 #define  TRTRS_UNU_PARALLEL  dtrtrs_UNU_parallel
3133 #define  TRTRS_UNN_PARALLEL  dtrtrs_UNN_parallel
3134 #define  TRTRS_UTU_PARALLEL  dtrtrs_UTU_parallel
3135 #define  TRTRS_UTN_PARALLEL  dtrtrs_UTN_parallel
3136 #define  TRTRS_LNU_PARALLEL  dtrtrs_LNU_parallel
3137 #define  TRTRS_LNN_PARALLEL  dtrtrs_LNN_parallel
3138 #define  TRTRS_LTU_PARALLEL  dtrtrs_LTU_parallel
3139 #define  TRTRS_LTN_PARALLEL  dtrtrs_LTN_parallel
3140 #else
3141 #define  TRTRS_UNU_SINGLE  strtrs_UNU_single
3142 #define  TRTRS_UNN_SINGLE  strtrs_UNN_single
3143 #define  TRTRS_UTU_SINGLE  strtrs_UTU_single
3144 #define  TRTRS_UTN_SINGLE  strtrs_UTN_single
3145 #define  TRTRS_LNU_SINGLE  strtrs_LNU_single
3146 #define  TRTRS_LNN_SINGLE  strtrs_LNN_single
3147 #define  TRTRS_LTU_SINGLE  strtrs_LTU_single
3148 #define  TRTRS_LTN_SINGLE  strtrs_LTN_single
3149 #define  TRTRS_UNU_PARALLEL  strtrs_UNU_parallel
3150 #define  TRTRS_UNN_PARALLEL  strtrs_UNN_parallel
3151 #define  TRTRS_UTU_PARALLEL  strtrs_UTU_parallel
3152 #define  TRTRS_UTN_PARALLEL  strtrs_UTN_parallel
3153 #define  TRTRS_LNU_PARALLEL  strtrs_LNU_parallel
3154 #define  TRTRS_LNN_PARALLEL  strtrs_LNN_parallel
3155 #define  TRTRS_LTU_PARALLEL  strtrs_LTU_parallel
3156 #define  TRTRS_LTN_PARALLEL  strtrs_LTN_parallel
3157 #endif
3158 #else
3159 #ifdef XDOUBLE
3160 #define  TRTRS_UNU_SINGLE  xtrtrs_UNU_single
3161 #define  TRTRS_UNN_SINGLE  xtrtrs_UNN_single
3162 #define  TRTRS_UTU_SINGLE  xtrtrs_UTU_single
3163 #define  TRTRS_UTN_SINGLE  xtrtrs_UTN_single
3164 #define  TRTRS_URU_SINGLE  xtrtrs_URU_single
3165 #define  TRTRS_URN_SINGLE  xtrtrs_URN_single
3166 #define  TRTRS_UCU_SINGLE  xtrtrs_UCU_single
3167 #define  TRTRS_UCN_SINGLE  xtrtrs_UCN_single
3168 #define  TRTRS_LNU_SINGLE  xtrtrs_LNU_single
3169 #define  TRTRS_LNN_SINGLE  xtrtrs_LNN_single
3170 #define  TRTRS_LTU_SINGLE  xtrtrs_LTU_single
3171 #define  TRTRS_LTN_SINGLE  xtrtrs_LTN_single
3172 #define  TRTRS_LRU_SINGLE  xtrtrs_LRU_single
3173 #define  TRTRS_LRN_SINGLE  xtrtrs_LRN_single
3174 #define  TRTRS_LCU_SINGLE  xtrtrs_LCU_single
3175 #define  TRTRS_LCN_SINGLE  xtrtrs_LCN_single
3176 #define  TRTRS_UNU_PARALLEL  xtrtrs_UNU_parallel
3177 #define  TRTRS_UNN_PARALLEL  xtrtrs_UNN_parallel
3178 #define  TRTRS_UTU_PARALLEL  xtrtrs_UTU_parallel
3179 #define  TRTRS_UTN_PARALLEL  xtrtrs_UTN_parallel
3180 #define  TRTRS_URU_PARALLEL  xtrtrs_URU_parallel
3181 #define  TRTRS_URN_PARALLEL  xtrtrs_URN_parallel
3182 #define  TRTRS_UCU_PARALLEL  xtrtrs_UCU_parallel
3183 #define  TRTRS_UCN_PARALLEL  xtrtrs_UCN_parallel
3184 #define  TRTRS_LNU_PARALLEL  xtrtrs_LNU_parallel
3185 #define  TRTRS_LNN_PARALLEL  xtrtrs_LNN_parallel
3186 #define  TRTRS_LTU_PARALLEL  xtrtrs_LTU_parallel
3187 #define  TRTRS_LTN_PARALLEL  xtrtrs_LTN_parallel
3188 #define  TRTRS_LRU_PARALLEL  xtrtrs_LRU_parallel
3189 #define  TRTRS_LRN_PARALLEL  xtrtrs_LRN_parallel
3190 #define  TRTRS_LCU_PARALLEL  xtrtrs_LCU_parallel
3191 #define  TRTRS_LCN_PARALLEL  xtrtrs_LCN_parallel
3192 #elif defined(DOUBLE)
3193 #define  TRTRS_UNU_SINGLE  ztrtrs_UNU_single
3194 #define  TRTRS_UNN_SINGLE  ztrtrs_UNN_single
3195 #define  TRTRS_UTU_SINGLE  ztrtrs_UTU_single
3196 #define  TRTRS_UTN_SINGLE  ztrtrs_UTN_single
3197 #define  TRTRS_URU_SINGLE  ztrtrs_URU_single
3198 #define  TRTRS_URN_SINGLE  ztrtrs_URN_single
3199 #define  TRTRS_UCU_SINGLE  ztrtrs_UCU_single
3200 #define  TRTRS_UCN_SINGLE  ztrtrs_UCN_single
3201 #define  TRTRS_LNU_SINGLE  ztrtrs_LNU_single
3202 #define  TRTRS_LNN_SINGLE  ztrtrs_LNN_single
3203 #define  TRTRS_LTU_SINGLE  ztrtrs_LTU_single
3204 #define  TRTRS_LTN_SINGLE  ztrtrs_LTN_single
3205 #define  TRTRS_LRU_SINGLE  ztrtrs_LRU_single
3206 #define  TRTRS_LRN_SINGLE  ztrtrs_LRN_single
3207 #define  TRTRS_LCU_SINGLE  ztrtrs_LCU_single
3208 #define  TRTRS_LCN_SINGLE  ztrtrs_LCN_single
3209 #define  TRTRS_UNU_PARALLEL  ztrtrs_UNU_parallel
3210 #define  TRTRS_UNN_PARALLEL  ztrtrs_UNN_parallel
3211 #define  TRTRS_UTU_PARALLEL  ztrtrs_UTU_parallel
3212 #define  TRTRS_UTN_PARALLEL  ztrtrs_UTN_parallel
3213 #define  TRTRS_URU_PARALLEL  ztrtrs_URU_parallel
3214 #define  TRTRS_URN_PARALLEL  ztrtrs_URN_parallel
3215 #define  TRTRS_UCU_PARALLEL  ztrtrs_UCU_parallel
3216 #define  TRTRS_UCN_PARALLEL  ztrtrs_UCN_parallel
3217 #define  TRTRS_LNU_PARALLEL  ztrtrs_LNU_parallel
3218 #define  TRTRS_LNN_PARALLEL  ztrtrs_LNN_parallel
3219 #define  TRTRS_LTU_PARALLEL  ztrtrs_LTU_parallel
3220 #define  TRTRS_LTN_PARALLEL  ztrtrs_LTN_parallel
3221 #define  TRTRS_LRU_PARALLEL  ztrtrs_LRU_parallel
3222 #define  TRTRS_LRN_PARALLEL  ztrtrs_LRN_parallel
3223 #define  TRTRS_LCU_PARALLEL  ztrtrs_LCU_parallel
3224 #define  TRTRS_LCN_PARALLEL  ztrtrs_LCN_parallel
3225 #else
3226 #define  TRTRS_UNU_SINGLE  ctrtrs_UNU_single
3227 #define  TRTRS_UNN_SINGLE  ctrtrs_UNN_single
3228 #define  TRTRS_UTU_SINGLE  ctrtrs_UTU_single
3229 #define  TRTRS_UTN_SINGLE  ctrtrs_UTN_single
3230 #define  TRTRS_URU_SINGLE  ctrtrs_URU_single
3231 #define  TRTRS_URN_SINGLE  ctrtrs_URN_single
3232 #define  TRTRS_UCU_SINGLE  ctrtrs_UCU_single
3233 #define  TRTRS_UCN_SINGLE  ctrtrs_UCN_single
3234 #define  TRTRS_LNU_SINGLE  ctrtrs_LNU_single
3235 #define  TRTRS_LNN_SINGLE  ctrtrs_LNN_single
3236 #define  TRTRS_LTU_SINGLE  ctrtrs_LTU_single
3237 #define  TRTRS_LTN_SINGLE  ctrtrs_LTN_single
3238 #define  TRTRS_LRU_SINGLE  ctrtrs_LRU_single
3239 #define  TRTRS_LRN_SINGLE  ctrtrs_LRN_single
3240 #define  TRTRS_LCU_SINGLE  ctrtrs_LCU_single
3241 #define  TRTRS_LCN_SINGLE  ctrtrs_LCN_single
3242 #define  TRTRS_UNU_PARALLEL  ctrtrs_UNU_parallel
3243 #define  TRTRS_UNN_PARALLEL  ctrtrs_UNN_parallel
3244 #define  TRTRS_UTU_PARALLEL  ctrtrs_UTU_parallel
3245 #define  TRTRS_UTN_PARALLEL  ctrtrs_UTN_parallel
3246 #define  TRTRS_URU_PARALLEL  ctrtrs_URU_parallel
3247 #define  TRTRS_URN_PARALLEL  ctrtrs_URN_parallel
3248 #define  TRTRS_UCU_PARALLEL  ctrtrs_UCU_parallel
3249 #define  TRTRS_UCN_PARALLEL  ctrtrs_UCN_parallel
3250 #define  TRTRS_LNU_PARALLEL  ctrtrs_LNU_parallel
3251 #define  TRTRS_LNN_PARALLEL  ctrtrs_LNN_parallel
3252 #define  TRTRS_LTU_PARALLEL  ctrtrs_LTU_parallel
3253 #define  TRTRS_LTN_PARALLEL  ctrtrs_LTN_parallel
3254 #define  TRTRS_LRU_PARALLEL  ctrtrs_LRU_parallel
3255 #define  TRTRS_LRN_PARALLEL  ctrtrs_LRN_parallel
3256 #define  TRTRS_LCU_PARALLEL  ctrtrs_LCU_parallel
3257 #define  TRTRS_LCN_PARALLEL  ctrtrs_LCN_parallel
3258 #endif
3259 #endif