Fixed #395. Enable optimized cgemm for Sandybridge. Added optimized sdot kernel.
[platform/upstream/openblas.git] / kernel / x86_64 / KERNEL.SANDYBRIDGE
1 SGEMVNKERNEL = sgemv_n.S
2 SGEMVTKERNEL = sgemv_t.S
3
4 SGEMMKERNEL    =  sgemm_kernel_16x4_sandy.S
5 SGEMMINCOPY    =  ../generic/gemm_ncopy_16.c
6 SGEMMITCOPY    =  ../generic/gemm_tcopy_16.c
7 SGEMMONCOPY    =  ../generic/gemm_ncopy_4.c
8 SGEMMOTCOPY    =  ../generic/gemm_tcopy_4.c
9 SGEMMINCOPYOBJ =  sgemm_incopy$(TSUFFIX).$(SUFFIX)
10 SGEMMITCOPYOBJ =  sgemm_itcopy$(TSUFFIX).$(SUFFIX)
11 SGEMMONCOPYOBJ =  sgemm_oncopy$(TSUFFIX).$(SUFFIX)
12 SGEMMOTCOPYOBJ =  sgemm_otcopy$(TSUFFIX).$(SUFFIX)
13
14 DGEMMKERNEL    =  dgemm_kernel_4x8_sandy.S
15 DGEMMINCOPY    =  ../generic/gemm_ncopy_8.c
16 DGEMMITCOPY    =  ../generic/gemm_tcopy_8.c
17 DGEMMONCOPY    =  ../generic/gemm_ncopy_4.c
18 DGEMMOTCOPY    =  ../generic/gemm_tcopy_4.c
19 DGEMMINCOPYOBJ =  dgemm_incopy$(TSUFFIX).$(SUFFIX)
20 DGEMMITCOPYOBJ =  dgemm_itcopy$(TSUFFIX).$(SUFFIX)
21 DGEMMONCOPYOBJ =  dgemm_oncopy$(TSUFFIX).$(SUFFIX)
22 DGEMMOTCOPYOBJ =  dgemm_otcopy$(TSUFFIX).$(SUFFIX)
23
24 CGEMMKERNEL    =  cgemm_kernel_8x2_sandy.S
25 CGEMMINCOPY    =  ../generic/zgemm_ncopy_8.c
26 CGEMMITCOPY    =  ../generic/zgemm_tcopy_8.c
27 CGEMMONCOPY    =  ../generic/zgemm_ncopy_2.c
28 CGEMMOTCOPY    =  ../generic/zgemm_tcopy_2.c
29 CGEMMINCOPYOBJ =  cgemm_incopy$(TSUFFIX).$(SUFFIX)
30 CGEMMITCOPYOBJ =  cgemm_itcopy$(TSUFFIX).$(SUFFIX)
31 CGEMMONCOPYOBJ =  cgemm_oncopy$(TSUFFIX).$(SUFFIX)
32 CGEMMOTCOPYOBJ =  cgemm_otcopy$(TSUFFIX).$(SUFFIX)
33
34
35 ZGEMMKERNEL    =  zgemm_kernel_4x4_sandy.S
36 ZGEMMINCOPY    =
37 ZGEMMITCOPY    =
38 ZGEMMONCOPY    =  ../generic/zgemm_ncopy_4.c
39 ZGEMMOTCOPY    =  ../generic/zgemm_tcopy_4.c
40 ZGEMMINCOPYOBJ =
41 ZGEMMITCOPYOBJ =
42 ZGEMMONCOPYOBJ =  zgemm_oncopy$(TSUFFIX).$(SUFFIX)
43 ZGEMMOTCOPYOBJ =  zgemm_otcopy$(TSUFFIX).$(SUFFIX)
44
45 #STRSMKERNEL_LN =  trsm_kernel_LN_4x8_nehalem.S
46 #STRSMKERNEL_LT =  trsm_kernel_LT_4x8_nehalem.S
47 #STRSMKERNEL_RN =  trsm_kernel_LT_4x8_nehalem.S
48 #STRSMKERNEL_RT =  trsm_kernel_RT_4x8_nehalem.S
49
50 #DTRSMKERNEL_LN =  trsm_kernel_LN_2x8_nehalem.S
51 #DTRSMKERNEL_LT =  trsm_kernel_LT_2x8_nehalem.S
52 #DTRSMKERNEL_RN =  trsm_kernel_LT_2x8_nehalem.S
53 #DTRSMKERNEL_RT =  trsm_kernel_RT_2x8_nehalem.S
54
55 #CTRSMKERNEL_LN =  ztrsm_kernel_LN_2x4_nehalem.S
56 #CTRSMKERNEL_LT =  ztrsm_kernel_LT_2x4_nehalem.S
57 #CTRSMKERNEL_RN =  ztrsm_kernel_LT_2x4_nehalem.S
58 #CTRSMKERNEL_RT =  ztrsm_kernel_RT_2x4_nehalem.S
59
60 #ZTRSMKERNEL_LN =  ztrsm_kernel_LT_1x4_nehalem.S
61 #ZTRSMKERNEL_LT =  ztrsm_kernel_LT_1x4_nehalem.S
62 #ZTRSMKERNEL_RN =  ztrsm_kernel_LT_1x4_nehalem.S
63 #ZTRSMKERNEL_RT =  ztrsm_kernel_RT_1x4_nehalem.S
64
65 STRSMKERNEL_LN  =  ../generic/trsm_kernel_LN.c
66 STRSMKERNEL_LT  =  ../generic/trsm_kernel_LT.c
67 STRSMKERNEL_RN  =  ../generic/trsm_kernel_RN.c
68 STRSMKERNEL_RT  =  ../generic/trsm_kernel_RT.c
69
70 DTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
71 DTRSMKERNEL_LT  = ../generic/trsm_kernel_LT.c
72 DTRSMKERNEL_RN  = ../generic/trsm_kernel_RN.c
73 DTRSMKERNEL_RT  = ../generic/trsm_kernel_RT.c
74
75 CTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
76 CTRSMKERNEL_LT  = ../generic/trsm_kernel_LT.c
77 CTRSMKERNEL_RN  = ../generic/trsm_kernel_RN.c
78 CTRSMKERNEL_RT  = ../generic/trsm_kernel_RT.c
79
80 ZTRSMKERNEL_LN  = ../generic/trsm_kernel_LN.c
81 ZTRSMKERNEL_LT  = ../generic/trsm_kernel_LT.c
82 ZTRSMKERNEL_RN  = ../generic/trsm_kernel_RN.c
83 ZTRSMKERNEL_RT  = ../generic/trsm_kernel_RT.c
84
85
86
87 CGEMM3MKERNEL    =  zgemm3m_kernel_4x8_nehalem.S
88 ZGEMM3MKERNEL    =  zgemm3m_kernel_2x8_nehalem.S