added dgemm-, dtrmm-, zgemm- and ztrmm-kernel for power8
[platform/upstream/openblas.git] / kernel / power / KERNEL.POWER8
1 SGEMM_BETA = ../generic/gemm_beta.c
2 DGEMM_BETA = ../generic/gemm_beta.c
3 CGEMM_BETA = ../generic/zgemm_beta.c
4 ZGEMM_BETA = ../generic/zgemm_beta.c
5
6 STRMMKERNEL     = ../generic/trmmkernel_2x2.c
7 DTRMMKERNEL     = dtrmm_kernel_16x4_power8.S
8 CTRMMKERNEL     = ../generic/ztrmmkernel_2x2.c
9 ZTRMMKERNEL     = ztrmm_kernel_8x2_power8.S
10
11 SGEMMKERNEL    =  ../generic/gemmkernel_2x2.c
12 SGEMMONCOPY    =  ../generic/gemm_ncopy_2.c
13 SGEMMOTCOPY    =  ../generic/gemm_tcopy_2.c
14 SGEMMONCOPYOBJ =  sgemm_oncopy.o
15 SGEMMOTCOPYOBJ =  sgemm_otcopy.o
16
17 DGEMMKERNEL    =  dgemm_kernel_16x4_power8.S
18 DGEMMINCOPY    = ../generic/gemm_ncopy_16.c
19 DGEMMITCOPY    = ../generic/gemm_tcopy_16.c
20 DGEMMONCOPY    =  gemm_ncopy_4.S
21 DGEMMOTCOPY    =  gemm_tcopy_4.S
22 DGEMMINCOPYOBJ = dgemm_incopy.o
23 DGEMMITCOPYOBJ = dgemm_itcopy.o
24 DGEMMONCOPYOBJ = dgemm_oncopy.o
25 DGEMMOTCOPYOBJ = dgemm_otcopy.o
26
27 CGEMMKERNEL    = ../generic/zgemmkernel_2x2.c
28 CGEMMONCOPY    = ../generic/zgemm_ncopy_2.c
29 CGEMMOTCOPY    = ../generic/zgemm_tcopy_2.c
30 CGEMMONCOPYOBJ =  cgemm_oncopy.o
31 CGEMMOTCOPYOBJ =  cgemm_otcopy.o
32
33 ZGEMMKERNEL    = zgemm_kernel_8x2_power8.S
34 ZGEMMONCOPY    = ../generic/zgemm_ncopy_2.c
35 ZGEMMOTCOPY    = ../generic/zgemm_tcopy_2.c
36 ZGEMMINCOPY    = ../generic/zgemm_ncopy_8.c
37 ZGEMMITCOPY    = ../generic/zgemm_tcopy_8.c
38 ZGEMMONCOPYOBJ =  zgemm_oncopy.o
39 ZGEMMOTCOPYOBJ =  zgemm_otcopy.o
40 ZGEMMINCOPYOBJ =  zgemm_incopy.o
41 ZGEMMITCOPYOBJ =  zgemm_itcopy.o
42
43 STRSMKERNEL_LN  =  ../generic/trsm_kernel_LN.c
44 STRSMKERNEL_LT  =  ../generic/trsm_kernel_LT.c
45 STRSMKERNEL_RN  =  ../generic/trsm_kernel_RN.c
46 STRSMKERNEL_RT  =  ../generic/trsm_kernel_RT.c
47
48 DTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
49 DTRSMKERNEL_LT  = ../generic/trsm_kernel_LT.c
50 DTRSMKERNEL_RN  = ../generic/trsm_kernel_RN.c
51 DTRSMKERNEL_RT  = ../generic/trsm_kernel_RT.c
52
53 CTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
54 CTRSMKERNEL_LT  = ../generic/trsm_kernel_LT.c
55 CTRSMKERNEL_RN  = ../generic/trsm_kernel_RN.c
56 CTRSMKERNEL_RT  = ../generic/trsm_kernel_RT.c
57
58 ZTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
59 ZTRSMKERNEL_LT  = ../generic/trsm_kernel_LT.c
60 ZTRSMKERNEL_RN  = ../generic/trsm_kernel_RN.c
61 ZTRSMKERNEL_RT  = ../generic/trsm_kernel_RT.c
62
63 #Todo: CGEMM3MKERNEL should be 4x4 blocksizes.
64 CGEMM3MKERNEL    =  zgemm3m_kernel_8x4_sse3.S
65 ZGEMM3MKERNEL    =  zgemm3m_kernel_4x4_sse3.S
66
67 #Pure C for other kernels
68 SAMAXKERNEL  = ../arm/amax.c
69 DAMAXKERNEL  = ../arm/amax.c
70 CAMAXKERNEL  = ../arm/zamax.c
71 ZAMAXKERNEL  = ../arm/zamax.c
72
73 SAMINKERNEL  = ../arm/amin.c
74 DAMINKERNEL  = ../arm/amin.c
75 CAMINKERNEL  = ../arm/zamin.c
76 ZAMINKERNEL  = ../arm/zamin.c
77
78 SMAXKERNEL   = ../arm/max.c
79 DMAXKERNEL   = ../arm/max.c
80
81 SMINKERNEL   = ../arm/min.c
82 DMINKERNEL   = ../arm/min.c
83
84 ISAMAXKERNEL = ../arm/iamax.c
85 IDAMAXKERNEL = ../arm/iamax.c
86 ICAMAXKERNEL = ../arm/izamax.c
87 IZAMAXKERNEL = ../arm/izamax.c
88
89 ISAMINKERNEL = ../arm/iamin.c
90 IDAMINKERNEL = ../arm/iamin.c
91 ICAMINKERNEL = ../arm/izamin.c
92 IZAMINKERNEL = ../arm/izamin.c
93
94 ISMAXKERNEL  = ../arm/imax.c
95 IDMAXKERNEL  = ../arm/imax.c
96
97 ISMINKERNEL  = ../arm/imin.c
98 IDMINKERNEL  = ../arm/imin.c
99
100 SASUMKERNEL  = ../arm/asum.c
101 DASUMKERNEL  = ../arm/asum.c
102 CASUMKERNEL  = ../arm/zasum.c
103 ZASUMKERNEL  = ../arm/zasum.c
104
105 SAXPYKERNEL  = ../arm/axpy.c
106 DAXPYKERNEL  = ../arm/axpy.c
107 CAXPYKERNEL  = ../arm/zaxpy.c
108 ZAXPYKERNEL  = ../arm/zaxpy.c
109
110 SCOPYKERNEL  = ../arm/copy.c
111 DCOPYKERNEL  = ../arm/copy.c
112 CCOPYKERNEL  = ../arm/zcopy.c
113 ZCOPYKERNEL  = ../arm/zcopy.c
114
115 SDOTKERNEL   = ../arm/dot.c
116 DDOTKERNEL   = ../arm/dot.c
117 CDOTKERNEL   = ../arm/zdot.c
118 ZDOTKERNEL   = ../arm/zdot.c
119
120 SNRM2KERNEL  = ../arm/nrm2.c
121 DNRM2KERNEL  = ../arm/nrm2.c
122 CNRM2KERNEL  = ../arm/znrm2.c
123 ZNRM2KERNEL  = ../arm/znrm2.c
124
125 SROTKERNEL   = ../arm/rot.c
126 DROTKERNEL   = ../arm/rot.c
127 CROTKERNEL   = ../arm/zrot.c
128 ZROTKERNEL   = ../arm/zrot.c
129
130 SSCALKERNEL  = ../arm/scal.c
131 DSCALKERNEL  = ../arm/scal.c
132 CSCALKERNEL  = ../arm/zscal.c
133 ZSCALKERNEL  = ../arm/zscal.c
134
135 SSWAPKERNEL  = ../arm/swap.c
136 DSWAPKERNEL  = ../arm/swap.c
137 CSWAPKERNEL  = ../arm/zswap.c
138 ZSWAPKERNEL  = ../arm/zswap.c
139
140 SGEMVNKERNEL = ../arm/gemv_n.c
141 DGEMVNKERNEL = ../arm/gemv_n.c
142 CGEMVNKERNEL = ../arm/zgemv_n.c
143 ZGEMVNKERNEL = ../arm/zgemv_n.c
144
145 SGEMVTKERNEL = ../arm/gemv_t.c
146 DGEMVTKERNEL = ../arm/gemv_t.c
147 CGEMVTKERNEL = ../arm/zgemv_t.c
148 ZGEMVTKERNEL = ../arm/zgemv_t.c
149
150 SSYMV_U_KERNEL =  ../generic/symv_k.c
151 SSYMV_L_KERNEL =  ../generic/symv_k.c
152 DSYMV_U_KERNEL =  ../generic/symv_k.c
153 DSYMV_L_KERNEL =  ../generic/symv_k.c
154 QSYMV_U_KERNEL =  ../generic/symv_k.c
155 QSYMV_L_KERNEL =  ../generic/symv_k.c
156 CSYMV_U_KERNEL =  ../generic/zsymv_k.c
157 CSYMV_L_KERNEL =  ../generic/zsymv_k.c
158 ZSYMV_U_KERNEL =  ../generic/zsymv_k.c
159 ZSYMV_L_KERNEL =  ../generic/zsymv_k.c
160 XSYMV_U_KERNEL =  ../generic/zsymv_k.c
161 XSYMV_L_KERNEL =  ../generic/zsymv_k.c
162
163 ZHEMV_U_KERNEL =  ../generic/zhemv_k.c
164 ZHEMV_L_KERNEL =  ../generic/zhemv_k.c
165
166 LSAME_KERNEL = ../generic/lsame.c
167 SCABS_KERNEL    = ../generic/cabs.c
168 DCABS_KERNEL    = ../generic/cabs.c
169 QCABS_KERNEL    = ../generic/cabs.c
170
171 #Dump kernel
172 CGEMM3MKERNEL    = ../generic/zgemm3mkernel_dump.c
173 ZGEMM3MKERNEL    = ../generic/zgemm3mkernel_dump.c