Optimize cdot function for POWER10
[platform/upstream/openblas.git] / common_sb.h
1 #ifndef COMMON_SB_H
2 #define COMMON_SB_H
3
4 #ifndef DYNAMIC_ARCH
5
6 #define SBDOT_K             sbdot_k
7 #define SBSTOBF16_K         sbstobf16_k
8 #define SBDTOBF16_K         sbdtobf16_k
9 #define SBF16TOS_K          sbf16tos_k
10 #define DBF16TOD_K          dbf16tod_k
11 #define SBGEMV_N_K          sbgemv_n
12 #define SBGEMV_T_K          sbgemv_t
13
14 #define SBGEMM_ONCOPY           sbgemm_oncopy
15 #define SBGEMM_OTCOPY           sbgemm_otcopy
16
17 #if SBGEMM_DEFAULT_UNROLL_M == SBGEMM_DEFAULT_UNROLL_N
18 #define SBGEMM_INCOPY           sbgemm_oncopy
19 #define SBGEMM_ITCOPY           sbgemm_otcopy
20 #else
21 #define SBGEMM_INCOPY           sbgemm_incopy
22 #define SBGEMM_ITCOPY           sbgemm_itcopy
23 #endif
24 #define SBGEMM_BETA             sbgemm_beta
25 #define SBGEMM_KERNEL            sbgemm_kernel
26
27 #else
28
29 #define SBDOT_K             gotoblas -> sbdot_k
30 #define SBSTOBF16_K         gotoblas -> sbstobf16_k
31 #define SBDTOBF16_K         gotoblas -> sbdtobf16_k
32 #define SBF16TOS_K          gotoblas -> sbf16tos_k
33 #define DBF16TOD_K          gotoblas -> dbf16tod_k
34 #define SBGEMV_N_K          gotoblas -> sbgemv_n
35 #define SBGEMV_T_K          gotoblas -> sbgemv_t
36
37 #define SBGEMM_ONCOPY           gotoblas -> sbgemm_oncopy
38 #define SBGEMM_OTCOPY           gotoblas -> sbgemm_otcopy
39 #define SBGEMM_INCOPY           gotoblas -> sbgemm_incopy
40 #define SBGEMM_ITCOPY           gotoblas -> sbgemm_itcopy
41 #define SBGEMM_BETA             gotoblas -> sbgemm_beta
42 #define SBGEMM_KERNEL           gotoblas -> sbgemm_kernel
43
44 #endif
45
46 #define SBGEMM_NN               sbgemm_nn
47 #define SBGEMM_CN               sbgemm_tn
48 #define SBGEMM_TN               sbgemm_tn
49 #define SBGEMM_NC               sbgemm_nt
50 #define SBGEMM_NT               sbgemm_nt
51 #define SBGEMM_CC               sbgemm_tt
52 #define SBGEMM_CT               sbgemm_tt
53 #define SBGEMM_TC               sbgemm_tt
54 #define SBGEMM_TT               sbgemm_tt
55 #define SBGEMM_NR               sbgemm_nn
56 #define SBGEMM_TR               sbgemm_tn
57 #define SBGEMM_CR               sbgemm_tn
58 #define SBGEMM_RN               sbgemm_nn
59 #define SBGEMM_RT               sbgemm_nt
60 #define SBGEMM_RC               sbgemm_nt
61 #define SBGEMM_RR               sbgemm_nn
62
63 #define SBGEMM_THREAD_NN                sbgemm_thread_nn
64 #define SBGEMM_THREAD_CN                sbgemm_thread_tn
65 #define SBGEMM_THREAD_TN                sbgemm_thread_tn
66 #define SBGEMM_THREAD_NC                sbgemm_thread_nt
67 #define SBGEMM_THREAD_NT                sbgemm_thread_nt
68 #define SBGEMM_THREAD_CC                sbgemm_thread_tt
69 #define SBGEMM_THREAD_CT                sbgemm_thread_tt
70 #define SBGEMM_THREAD_TC                sbgemm_thread_tt
71 #define SBGEMM_THREAD_TT                sbgemm_thread_tt
72 #define SBGEMM_THREAD_NR                sbgemm_thread_nn
73 #define SBGEMM_THREAD_TR                sbgemm_thread_tn
74 #define SBGEMM_THREAD_CR                sbgemm_thread_tn
75 #define SBGEMM_THREAD_RN                sbgemm_thread_nn
76 #define SBGEMM_THREAD_RT                sbgemm_thread_nt
77 #define SBGEMM_THREAD_RC                sbgemm_thread_nt
78 #define SBGEMM_THREAD_RR                sbgemm_thread_nn
79
80 #endif
81