fixed zgemv bug for older AMD Processors
[platform/upstream/openblas.git] / kernel / x86_64 / KERNEL
1 ifndef SAMAXKERNEL
2 SAMAXKERNEL = amax_sse.S
3 endif
4
5 ifndef DAMAXKERNEL
6 DAMAXKERNEL = amax_sse2.S
7 endif
8
9 ifndef QAMAXKERNEL
10 QAMAXKERNEL = amax.S
11 endif
12
13 ifndef CAMAXKERNEL
14 CAMAXKERNEL = zamax_sse.S
15 endif
16
17 ifndef ZAMAXKERNEL
18 ZAMAXKERNEL = zamax_sse2.S
19 endif
20
21 ifndef XAMAXKERNEL
22 XAMAXKERNEL = zamax.S
23 endif
24
25 ifndef SASUMKERNEL
26 SASUMKERNEL =  asum_sse.S
27 endif
28
29 ifndef DASUMKERNEL
30 DASUMKERNEL =  asum_sse2.S
31 endif
32
33 ifndef CASUMKERNEL
34 CASUMKERNEL = zasum_sse.S
35 endif
36
37 ifndef ZASUMKERNEL
38 ZASUMKERNEL = zasum_sse2.S
39 endif
40
41 ifndef QASUMKERNEL
42 QASUMKERNEL =  asum.S
43 endif
44
45 ifndef XASUMKERNEL
46 XASUMKERNEL = zasum.S
47 endif
48
49 ifndef SAMINKERNEL
50 SAMINKERNEL = amax_sse.S
51 endif
52
53 ifndef DAMINKERNEL
54 DAMINKERNEL = amax_sse2.S
55 endif
56
57 ifndef QAMINKERNEL
58 QAMINKERNEL = amax.S
59 endif
60
61 ifndef CAMINKERNEL
62 CAMINKERNEL = zamax_sse.S
63 endif
64
65 ifndef ZAMINKERNEL
66 ZAMINKERNEL = zamax_sse2.S
67 endif
68
69 ifndef XAMINKERNEL
70 XAMINKERNEL = zamax.S
71 endif
72
73 ifndef SAXPYKERNEL
74 SAXPYKERNEL =  axpy_sse.S
75 endif
76
77 ifndef DAXPYKERNEL
78 DAXPYKERNEL =  axpy_sse2.S
79 endif
80
81 ifndef CAXPYKERNEL
82 CAXPYKERNEL = zaxpy_sse.S
83 endif
84
85 ifndef ZAXPYKERNEL
86 ZAXPYKERNEL = zaxpy_sse2.S
87 endif
88
89 ifndef QAXPYKERNEL
90 QAXPYKERNEL =  axpy.S
91 endif
92
93 ifndef XAXPYKERNEL
94 XAXPYKERNEL = zaxpy.S
95 endif
96
97 ifndef SCOPYKERNEL
98 SCOPYKERNEL =  copy_sse.S
99 endif
100
101 ifndef DCOPYKERNEL
102 DCOPYKERNEL =  copy_sse2.S
103 endif
104
105 ifndef CCOPYKERNEL
106 CCOPYKERNEL = zcopy_sse.S
107 endif
108
109 ifndef ZCOPYKERNEL
110 ZCOPYKERNEL = zcopy_sse2.S
111 endif
112
113 ifndef QCOPYKERNEL
114 QCOPYKERNEL =  copy.S
115 endif
116
117 ifndef XCOPYKERNEL
118 XCOPYKERNEL = zcopy.S
119 endif
120
121 ifndef SDOTKERNEL
122 SDOTKERNEL = dot_sse.S 
123 endif
124
125
126 ifndef DSDOTKERNEL
127 DSDOTKERNEL = ../arm/dot.c 
128 endif
129
130
131 ifndef DDOTKERNEL
132 DDOTKERNEL =  dot_sse2.S
133 endif
134
135 ifndef CDOTKERNEL
136 CDOTKERNEL = zdot_sse.S
137 endif
138
139 ifndef ZDOTKERNEL
140 ZDOTKERNEL = zdot_sse2.S
141 endif
142
143 ifndef QDOTKERNEL
144 QDOTKERNEL =  dot.S
145 endif
146
147 ifndef XDOTKERNEL
148 XDOTKERNEL = zdot.S
149 endif
150
151 ifndef ISAMAXKERNEL
152 ISAMAXKERNEL = iamax_sse.S
153 endif
154
155 ifndef IDAMAXKERNEL
156 IDAMAXKERNEL = iamax_sse2.S
157 endif
158
159 ifndef IQAMAXKERNEL
160 IQAMAXKERNEL = iamax.S
161 endif
162
163 ifndef ICAMAXKERNEL
164 ICAMAXKERNEL = izamax_sse.S
165 endif
166
167 ifndef IZAMAXKERNEL
168 IZAMAXKERNEL = izamax_sse2.S
169 endif
170
171 ifndef IXAMAXKERNEL
172 IXAMAXKERNEL = izamax.S
173 endif
174
175 ifndef ISAMINKERNEL
176 ISAMINKERNEL = iamax_sse.S
177 endif
178
179 ifndef IDAMINKERNEL
180 IDAMINKERNEL = iamax_sse2.S
181 endif
182
183 ifndef IQAMINKERNEL
184 IQAMINKERNEL = iamax.S
185 endif
186
187 ifndef ICAMINKERNEL
188 ICAMINKERNEL = izamax_sse.S
189 endif
190
191 ifndef IZAMINKERNEL
192 IZAMINKERNEL = izamax_sse2.S
193 endif
194
195 ifndef IXAMINKERNEL
196 IXAMINKERNEL = izamax.S
197 endif
198
199 ifndef ISMAXKERNEL
200 ISMAXKERNEL = iamax_sse.S
201 endif
202
203 ifndef IDMAXKERNEL
204 IDMAXKERNEL = iamax_sse2.S
205 endif
206
207 ifndef IQMAXKERNEL
208 IQMAXKERNEL = iamax.S
209 endif
210
211 ifndef ISMINKERNEL
212 ISMINKERNEL = iamax_sse.S
213 endif
214
215 ifndef IDMINKERNEL
216 IDMINKERNEL = iamax_sse2.S
217 endif
218
219 ifndef IQMINKERNEL
220 IQMINKERNEL = iamax.S
221 endif
222
223 ifndef SMAXKERNEL
224 SMAXKERNEL = amax_sse.S
225 endif
226
227 ifndef DMAXKERNEL
228 DMAXKERNEL = amax_sse2.S
229 endif
230
231 ifndef QMAXKERNEL
232 QMAXKERNEL = amax.S
233 endif
234
235 ifndef SMINKERNEL
236 SMINKERNEL = amax_sse.S
237 endif
238
239 ifndef DMINKERNEL
240 DMINKERNEL = amax_sse2.S
241 endif
242
243 ifndef QMINKERNEL
244 QMINKERNEL = amax.S
245 endif
246
247 ifndef SNRM2KERNEL
248 SNRM2KERNEL = nrm2_sse.S
249 endif
250
251 ifndef DNRM2KERNEL
252 DNRM2KERNEL = nrm2.S
253 endif
254
255 ifndef QNRM2KERNEL
256 QNRM2KERNEL = nrm2.S
257 endif
258
259 ifndef CNRM2KERNEL
260 CNRM2KERNEL = znrm2_sse.S
261 endif
262
263 ifndef ZNRM2KERNEL
264 ZNRM2KERNEL = znrm2.S
265 endif
266
267 ifndef XNRM2KERNEL
268 XNRM2KERNEL = znrm2.S
269 endif
270
271 ifndef SROTKERNEL
272 SROTKERNEL = rot_sse.S
273 endif
274
275 ifndef DROTKERNEL
276 DROTKERNEL = rot_sse2.S
277 endif
278
279 ifndef QROTKERNEL
280 QROTKERNEL = rot.S
281 endif
282
283 ifndef CROTKERNEL
284 CROTKERNEL = zrot_sse.S
285 endif
286
287 ifndef ZROTKERNEL
288 ZROTKERNEL = zrot_sse2.S
289 endif
290
291 ifndef XROTKERNEL
292 XROTKERNEL = zrot.S
293 endif
294
295 ifndef SSCALKERNEL
296 SSCALKERNEL =  scal_sse.S
297 endif
298
299 ifndef DSCALKERNEL
300 DSCALKERNEL =  scal_sse2.S
301 endif
302
303 ifndef CSCALKERNEL
304 CSCALKERNEL = zscal_sse.S
305 endif
306
307 ifndef ZSCALKERNEL
308 ZSCALKERNEL = zscal_sse2.S
309 endif
310
311 ifndef ASCALKERNEL
312 QSCALKERNEL =  scal.S
313 endif
314
315 ifndef XSCALKERNEL
316 XSCALKERNEL = zscal.S
317 endif
318
319 ifndef SSWAPKERNEL
320 SSWAPKERNEL =  swap_sse.S
321 endif
322
323 ifndef DSWAPKERNEL
324 DSWAPKERNEL =  swap_sse2.S
325 endif
326
327 ifndef CSWAPKERNEL
328 CSWAPKERNEL = zswap_sse.S
329 endif
330
331 ifndef ZSWAPKERNEL
332 ZSWAPKERNEL = zswap_sse2.S
333 endif
334
335 ifndef QSWAPKERNEL
336 QSWAPKERNEL =   swap.S
337 endif
338
339 ifndef XSWAPKERNEL
340 XSWAPKERNEL =  zswap.S
341 endif
342
343 ifndef SSYMV_U_KERNEL
344 SSYMV_U_KERNEL =  symv_U_sse.S
345 endif
346
347 ifndef SSYMV_L_KERNEL
348 SSYMV_L_KERNEL =  symv_L_sse.S
349 endif
350
351 ifndef DSYMV_U_KERNEL
352 DSYMV_U_KERNEL =  symv_U_sse2.S
353 endif
354
355 ifndef DSYMV_L_KERNEL
356 DSYMV_L_KERNEL =  symv_L_sse2.S
357 endif
358
359 ifndef ZSYMV_U_KERNEL
360 ZSYMV_U_KERNEL =  zsymv_U_sse2.S
361 endif
362
363 ifndef ZSYMV_L_KERNEL
364 ZSYMV_L_KERNEL =  zsymv_L_sse2.S
365 endif
366
367 ifndef ZHEMV_U_KERNEL
368 ZHEMV_U_KERNEL =  zsymv_U_sse2.S
369 endif
370
371 ifndef ZHEMV_L_KERNEL
372 ZHEMV_L_KERNEL =  zsymv_L_sse2.S
373 endif
374
375 GEMVDEP = ../l2param.h
376
377 ifndef SGEMVNKERNEL
378 SGEMVNKERNEL = ../arm/gemv_n.c
379 endif
380
381 ifndef SGEMVTKERNEL
382 SGEMVTKERNEL = ../arm/gemv_t.c
383 endif
384
385 ifndef DGEMVNKERNEL
386 DGEMVNKERNEL = dgemv_n.S
387 endif
388
389 ifndef DGEMVTKERNEL
390 DGEMVTKERNEL = dgemv_t.S
391 endif
392
393 ifndef CGEMVNKERNEL
394 CGEMVNKERNEL = cgemv_n.S
395 endif
396
397 ifndef CGEMVTKERNEL
398 CGEMVTKERNEL = cgemv_t.S
399 endif
400
401 ifndef ZGEMVNKERNEL
402 ZGEMVNKERNEL = zgemv_n.S
403 endif
404
405 ifndef ZGEMVTKERNEL
406 ZGEMVTKERNEL = zgemv_t.S
407 endif
408
409 ifndef QGEMVNKERNEL
410 QGEMVNKERNEL = qgemv_n.S
411 endif
412
413 ifndef QGEMVTKERNEL
414 QGEMVTKERNEL = qgemv_t.S
415 endif
416
417 ifndef XGEMVNKERNEL
418 XGEMVNKERNEL = xgemv_n.S
419 endif
420
421 ifndef XGEMVTKERNEL
422 XGEMVTKERNEL = xgemv_t.S
423 endif
424
425 QGEMMKERNEL    =  qgemm_kernel_2x2.S
426 QGEMMINCOPY    =
427 QGEMMITCOPY    =
428 QGEMMONCOPY    =  ../generic/gemm_ncopy_2.c
429 QGEMMOTCOPY    =  ../generic/gemm_tcopy_2.c
430 QGEMMINCOPYOBJ =
431 QGEMMITCOPYOBJ =
432 QGEMMONCOPYOBJ =  qgemm_oncopy$(TSUFFIX).$(SUFFIX)
433 QGEMMOTCOPYOBJ =  qgemm_otcopy$(TSUFFIX).$(SUFFIX)
434
435 XGEMMKERNEL    =  xgemm_kernel_1x1.S
436 XGEMMINCOPY    =
437 XGEMMITCOPY    =
438 XGEMMONCOPY    =  ../generic/zgemm_ncopy_1.c
439 XGEMMOTCOPY    =  ../generic/zgemm_tcopy_1.c
440 XGEMMINCOPYOBJ =
441 XGEMMITCOPYOBJ =
442 XGEMMONCOPYOBJ =  xgemm_oncopy$(TSUFFIX).$(SUFFIX)
443 XGEMMOTCOPYOBJ =  xgemm_otcopy$(TSUFFIX).$(SUFFIX)
444
445 SGEMM_BETA = gemm_beta.S
446 DGEMM_BETA = gemm_beta.S
447 CGEMM_BETA = zgemm_beta.S
448 ZGEMM_BETA = zgemm_beta.S
449 QGEMM_BETA = ../generic/gemm_beta.c
450 XGEMM_BETA = ../generic/zgemm_beta.c
451
452 QTRSMKERNEL_LN  =  qtrsm_kernel_LN_2x2.S
453 QTRSMKERNEL_LT  =  qtrsm_kernel_LT_2x2.S
454 QTRSMKERNEL_RN  =  qtrsm_kernel_LT_2x2.S
455 QTRSMKERNEL_RT  =  qtrsm_kernel_RT_2x2.S
456
457 XTRSMKERNEL_LN  =  xtrsm_kernel_LT_1x1.S
458 XTRSMKERNEL_LT  =  xtrsm_kernel_LT_1x1.S
459 XTRSMKERNEL_RN  =  xtrsm_kernel_LT_1x1.S
460 XTRSMKERNEL_RT  =  xtrsm_kernel_LT_1x1.S
461
462 XGEMM3MKERNEL    =  xgemm3m_kernel_2x2.S