1 ifeq ($(__BYTE_ORDER__),__ORDER_BIG_ENDIAN__)
2 include $(KERNELDIR)/KERNEL.POWER8
5 #SGEMM_BETA = ../generic/gemm_beta.c
6 #DGEMM_BETA = ../generic/gemm_beta.c
7 #CGEMM_BETA = ../generic/zgemm_beta.c
8 #ZGEMM_BETA = ../generic/zgemm_beta.c
10 STRMMKERNEL = sgemm_kernel_power9.S
11 DTRMMKERNEL = dgemm_kernel_power9.S
12 CTRMMKERNEL = cgemm_kernel_power9.S
13 ZTRMMKERNEL = zgemm_kernel_power9.S
15 SGEMMKERNEL = sgemm_kernel_power9.S
16 SGEMMINCOPY = ../generic/gemm_ncopy_16.c
17 SGEMMITCOPY = sgemm_tcopy_16_power8.S
18 SGEMMONCOPY = ../generic/gemm_ncopy_8.c
19 SGEMMOTCOPY = sgemm_tcopy_8_power8.S
20 SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX)
21 SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX)
22 SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
23 SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
25 DGEMMKERNEL = dgemm_kernel_power9.S
26 DGEMMINCOPY = ../generic/gemm_ncopy_16.c
27 DGEMMITCOPY = dgemm_tcopy_16_power8.S
28 DGEMMONCOPY = dgemm_ncopy_4_power8.S
29 DGEMMOTCOPY = ../generic/gemm_tcopy_4.c
30 DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX)
31 DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX)
32 DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
33 DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
35 CGEMMKERNEL = cgemm_kernel_power9.S
36 CGEMMINCOPY = ../generic/zgemm_ncopy_8.c
37 CGEMMITCOPY = ../generic/zgemm_tcopy_8.c
38 CGEMMONCOPY = ../generic/zgemm_ncopy_4.c
39 CGEMMOTCOPY = ../generic/zgemm_tcopy_4.c
40 CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
41 CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
42 CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX)
43 CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX)
45 ZGEMMKERNEL = zgemm_kernel_power9.S
46 ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
47 ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
48 ZGEMMINCOPY = ../generic/zgemm_ncopy_8.c
49 ZGEMMITCOPY = zgemm_tcopy_8_power8.S
50 ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX)
51 ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
52 ZGEMMINCOPYOBJ = zgemm_incopy$(TSUFFIX).$(SUFFIX)
53 ZGEMMITCOPYOBJ = zgemm_itcopy$(TSUFFIX).$(SUFFIX)
55 STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
56 STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
57 STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
58 STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
60 DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
61 DTRSMKERNEL_LT = dtrsm_kernel_LT_16x4_power8.S
62 DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
63 DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
65 CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
66 CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
67 CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
68 CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
70 ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
71 ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
72 ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
73 ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
75 #Todo: CGEMM3MKERNEL should be 4x4 blocksizes.
76 #CGEMM3MKERNEL = zgemm3m_kernel_8x4_sse3.S
77 #ZGEMM3MKERNEL = zgemm3m_kernel_4x4_sse3.S
79 #Pure C for other kernels
80 #SAMAXKERNEL = ../arm/amax.c
81 #DAMAXKERNEL = ../arm/amax.c
82 #CAMAXKERNEL = ../arm/zamax.c
83 #ZAMAXKERNEL = ../arm/zamax.c
85 #SAMINKERNEL = ../arm/amin.c
86 #DAMINKERNEL = ../arm/amin.c
87 #CAMINKERNEL = ../arm/zamin.c
88 #ZAMINKERNEL = ../arm/zamin.c
90 #SMAXKERNEL = ../arm/max.c
91 #DMAXKERNEL = ../arm/max.c
93 #SMINKERNEL = ../arm/min.c
94 #DMINKERNEL = ../arm/min.c
96 ifneq ($(GCCVERSIONGTEQ9),1)
97 ISAMAXKERNEL = isamax_power9.S
99 ISAMAXKERNEL = isamax.c
101 IDAMAXKERNEL = idamax.c
102 ifneq ($(GCCVERSIONGTEQ9),1)
103 ICAMAXKERNEL = icamax_power9.S
105 ICAMAXKERNEL = icamax.c
107 IZAMAXKERNEL = izamax.c
109 ifneq ($(GCCVERSIONGTEQ9),1)
110 ISAMINKERNEL = isamin_power9.S
112 ISAMINKERNEL = isamin.c
114 IDAMINKERNEL = idamin.c
115 ifneq ($(GCCVERSIONGTEQ9),1)
116 ICAMINKERNEL = icamin_power9.S
118 ICAMINKERNEL = icamin.c
120 IZAMINKERNEL = izamin.c
122 #ISMAXKERNEL = ../arm/imax.c
123 #IDMAXKERNEL = ../arm/imax.c
125 #ISMINKERNEL = ../arm/imin.c
126 #IDMINKERNEL = ../arm/imin.c
128 SASUMKERNEL = sasum.c
129 DASUMKERNEL = dasum.c
130 CASUMKERNEL = casum.c
131 ZASUMKERNEL = zasum.c
133 SAXPYKERNEL = saxpy.c
134 DAXPYKERNEL = daxpy.c
135 ifneq ($(GCCVERSIONGTEQ9),1)
136 CAXPYKERNEL = caxpy_power9.S
138 CAXPYKERNEL = caxpy.c
140 ZAXPYKERNEL = zaxpy.c
142 SCOPYKERNEL = scopy.c
143 DCOPYKERNEL = dcopy.c
144 CCOPYKERNEL = ccopy.c
145 ZCOPYKERNEL = zcopy.c
150 ifneq ($(GCCVERSIONGTEQ9),1)
151 CDOTKERNEL = cdot_power9.S
157 SNRM2KERNEL = ../arm/nrm2.c
158 DNRM2KERNEL = ../arm/nrm2.c
159 CNRM2KERNEL = ../arm/znrm2.c
160 ZNRM2KERNEL = ../arm/znrm2.c
167 SSCALKERNEL = sscal.c
168 DSCALKERNEL = dscal.c
169 CSCALKERNEL = zscal.c
170 ZSCALKERNEL = zscal.c
172 SSWAPKERNEL = sswap.c
173 DSWAPKERNEL = dswap.c
174 CSWAPKERNEL = cswap.c
175 ZSWAPKERNEL = zswap.c
178 SGEMVNKERNEL = sgemv_n.c
179 DGEMVNKERNEL = dgemv_n.c
180 CGEMVNKERNEL = cgemv_n.c
181 ZGEMVNKERNEL = zgemv_n_4.c
183 SGEMVTKERNEL = sgemv_t.c
184 DGEMVTKERNEL = dgemv_t.c
185 CGEMVTKERNEL = cgemv_t.c
186 ZGEMVTKERNEL = zgemv_t_4.c
189 #SSYMV_U_KERNEL = ../generic/symv_k.c
190 #SSYMV_L_KERNEL = ../generic/symv_k.c
191 #DSYMV_U_KERNEL = ../generic/symv_k.c
192 #DSYMV_L_KERNEL = ../generic/symv_k.c
193 #QSYMV_U_KERNEL = ../generic/symv_k.c
194 #QSYMV_L_KERNEL = ../generic/symv_k.c
195 #CSYMV_U_KERNEL = ../generic/zsymv_k.c
196 #CSYMV_L_KERNEL = ../generic/zsymv_k.c
197 #ZSYMV_U_KERNEL = ../generic/zsymv_k.c
198 #ZSYMV_L_KERNEL = ../generic/zsymv_k.c
199 #XSYMV_U_KERNEL = ../generic/zsymv_k.c
200 #XSYMV_L_KERNEL = ../generic/zsymv_k.c
202 #ZHEMV_U_KERNEL = ../generic/zhemv_k.c
203 #ZHEMV_L_KERNEL = ../generic/zhemv_k.c
205 LSAME_KERNEL = ../generic/lsame.c
206 SCABS_KERNEL = ../generic/cabs.c
207 DCABS_KERNEL = ../generic/cabs.c
208 QCABS_KERNEL = ../generic/cabs.c
211 CGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c
212 ZGEMM3MKERNEL = ../generic/zgemm3mkernel_dump.c