- Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathcommon_c.h
702 lines (608 loc) · 24.1 KB
/
common_c.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
#ifndefCOMMON_C_H
#defineCOMMON_C_H
#ifndefDYNAMIC_ARCH
#defineCAMAX_K camax_k
#defineCAMIN_K camin_k
#defineCMAX_K cmax_k
#defineCMIN_K cmin_k
#defineICAMAX_K icamax_k
#defineICAMIN_K icamin_k
#defineICMAX_K icmax_k
#defineICMIN_K icmin_k
#defineCASUM_K casum_k
#defineCAXPYU_K caxpy_k
#defineCAXPYC_K caxpyc_k
#defineCCOPY_K ccopy_k
#defineCDOTU_K cdotu_k
#defineCDOTC_K cdotc_k
#defineCNRM2_K cnrm2_k
#defineCSCAL_K cscal_k
#defineCSUM_K csum_k
#defineCSWAP_K cswap_k
#defineCROT_K csrot_k
#defineCGEMV_N cgemv_n
#defineCGEMV_T cgemv_t
#defineCGEMV_R cgemv_r
#defineCGEMV_C cgemv_c
#defineCGEMV_O cgemv_o
#defineCGEMV_U cgemv_u
#defineCGEMV_S cgemv_s
#defineCGEMV_D cgemv_d
#defineCGERU_K cgeru_k
#defineCGERC_K cgerc_k
#defineCGERV_K cgerv_k
#defineCGERD_K cgerd_k
#defineCSYMV_U csymv_U
#defineCSYMV_L csymv_L
#defineCHEMV_U chemv_U
#defineCHEMV_L chemv_L
#defineCHEMV_V chemv_V
#defineCHEMV_M chemv_M
#defineCSYMV_THREAD_U csymv_thread_U
#defineCSYMV_THREAD_L csymv_thread_L
#defineCHEMV_THREAD_U chemv_thread_U
#defineCHEMV_THREAD_L chemv_thread_L
#defineCHEMV_THREAD_V chemv_thread_V
#defineCHEMV_THREAD_M chemv_thread_M
#defineCGEMM_ONCOPY cgemm_oncopy
#defineCGEMM_OTCOPY cgemm_otcopy
#ifCGEMM_DEFAULT_UNROLL_M==CGEMM_DEFAULT_UNROLL_N
#defineCGEMM_INCOPY cgemm_oncopy
#defineCGEMM_ITCOPY cgemm_otcopy
#else
#defineCGEMM_INCOPY cgemm_incopy
#defineCGEMM_ITCOPY cgemm_itcopy
#endif
#defineCTRMM_OUNUCOPY ctrmm_ounucopy
#defineCTRMM_OUNNCOPY ctrmm_ounncopy
#defineCTRMM_OUTUCOPY ctrmm_outucopy
#defineCTRMM_OUTNCOPY ctrmm_outncopy
#defineCTRMM_OLNUCOPY ctrmm_olnucopy
#defineCTRMM_OLNNCOPY ctrmm_olnncopy
#defineCTRMM_OLTUCOPY ctrmm_oltucopy
#defineCTRMM_OLTNCOPY ctrmm_oltncopy
#defineCTRSM_OUNUCOPY ctrsm_ounucopy
#defineCTRSM_OUNNCOPY ctrsm_ounncopy
#defineCTRSM_OUTUCOPY ctrsm_outucopy
#defineCTRSM_OUTNCOPY ctrsm_outncopy
#defineCTRSM_OLNUCOPY ctrsm_olnucopy
#defineCTRSM_OLNNCOPY ctrsm_olnncopy
#defineCTRSM_OLTUCOPY ctrsm_oltucopy
#defineCTRSM_OLTNCOPY ctrsm_oltncopy
#ifCGEMM_DEFAULT_UNROLL_M==CGEMM_DEFAULT_UNROLL_N
#defineCTRMM_IUNUCOPY ctrmm_ounucopy
#defineCTRMM_IUNNCOPY ctrmm_ounncopy
#defineCTRMM_IUTUCOPY ctrmm_outucopy
#defineCTRMM_IUTNCOPY ctrmm_outncopy
#defineCTRMM_ILNUCOPY ctrmm_olnucopy
#defineCTRMM_ILNNCOPY ctrmm_olnncopy
#defineCTRMM_ILTUCOPY ctrmm_oltucopy
#defineCTRMM_ILTNCOPY ctrmm_oltncopy
#defineCTRSM_IUNUCOPY ctrsm_ounucopy
#defineCTRSM_IUNNCOPY ctrsm_ounncopy
#defineCTRSM_IUTUCOPY ctrsm_outucopy
#defineCTRSM_IUTNCOPY ctrsm_outncopy
#defineCTRSM_ILNUCOPY ctrsm_olnucopy
#defineCTRSM_ILNNCOPY ctrsm_olnncopy
#defineCTRSM_ILTUCOPY ctrsm_oltucopy
#defineCTRSM_ILTNCOPY ctrsm_oltncopy
#else
#defineCTRMM_IUNUCOPY ctrmm_iunucopy
#defineCTRMM_IUNNCOPY ctrmm_iunncopy
#defineCTRMM_IUTUCOPY ctrmm_iutucopy
#defineCTRMM_IUTNCOPY ctrmm_iutncopy
#defineCTRMM_ILNUCOPY ctrmm_ilnucopy
#defineCTRMM_ILNNCOPY ctrmm_ilnncopy
#defineCTRMM_ILTUCOPY ctrmm_iltucopy
#defineCTRMM_ILTNCOPY ctrmm_iltncopy
#defineCTRSM_IUNUCOPY ctrsm_iunucopy
#defineCTRSM_IUNNCOPY ctrsm_iunncopy
#defineCTRSM_IUTUCOPY ctrsm_iutucopy
#defineCTRSM_IUTNCOPY ctrsm_iutncopy
#defineCTRSM_ILNUCOPY ctrsm_ilnucopy
#defineCTRSM_ILNNCOPY ctrsm_ilnncopy
#defineCTRSM_ILTUCOPY ctrsm_iltucopy
#defineCTRSM_ILTNCOPY ctrsm_iltncopy
#endif
#defineCGEMM_BETA cgemm_beta
#defineCGEMM_KERNEL_N cgemm_kernel_n
#defineCGEMM_KERNEL_L cgemm_kernel_l
#defineCGEMM_KERNEL_R cgemm_kernel_r
#defineCGEMM_KERNEL_B cgemm_kernel_b
#defineCTRMM_KERNEL_LN ctrmm_kernel_LN
#defineCTRMM_KERNEL_LT ctrmm_kernel_LT
#defineCTRMM_KERNEL_LR ctrmm_kernel_LR
#defineCTRMM_KERNEL_LC ctrmm_kernel_LC
#defineCTRMM_KERNEL_RN ctrmm_kernel_RN
#defineCTRMM_KERNEL_RT ctrmm_kernel_RT
#defineCTRMM_KERNEL_RR ctrmm_kernel_RR
#defineCTRMM_KERNEL_RC ctrmm_kernel_RC
#defineCTRSM_KERNEL_LN ctrsm_kernel_LN
#defineCTRSM_KERNEL_LT ctrsm_kernel_LT
#defineCTRSM_KERNEL_LR ctrsm_kernel_LR
#defineCTRSM_KERNEL_LC ctrsm_kernel_LC
#defineCTRSM_KERNEL_RN ctrsm_kernel_RN
#defineCTRSM_KERNEL_RT ctrsm_kernel_RT
#defineCTRSM_KERNEL_RR ctrsm_kernel_RR
#defineCTRSM_KERNEL_RC ctrsm_kernel_RC
#defineCSYMM_OUTCOPY csymm_outcopy
#defineCSYMM_OLTCOPY csymm_oltcopy
#ifCGEMM_DEFAULT_UNROLL_M==CGEMM_DEFAULT_UNROLL_N
#defineCSYMM_IUTCOPY csymm_outcopy
#defineCSYMM_ILTCOPY csymm_oltcopy
#else
#defineCSYMM_IUTCOPY csymm_iutcopy
#defineCSYMM_ILTCOPY csymm_iltcopy
#endif
#defineCHEMM_OUTCOPY chemm_outcopy
#defineCHEMM_OLTCOPY chemm_oltcopy
#ifCGEMM_DEFAULT_UNROLL_M==CGEMM_DEFAULT_UNROLL_N
#defineCHEMM_IUTCOPY chemm_outcopy
#defineCHEMM_ILTCOPY chemm_oltcopy
#else
#defineCHEMM_IUTCOPY chemm_iutcopy
#defineCHEMM_ILTCOPY chemm_iltcopy
#endif
#defineCGEMM3M_ONCOPYB cgemm3m_oncopyb
#defineCGEMM3M_ONCOPYR cgemm3m_oncopyr
#defineCGEMM3M_ONCOPYI cgemm3m_oncopyi
#defineCGEMM3M_OTCOPYB cgemm3m_otcopyb
#defineCGEMM3M_OTCOPYR cgemm3m_otcopyr
#defineCGEMM3M_OTCOPYI cgemm3m_otcopyi
#defineCGEMM3M_INCOPYB cgemm3m_incopyb
#defineCGEMM3M_INCOPYR cgemm3m_incopyr
#defineCGEMM3M_INCOPYI cgemm3m_incopyi
#defineCGEMM3M_ITCOPYB cgemm3m_itcopyb
#defineCGEMM3M_ITCOPYR cgemm3m_itcopyr
#defineCGEMM3M_ITCOPYI cgemm3m_itcopyi
#defineCSYMM3M_ILCOPYB csymm3m_ilcopyb
#defineCSYMM3M_IUCOPYB csymm3m_iucopyb
#defineCSYMM3M_ILCOPYR csymm3m_ilcopyr
#defineCSYMM3M_IUCOPYR csymm3m_iucopyr
#defineCSYMM3M_ILCOPYI csymm3m_ilcopyi
#defineCSYMM3M_IUCOPYI csymm3m_iucopyi
#defineCSYMM3M_OLCOPYB csymm3m_olcopyb
#defineCSYMM3M_OUCOPYB csymm3m_oucopyb
#defineCSYMM3M_OLCOPYR csymm3m_olcopyr
#defineCSYMM3M_OUCOPYR csymm3m_oucopyr
#defineCSYMM3M_OLCOPYI csymm3m_olcopyi
#defineCSYMM3M_OUCOPYI csymm3m_oucopyi
#defineCHEMM3M_ILCOPYB chemm3m_ilcopyb
#defineCHEMM3M_IUCOPYB chemm3m_iucopyb
#defineCHEMM3M_ILCOPYR chemm3m_ilcopyr
#defineCHEMM3M_IUCOPYR chemm3m_iucopyr
#defineCHEMM3M_ILCOPYI chemm3m_ilcopyi
#defineCHEMM3M_IUCOPYI chemm3m_iucopyi
#defineCHEMM3M_OLCOPYB chemm3m_olcopyb
#defineCHEMM3M_OUCOPYB chemm3m_oucopyb
#defineCHEMM3M_OLCOPYR chemm3m_olcopyr
#defineCHEMM3M_OUCOPYR chemm3m_oucopyr
#defineCHEMM3M_OLCOPYI chemm3m_olcopyi
#defineCHEMM3M_OUCOPYI chemm3m_oucopyi
#defineCGEMM3M_KERNEL cgemm3m_kernel
#defineCNEG_TCOPY cneg_tcopy
#defineCLASWP_NCOPY claswp_ncopy
#defineCAXPBY_K caxpby_k
#defineCOMATCOPY_K_CN comatcopy_k_cn
#defineCOMATCOPY_K_RN comatcopy_k_rn
#defineCOMATCOPY_K_CT comatcopy_k_ct
#defineCOMATCOPY_K_RT comatcopy_k_rt
#defineCOMATCOPY_K_CNC comatcopy_k_cnc
#defineCOMATCOPY_K_RNC comatcopy_k_rnc
#defineCOMATCOPY_K_CTC comatcopy_k_ctc
#defineCOMATCOPY_K_RTC comatcopy_k_rtc
#defineCIMATCOPY_K_CN cimatcopy_k_cn
#defineCIMATCOPY_K_RN cimatcopy_k_rn
#defineCIMATCOPY_K_CT cimatcopy_k_ct
#defineCIMATCOPY_K_RT cimatcopy_k_rt
#defineCIMATCOPY_K_CNC cimatcopy_k_cnc
#defineCIMATCOPY_K_RNC cimatcopy_k_rnc
#defineCIMATCOPY_K_CTC cimatcopy_k_ctc
#defineCIMATCOPY_K_RTC cimatcopy_k_rtc
#defineCGEADD_K cgeadd_k
#defineCGEMM_SMALL_MATRIX_PERMIT cgemm_small_matrix_permit
#else
#defineCAMAX_K gotoblas -> camax_k
#defineCAMIN_K gotoblas -> camin_k
#defineCMAX_K gotoblas -> cmax_k
#defineCMIN_K gotoblas -> cmin_k
#defineICAMAX_K gotoblas -> icamax_k
#defineICAMIN_K gotoblas -> icamin_k
#defineICMAX_K gotoblas -> icmax_k
#defineICMIN_K gotoblas -> icmin_k
#defineCASUM_K gotoblas -> casum_k
#defineCAXPYU_K gotoblas -> caxpy_k
#defineCAXPYC_K gotoblas -> caxpyc_k
#defineCCOPY_K gotoblas -> ccopy_k
#defineCDOTU_K gotoblas -> cdotu_k
#defineCDOTC_K gotoblas -> cdotc_k
#defineCNRM2_K gotoblas -> cnrm2_k
#defineCSCAL_K gotoblas -> cscal_k
#defineCSUM_K gotoblas -> csum_k
#defineCSWAP_K gotoblas -> cswap_k
#defineCROT_K gotoblas -> csrot_k
#defineCGEMV_N gotoblas -> cgemv_n
#defineCGEMV_T gotoblas -> cgemv_t
#defineCGEMV_R gotoblas -> cgemv_r
#defineCGEMV_C gotoblas -> cgemv_c
#defineCGEMV_O gotoblas -> cgemv_o
#defineCGEMV_U gotoblas -> cgemv_u
#defineCGEMV_S gotoblas -> cgemv_s
#defineCGEMV_D gotoblas -> cgemv_d
#defineCGERU_K gotoblas -> cgeru_k
#defineCGERC_K gotoblas -> cgerc_k
#defineCGERV_K gotoblas -> cgerv_k
#defineCGERD_K gotoblas -> cgerd_k
#defineCSYMV_U gotoblas -> csymv_U
#defineCSYMV_L gotoblas -> csymv_L
#defineCHEMV_U gotoblas -> chemv_U
#defineCHEMV_L gotoblas -> chemv_L
#defineCHEMV_V gotoblas -> chemv_V
#defineCHEMV_M gotoblas -> chemv_M
#defineCSYMV_THREAD_U csymv_thread_U
#defineCSYMV_THREAD_L csymv_thread_L
#defineCHEMV_THREAD_U chemv_thread_U
#defineCHEMV_THREAD_L chemv_thread_L
#defineCHEMV_THREAD_V chemv_thread_V
#defineCHEMV_THREAD_M chemv_thread_M
#defineCGEMM_ONCOPY gotoblas -> cgemm_oncopy
#defineCGEMM_OTCOPY gotoblas -> cgemm_otcopy
#defineCGEMM_INCOPY gotoblas -> cgemm_incopy
#defineCGEMM_ITCOPY gotoblas -> cgemm_itcopy
#defineCTRMM_OUNUCOPY gotoblas -> ctrmm_ounucopy
#defineCTRMM_OUTUCOPY gotoblas -> ctrmm_outucopy
#defineCTRMM_OLNUCOPY gotoblas -> ctrmm_olnucopy
#defineCTRMM_OLTUCOPY gotoblas -> ctrmm_oltucopy
#defineCTRSM_OUNUCOPY gotoblas -> ctrsm_ounucopy
#defineCTRSM_OUTUCOPY gotoblas -> ctrsm_outucopy
#defineCTRSM_OLNUCOPY gotoblas -> ctrsm_olnucopy
#defineCTRSM_OLTUCOPY gotoblas -> ctrsm_oltucopy
#defineCTRMM_IUNUCOPY gotoblas -> ctrmm_iunucopy
#defineCTRMM_IUTUCOPY gotoblas -> ctrmm_iutucopy
#defineCTRMM_ILNUCOPY gotoblas -> ctrmm_ilnucopy
#defineCTRMM_ILTUCOPY gotoblas -> ctrmm_iltucopy
#defineCTRSM_IUNUCOPY gotoblas -> ctrsm_iunucopy
#defineCTRSM_IUTUCOPY gotoblas -> ctrsm_iutucopy
#defineCTRSM_ILNUCOPY gotoblas -> ctrsm_ilnucopy
#defineCTRSM_ILTUCOPY gotoblas -> ctrsm_iltucopy
#defineCTRMM_OUNNCOPY gotoblas -> ctrmm_ounncopy
#defineCTRMM_OUTNCOPY gotoblas -> ctrmm_outncopy
#defineCTRMM_OLNNCOPY gotoblas -> ctrmm_olnncopy
#defineCTRMM_OLTNCOPY gotoblas -> ctrmm_oltncopy
#defineCTRSM_OUNNCOPY gotoblas -> ctrsm_ounncopy
#defineCTRSM_OUTNCOPY gotoblas -> ctrsm_outncopy
#defineCTRSM_OLNNCOPY gotoblas -> ctrsm_olnncopy
#defineCTRSM_OLTNCOPY gotoblas -> ctrsm_oltncopy
#defineCTRMM_IUNNCOPY gotoblas -> ctrmm_iunncopy
#defineCTRMM_IUTNCOPY gotoblas -> ctrmm_iutncopy
#defineCTRMM_ILNNCOPY gotoblas -> ctrmm_ilnncopy
#defineCTRMM_ILTNCOPY gotoblas -> ctrmm_iltncopy
#defineCTRSM_IUNNCOPY gotoblas -> ctrsm_iunncopy
#defineCTRSM_IUTNCOPY gotoblas -> ctrsm_iutncopy
#defineCTRSM_ILNNCOPY gotoblas -> ctrsm_ilnncopy
#defineCTRSM_ILTNCOPY gotoblas -> ctrsm_iltncopy
#defineCGEMM_BETA gotoblas -> cgemm_beta
#defineCGEMM_KERNEL_N gotoblas -> cgemm_kernel_n
#defineCGEMM_KERNEL_L gotoblas -> cgemm_kernel_l
#defineCGEMM_KERNEL_R gotoblas -> cgemm_kernel_r
#defineCGEMM_KERNEL_B gotoblas -> cgemm_kernel_b
#defineCTRMM_KERNEL_LN gotoblas -> ctrmm_kernel_LN
#defineCTRMM_KERNEL_LT gotoblas -> ctrmm_kernel_LT
#defineCTRMM_KERNEL_LR gotoblas -> ctrmm_kernel_LR
#defineCTRMM_KERNEL_LC gotoblas -> ctrmm_kernel_LC
#defineCTRMM_KERNEL_RN gotoblas -> ctrmm_kernel_RN
#defineCTRMM_KERNEL_RT gotoblas -> ctrmm_kernel_RT
#defineCTRMM_KERNEL_RR gotoblas -> ctrmm_kernel_RR
#defineCTRMM_KERNEL_RC gotoblas -> ctrmm_kernel_RC
#defineCTRSM_KERNEL_LN gotoblas -> ctrsm_kernel_LN
#defineCTRSM_KERNEL_LT gotoblas -> ctrsm_kernel_LT
#defineCTRSM_KERNEL_LR gotoblas -> ctrsm_kernel_LR
#defineCTRSM_KERNEL_LC gotoblas -> ctrsm_kernel_LC
#defineCTRSM_KERNEL_RN gotoblas -> ctrsm_kernel_RN
#defineCTRSM_KERNEL_RT gotoblas -> ctrsm_kernel_RT
#defineCTRSM_KERNEL_RR gotoblas -> ctrsm_kernel_RR
#defineCTRSM_KERNEL_RC gotoblas -> ctrsm_kernel_RC
#defineCSYMM_IUTCOPY gotoblas -> csymm_iutcopy
#defineCSYMM_ILTCOPY gotoblas -> csymm_iltcopy
#defineCSYMM_OUTCOPY gotoblas -> csymm_outcopy
#defineCSYMM_OLTCOPY gotoblas -> csymm_oltcopy
#defineCHEMM_OUTCOPY gotoblas -> chemm_outcopy
#defineCHEMM_OLTCOPY gotoblas -> chemm_oltcopy
#defineCHEMM_IUTCOPY gotoblas -> chemm_iutcopy
#defineCHEMM_ILTCOPY gotoblas -> chemm_iltcopy
#defineCGEMM3M_ONCOPYB gotoblas -> cgemm3m_oncopyb
#defineCGEMM3M_ONCOPYR gotoblas -> cgemm3m_oncopyr
#defineCGEMM3M_ONCOPYI gotoblas -> cgemm3m_oncopyi
#defineCGEMM3M_OTCOPYB gotoblas -> cgemm3m_otcopyb
#defineCGEMM3M_OTCOPYR gotoblas -> cgemm3m_otcopyr
#defineCGEMM3M_OTCOPYI gotoblas -> cgemm3m_otcopyi
#defineCGEMM3M_INCOPYB gotoblas -> cgemm3m_incopyb
#defineCGEMM3M_INCOPYR gotoblas -> cgemm3m_incopyr
#defineCGEMM3M_INCOPYI gotoblas -> cgemm3m_incopyi
#defineCGEMM3M_ITCOPYB gotoblas -> cgemm3m_itcopyb
#defineCGEMM3M_ITCOPYR gotoblas -> cgemm3m_itcopyr
#defineCGEMM3M_ITCOPYI gotoblas -> cgemm3m_itcopyi
#defineCSYMM3M_ILCOPYB gotoblas -> csymm3m_ilcopyb
#defineCSYMM3M_IUCOPYB gotoblas -> csymm3m_iucopyb
#defineCSYMM3M_ILCOPYR gotoblas -> csymm3m_ilcopyr
#defineCSYMM3M_IUCOPYR gotoblas -> csymm3m_iucopyr
#defineCSYMM3M_ILCOPYI gotoblas -> csymm3m_ilcopyi
#defineCSYMM3M_IUCOPYI gotoblas -> csymm3m_iucopyi
#defineCSYMM3M_OLCOPYB gotoblas -> csymm3m_olcopyb
#defineCSYMM3M_OUCOPYB gotoblas -> csymm3m_oucopyb
#defineCSYMM3M_OLCOPYR gotoblas -> csymm3m_olcopyr
#defineCSYMM3M_OUCOPYR gotoblas -> csymm3m_oucopyr
#defineCSYMM3M_OLCOPYI gotoblas -> csymm3m_olcopyi
#defineCSYMM3M_OUCOPYI gotoblas -> csymm3m_oucopyi
#defineCHEMM3M_ILCOPYB gotoblas -> chemm3m_ilcopyb
#defineCHEMM3M_IUCOPYB gotoblas -> chemm3m_iucopyb
#defineCHEMM3M_ILCOPYR gotoblas -> chemm3m_ilcopyr
#defineCHEMM3M_IUCOPYR gotoblas -> chemm3m_iucopyr
#defineCHEMM3M_ILCOPYI gotoblas -> chemm3m_ilcopyi
#defineCHEMM3M_IUCOPYI gotoblas -> chemm3m_iucopyi
#defineCHEMM3M_OLCOPYB gotoblas -> chemm3m_olcopyb
#defineCHEMM3M_OUCOPYB gotoblas -> chemm3m_oucopyb
#defineCHEMM3M_OLCOPYR gotoblas -> chemm3m_olcopyr
#defineCHEMM3M_OUCOPYR gotoblas -> chemm3m_oucopyr
#defineCHEMM3M_OLCOPYI gotoblas -> chemm3m_olcopyi
#defineCHEMM3M_OUCOPYI gotoblas -> chemm3m_oucopyi
#defineCGEMM3M_KERNEL gotoblas -> cgemm3m_kernel
#defineCNEG_TCOPY gotoblas -> cneg_tcopy
#defineCLASWP_NCOPY gotoblas -> claswp_ncopy
#defineCAXPBY_K gotoblas -> caxpby_k
#defineCOMATCOPY_K_CN gotoblas -> comatcopy_k_cn
#defineCOMATCOPY_K_RN gotoblas -> comatcopy_k_rn
#defineCOMATCOPY_K_CT gotoblas -> comatcopy_k_ct
#defineCOMATCOPY_K_RT gotoblas -> comatcopy_k_rt
#defineCOMATCOPY_K_CNC gotoblas -> comatcopy_k_cnc
#defineCOMATCOPY_K_RNC gotoblas -> comatcopy_k_rnc
#defineCOMATCOPY_K_CTC gotoblas -> comatcopy_k_ctc
#defineCOMATCOPY_K_RTC gotoblas -> comatcopy_k_rtc
#defineCIMATCOPY_K_CN gotoblas -> cimatcopy_k_cn
#defineCIMATCOPY_K_RN gotoblas -> cimatcopy_k_rn
#defineCIMATCOPY_K_CT gotoblas -> cimatcopy_k_ct
#defineCIMATCOPY_K_RT gotoblas -> cimatcopy_k_rt
#defineCIMATCOPY_K_CNC gotoblas -> cimatcopy_k_cnc
#defineCIMATCOPY_K_RNC gotoblas -> cimatcopy_k_rnc
#defineCIMATCOPY_K_CTC gotoblas -> cimatcopy_k_ctc
#defineCIMATCOPY_K_RTC gotoblas -> cimatcopy_k_rtc
#defineCGEADD_K gotoblas -> cgeadd_k
#defineCGEMM_SMALL_MATRIX_PERMIT gotoblas -> cgemm_small_matrix_permit
#endif
#defineCGEMM_SMALL_KERNEL_NN FUNC_OFFSET(cgemm_small_kernel_nn)
#defineCGEMM_SMALL_KERNEL_NT FUNC_OFFSET(cgemm_small_kernel_nt)
#defineCGEMM_SMALL_KERNEL_NR FUNC_OFFSET(cgemm_small_kernel_nr)
#defineCGEMM_SMALL_KERNEL_NC FUNC_OFFSET(cgemm_small_kernel_nc)
#defineCGEMM_SMALL_KERNEL_TN FUNC_OFFSET(cgemm_small_kernel_tn)
#defineCGEMM_SMALL_KERNEL_TT FUNC_OFFSET(cgemm_small_kernel_tt)
#defineCGEMM_SMALL_KERNEL_TR FUNC_OFFSET(cgemm_small_kernel_tr)
#defineCGEMM_SMALL_KERNEL_TC FUNC_OFFSET(cgemm_small_kernel_tc)
#defineCGEMM_SMALL_KERNEL_RN FUNC_OFFSET(cgemm_small_kernel_rn)
#defineCGEMM_SMALL_KERNEL_RT FUNC_OFFSET(cgemm_small_kernel_rt)
#defineCGEMM_SMALL_KERNEL_RR FUNC_OFFSET(cgemm_small_kernel_rr)
#defineCGEMM_SMALL_KERNEL_RC FUNC_OFFSET(cgemm_small_kernel_rc)
#defineCGEMM_SMALL_KERNEL_CN FUNC_OFFSET(cgemm_small_kernel_cn)
#defineCGEMM_SMALL_KERNEL_CT FUNC_OFFSET(cgemm_small_kernel_ct)
#defineCGEMM_SMALL_KERNEL_CR FUNC_OFFSET(cgemm_small_kernel_cr)
#defineCGEMM_SMALL_KERNEL_CC FUNC_OFFSET(cgemm_small_kernel_cc)
#defineCGEMM_SMALL_KERNEL_B0_NN FUNC_OFFSET(cgemm_small_kernel_b0_nn)
#defineCGEMM_SMALL_KERNEL_B0_NT FUNC_OFFSET(cgemm_small_kernel_b0_nt)
#defineCGEMM_SMALL_KERNEL_B0_NR FUNC_OFFSET(cgemm_small_kernel_b0_nr)
#defineCGEMM_SMALL_KERNEL_B0_NC FUNC_OFFSET(cgemm_small_kernel_b0_nc)
#defineCGEMM_SMALL_KERNEL_B0_TN FUNC_OFFSET(cgemm_small_kernel_b0_tn)
#defineCGEMM_SMALL_KERNEL_B0_TT FUNC_OFFSET(cgemm_small_kernel_b0_tt)
#defineCGEMM_SMALL_KERNEL_B0_TR FUNC_OFFSET(cgemm_small_kernel_b0_tr)
#defineCGEMM_SMALL_KERNEL_B0_TC FUNC_OFFSET(cgemm_small_kernel_b0_tc)
#defineCGEMM_SMALL_KERNEL_B0_RN FUNC_OFFSET(cgemm_small_kernel_b0_rn)
#defineCGEMM_SMALL_KERNEL_B0_RT FUNC_OFFSET(cgemm_small_kernel_b0_rt)
#defineCGEMM_SMALL_KERNEL_B0_RR FUNC_OFFSET(cgemm_small_kernel_b0_rr)
#defineCGEMM_SMALL_KERNEL_B0_RC FUNC_OFFSET(cgemm_small_kernel_b0_rc)
#defineCGEMM_SMALL_KERNEL_B0_CN FUNC_OFFSET(cgemm_small_kernel_b0_cn)
#defineCGEMM_SMALL_KERNEL_B0_CT FUNC_OFFSET(cgemm_small_kernel_b0_ct)
#defineCGEMM_SMALL_KERNEL_B0_CR FUNC_OFFSET(cgemm_small_kernel_b0_cr)
#defineCGEMM_SMALL_KERNEL_B0_CC FUNC_OFFSET(cgemm_small_kernel_b0_cc)
#defineCGEMM_NN cgemm_nn
#defineCGEMM_CN cgemm_cn
#defineCGEMM_TN cgemm_tn
#defineCGEMM_NC cgemm_nc
#defineCGEMM_NT cgemm_nt
#defineCGEMM_CC cgemm_cc
#defineCGEMM_CT cgemm_ct
#defineCGEMM_TC cgemm_tc
#defineCGEMM_TT cgemm_tt
#defineCGEMM_NR cgemm_nr
#defineCGEMM_TR cgemm_tr
#defineCGEMM_CR cgemm_cr
#defineCGEMM_RN cgemm_rn
#defineCGEMM_RT cgemm_rt
#defineCGEMM_RC cgemm_rc
#defineCGEMM_RR cgemm_rr
#defineCSYMM_LU csymm_LU
#defineCSYMM_LL csymm_LL
#defineCSYMM_RU csymm_RU
#defineCSYMM_RL csymm_RL
#defineCHEMM_LU chemm_LU
#defineCHEMM_LL chemm_LL
#defineCHEMM_RU chemm_RU
#defineCHEMM_RL chemm_RL
#defineCSYRK_UN csyrk_UN
#defineCSYRK_UT csyrk_UT
#defineCSYRK_LN csyrk_LN
#defineCSYRK_LT csyrk_LT
#defineCSYRK_UR csyrk_UN
#defineCSYRK_UC csyrk_UT
#defineCSYRK_LR csyrk_LN
#defineCSYRK_LC csyrk_LT
#defineCSYRK_KERNEL_U csyrk_kernel_U
#defineCSYRK_KERNEL_L csyrk_kernel_L
#defineCHERK_UN cherk_UN
#defineCHERK_LN cherk_LN
#defineCHERK_UC cherk_UC
#defineCHERK_LC cherk_LC
#defineCHER2K_UN cher2k_UN
#defineCHER2K_LN cher2k_LN
#defineCHER2K_UC cher2k_UC
#defineCHER2K_LC cher2k_LC
#defineCSYR2K_UN csyr2k_UN
#defineCSYR2K_UT csyr2k_UT
#defineCSYR2K_LN csyr2k_LN
#defineCSYR2K_LT csyr2k_LT
#defineCSYR2K_UR csyr2k_UN
#defineCSYR2K_UC csyr2k_UT
#defineCSYR2K_LR csyr2k_LN
#defineCSYR2K_LC csyr2k_LT
#defineCSYR2K_KERNEL_U csyr2k_kernel_U
#defineCSYR2K_KERNEL_L csyr2k_kernel_L
#defineCTRMM_LNUU ctrmm_LNUU
#defineCTRMM_LNUN ctrmm_LNUN
#defineCTRMM_LNLU ctrmm_LNLU
#defineCTRMM_LNLN ctrmm_LNLN
#defineCTRMM_LTUU ctrmm_LTUU
#defineCTRMM_LTUN ctrmm_LTUN
#defineCTRMM_LTLU ctrmm_LTLU
#defineCTRMM_LTLN ctrmm_LTLN
#defineCTRMM_LRUU ctrmm_LRUU
#defineCTRMM_LRUN ctrmm_LRUN
#defineCTRMM_LRLU ctrmm_LRLU
#defineCTRMM_LRLN ctrmm_LRLN
#defineCTRMM_LCUU ctrmm_LCUU
#defineCTRMM_LCUN ctrmm_LCUN
#defineCTRMM_LCLU ctrmm_LCLU
#defineCTRMM_LCLN ctrmm_LCLN
#defineCTRMM_RNUU ctrmm_RNUU
#defineCTRMM_RNUN ctrmm_RNUN
#defineCTRMM_RNLU ctrmm_RNLU
#defineCTRMM_RNLN ctrmm_RNLN
#defineCTRMM_RTUU ctrmm_RTUU
#defineCTRMM_RTUN ctrmm_RTUN
#defineCTRMM_RTLU ctrmm_RTLU
#defineCTRMM_RTLN ctrmm_RTLN
#defineCTRMM_RRUU ctrmm_RRUU
#defineCTRMM_RRUN ctrmm_RRUN
#defineCTRMM_RRLU ctrmm_RRLU
#defineCTRMM_RRLN ctrmm_RRLN
#defineCTRMM_RCUU ctrmm_RCUU
#defineCTRMM_RCUN ctrmm_RCUN
#defineCTRMM_RCLU ctrmm_RCLU
#defineCTRMM_RCLN ctrmm_RCLN
#defineCTRSM_LNUU ctrsm_LNUU
#defineCTRSM_LNUN ctrsm_LNUN
#defineCTRSM_LNLU ctrsm_LNLU
#defineCTRSM_LNLN ctrsm_LNLN
#defineCTRSM_LTUU ctrsm_LTUU
#defineCTRSM_LTUN ctrsm_LTUN
#defineCTRSM_LTLU ctrsm_LTLU
#defineCTRSM_LTLN ctrsm_LTLN
#defineCTRSM_LRUU ctrsm_LRUU
#defineCTRSM_LRUN ctrsm_LRUN
#defineCTRSM_LRLU ctrsm_LRLU
#defineCTRSM_LRLN ctrsm_LRLN
#defineCTRSM_LCUU ctrsm_LCUU
#defineCTRSM_LCUN ctrsm_LCUN
#defineCTRSM_LCLU ctrsm_LCLU
#defineCTRSM_LCLN ctrsm_LCLN
#defineCTRSM_RNUU ctrsm_RNUU
#defineCTRSM_RNUN ctrsm_RNUN
#defineCTRSM_RNLU ctrsm_RNLU
#defineCTRSM_RNLN ctrsm_RNLN
#defineCTRSM_RTUU ctrsm_RTUU
#defineCTRSM_RTUN ctrsm_RTUN
#defineCTRSM_RTLU ctrsm_RTLU
#defineCTRSM_RTLN ctrsm_RTLN
#defineCTRSM_RRUU ctrsm_RRUU
#defineCTRSM_RRUN ctrsm_RRUN
#defineCTRSM_RRLU ctrsm_RRLU
#defineCTRSM_RRLN ctrsm_RRLN
#defineCTRSM_RCUU ctrsm_RCUU
#defineCTRSM_RCUN ctrsm_RCUN
#defineCTRSM_RCLU ctrsm_RCLU
#defineCTRSM_RCLN ctrsm_RCLN
#defineCGEMM_THREAD_NN cgemm_thread_nn
#defineCGEMM_THREAD_CN cgemm_thread_cn
#defineCGEMM_THREAD_TN cgemm_thread_tn
#defineCGEMM_THREAD_NC cgemm_thread_nc
#defineCGEMM_THREAD_NT cgemm_thread_nt
#defineCGEMM_THREAD_CC cgemm_thread_cc
#defineCGEMM_THREAD_CT cgemm_thread_ct
#defineCGEMM_THREAD_TC cgemm_thread_tc
#defineCGEMM_THREAD_TT cgemm_thread_tt
#defineCGEMM_THREAD_NR cgemm_thread_nr
#defineCGEMM_THREAD_TR cgemm_thread_tr
#defineCGEMM_THREAD_CR cgemm_thread_cr
#defineCGEMM_THREAD_RN cgemm_thread_rn
#defineCGEMM_THREAD_RT cgemm_thread_rt
#defineCGEMM_THREAD_RC cgemm_thread_rc
#defineCGEMM_THREAD_RR cgemm_thread_rr
#defineCSYMM_THREAD_LU csymm_thread_LU
#defineCSYMM_THREAD_LL csymm_thread_LL
#defineCSYMM_THREAD_RU csymm_thread_RU
#defineCSYMM_THREAD_RL csymm_thread_RL
#defineCHEMM_THREAD_LU chemm_thread_LU
#defineCHEMM_THREAD_LL chemm_thread_LL
#defineCHEMM_THREAD_RU chemm_thread_RU
#defineCHEMM_THREAD_RL chemm_thread_RL
#defineCSYRK_THREAD_UN csyrk_thread_UN
#defineCSYRK_THREAD_UT csyrk_thread_UT
#defineCSYRK_THREAD_LN csyrk_thread_LN
#defineCSYRK_THREAD_LT csyrk_thread_LT
#defineCSYRK_THREAD_UR csyrk_thread_UN
#defineCSYRK_THREAD_UC csyrk_thread_UT
#defineCSYRK_THREAD_LR csyrk_thread_LN
#defineCSYRK_THREAD_LC csyrk_thread_LT
#defineCHERK_THREAD_UN cherk_thread_UN
#defineCHERK_THREAD_UT cherk_thread_UT
#defineCHERK_THREAD_LN cherk_thread_LN
#defineCHERK_THREAD_LT cherk_thread_LT
#defineCHERK_THREAD_UR cherk_thread_UR
#defineCHERK_THREAD_UC cherk_thread_UC
#defineCHERK_THREAD_LR cherk_thread_LR
#defineCHERK_THREAD_LC cherk_thread_LC
#defineCGEMM3M_NN cgemm3m_nn
#defineCGEMM3M_CN cgemm3m_cn
#defineCGEMM3M_TN cgemm3m_tn
#defineCGEMM3M_NC cgemm3m_nc
#defineCGEMM3M_NT cgemm3m_nt
#defineCGEMM3M_CC cgemm3m_cc
#defineCGEMM3M_CT cgemm3m_ct
#defineCGEMM3M_TC cgemm3m_tc
#defineCGEMM3M_TT cgemm3m_tt
#defineCGEMM3M_NR cgemm3m_nr
#defineCGEMM3M_TR cgemm3m_tr
#defineCGEMM3M_CR cgemm3m_cr
#defineCGEMM3M_RN cgemm3m_rn
#defineCGEMM3M_RT cgemm3m_rt
#defineCGEMM3M_RC cgemm3m_rc
#defineCGEMM3M_RR cgemm3m_rr
#defineCGEMM3M_THREAD_NN cgemm3m_thread_nn
#defineCGEMM3M_THREAD_CN cgemm3m_thread_cn
#defineCGEMM3M_THREAD_TN cgemm3m_thread_tn
#defineCGEMM3M_THREAD_NC cgemm3m_thread_nc
#defineCGEMM3M_THREAD_NT cgemm3m_thread_nt
#defineCGEMM3M_THREAD_CC cgemm3m_thread_cc
#defineCGEMM3M_THREAD_CT cgemm3m_thread_ct
#defineCGEMM3M_THREAD_TC cgemm3m_thread_tc
#defineCGEMM3M_THREAD_TT cgemm3m_thread_tt
#defineCGEMM3M_THREAD_NR cgemm3m_thread_nr
#defineCGEMM3M_THREAD_TR cgemm3m_thread_tr
#defineCGEMM3M_THREAD_CR cgemm3m_thread_cr
#defineCGEMM3M_THREAD_RN cgemm3m_thread_rn
#defineCGEMM3M_THREAD_RT cgemm3m_thread_rt
#defineCGEMM3M_THREAD_RC cgemm3m_thread_rc
#defineCGEMM3M_THREAD_RR cgemm3m_thread_rr
#defineCSYMM3M_LU csymm3m_LU
#defineCSYMM3M_LL csymm3m_LL
#defineCSYMM3M_RU csymm3m_RU
#defineCSYMM3M_RL csymm3m_RL
#defineCSYMM3M_THREAD_LU csymm3m_thread_LU
#defineCSYMM3M_THREAD_LL csymm3m_thread_LL
#defineCSYMM3M_THREAD_RU csymm3m_thread_RU
#defineCSYMM3M_THREAD_RL csymm3m_thread_RL
#defineCHEMM3M_LU chemm3m_LU
#defineCHEMM3M_LL chemm3m_LL
#defineCHEMM3M_RU chemm3m_RU
#defineCHEMM3M_RL chemm3m_RL
#defineCHEMM3M_THREAD_LU chemm3m_thread_LU
#defineCHEMM3M_THREAD_LL chemm3m_thread_LL
#defineCHEMM3M_THREAD_RU chemm3m_thread_RU
#defineCHEMM3M_THREAD_RL chemm3m_thread_RL
#endif