You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

KERNEL.LOONGSON3R4 6.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. ifndef NO_MSA
  2. SAXPYKERNEL = ../mips/saxpy_msa.c
  3. DAXPYKERNEL = ../mips/daxpy_msa.c
  4. CAXPYKERNEL = ../mips/caxpy_msa.c
  5. ZAXPYKERNEL = ../mips/zaxpy_msa.c
  6. else
  7. SAXPYKERNEL = axpy_loongson3a.S
  8. DAXPYKERNEL = daxpy_loongson3a_simd.S
  9. endif
  10. ifndef NO_MSA
  11. SCOPYKERNEL = ../mips/scopy_msa.c
  12. DCOPYKERNEL = ../mips/dcopy_msa.c
  13. CCOPYKERNEL = ../mips/ccopy_msa.c
  14. ZCOPYKERNEL = ../mips/zcopy_msa.c
  15. endif
  16. ifndef NO_MSA
  17. SDOTKERNEL = ../mips/sdot_msa.c
  18. DDOTKERNEL = ../mips/ddot_msa.c
  19. CDOTKERNEL = ../mips/cdot_msa.c
  20. ZDOTKERNEL = ../mips/zdot_msa.c
  21. endif
  22. DSDOTKERNEL = ../mips/dot.c
  23. ifndef NO_MSA
  24. SROTKERNEL = ../mips/srot_msa.c
  25. DROTKERNEL = ../mips/drot_msa.c
  26. CROTKERNEL = ../mips/crot_msa.c
  27. ZROTKERNEL = ../mips/zrot_msa.c
  28. endif
  29. ifndef NO_MSA
  30. SSCALKERNEL = ../mips/sscal_msa.c
  31. DSCALKERNEL = ../mips/dscal_msa.c
  32. CSCALKERNEL = ../mips/cscal_msa.c
  33. ZSCALKERNEL = ../mips/zscal_msa.c
  34. endif
  35. ifndef NO_MSA
  36. SGEMVNKERNEL = ../mips/sgemv_n_msa.c
  37. DGEMVNKERNEL = ../mips/dgemv_n_msa.c
  38. SGEMVTKERNEL = ../mips/sgemv_t_msa.c
  39. DGEMVTKERNEL = ../mips/dgemv_t_msa.c
  40. CGEMVNKERNEL = ../mips/cgemv_n_msa.c
  41. CGEMVTKERNEL = ../mips/cgemv_t_msa.c
  42. ZGEMVNKERNEL = ../mips/zgemv_n_msa.c
  43. ZGEMVTKERNEL = ../mips/zgemv_t_msa.c
  44. else
  45. SGEMVNKERNEL = gemv_n_loongson3a.c
  46. SGEMVTKERNEL = gemv_t_loongson3a.c
  47. DGEMVNKERNEL = gemv_n_loongson3a.c
  48. DGEMVTKERNEL = gemv_t_loongson3a.c
  49. CGEMVNKERNEL = zgemv_n_loongson3a.c
  50. CGEMVTKERNEL = zgemv_t_loongson3a.c
  51. ZGEMVNKERNEL = zgemv_n_loongson3a.c
  52. ZGEMVTKERNEL = zgemv_t_loongson3a.c
  53. endif
  54. ifndef NO_MSA
  55. SASUMKERNEL = ../mips/sasum_msa.c
  56. DASUMKERNEL = ../mips/dasum_msa.c
  57. CASUMKERNEL = ../mips/casum_msa.c
  58. ZASUMKERNEL = ../mips/zasum_msa.c
  59. endif
  60. ifndef NO_MSA
  61. SSWAPKERNEL = ../mips/sswap_msa.c
  62. DSWAPKERNEL = ../mips/dswap_msa.c
  63. CSWAPKERNEL = ../mips/cswap_msa.c
  64. ZSWAPKERNEL = ../mips/zswap_msa.c
  65. endif
  66. ifndef NO_MSA
  67. SGEMMKERNEL = ../mips/sgemm_kernel_8x8_msa.c
  68. SGEMMONCOPY = ../mips/sgemm_ncopy_8_msa.c
  69. SGEMMOTCOPY = ../mips/sgemm_tcopy_8_msa.c
  70. SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
  71. SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
  72. else
  73. SGEMMKERNEL = sgemm_kernel_8x4_ps.S
  74. SGEMMINCOPY = ../generic/gemm_ncopy_8.c
  75. SGEMMITCOPY = ../generic/gemm_tcopy_8.c
  76. SGEMMONCOPY = ../generic/gemm_ncopy_4.c
  77. SGEMMOTCOPY = ../generic/gemm_tcopy_4.c
  78. SGEMMINCOPYOBJ = sgemm_incopy$(TSUFFIX).$(SUFFIX)
  79. SGEMMITCOPYOBJ = sgemm_itcopy$(TSUFFIX).$(SUFFIX)
  80. SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
  81. SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
  82. endif
  83. ifndef NO_MSA
  84. DGEMMKERNEL = ../mips/dgemm_kernel_8x4_msa.c
  85. DGEMMINCOPY = ../mips/dgemm_ncopy_8_msa.c
  86. DGEMMITCOPY = ../mips/dgemm_tcopy_8_msa.c
  87. DGEMMONCOPY = ../mips/dgemm_ncopy_4_msa.c
  88. DGEMMOTCOPY = ../mips/dgemm_tcopy_4_msa.c
  89. DGEMMINCOPYOBJ = dgemm_incopy$(TSUFFIX).$(SUFFIX)
  90. DGEMMITCOPYOBJ = dgemm_itcopy$(TSUFFIX).$(SUFFIX)
  91. DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
  92. DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
  93. else
  94. DGEMMKERNEL = dgemm_kernel_loongson3a_4x4.S
  95. DGEMMONCOPY = ../generic/gemm_ncopy_4.c
  96. DGEMMOTCOPY = ../generic/gemm_tcopy_4.c
  97. DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
  98. DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
  99. endif
  100. ifndef NO_MSA
  101. CGEMMKERNEL = ../mips/cgemm_kernel_8x4_msa.c
  102. CGEMMINCOPY = ../mips/cgemm_ncopy_8_msa.c
  103. CGEMMITCOPY = ../mips/cgemm_tcopy_8_msa.c
  104. CGEMMONCOPY = ../mips/cgemm_ncopy_4_msa.c
  105. CGEMMOTCOPY = ../mips/cgemm_tcopy_4_msa.c
  106. CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX)
  107. CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX)
  108. CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
  109. CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
  110. else
  111. CGEMMKERNEL = cgemm_kernel_loongson3a_4x2_ps.S
  112. CGEMMINCOPY = ../generic/zgemm_ncopy_4.c
  113. CGEMMITCOPY = ../generic/zgemm_tcopy_4.c
  114. CGEMMONCOPY = ../generic/zgemm_ncopy_2.c
  115. CGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
  116. CGEMMINCOPYOBJ = cgemm_incopy$(TSUFFIX).$(SUFFIX)
  117. CGEMMITCOPYOBJ = cgemm_itcopy$(TSUFFIX).$(SUFFIX)
  118. CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
  119. CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
  120. endif
  121. ifndef NO_MSA
  122. ZGEMMKERNEL = ../mips/zgemm_kernel_4x4_msa.c
  123. ZGEMMONCOPY = ../mips/zgemm_ncopy_4_msa.c
  124. ZGEMMOTCOPY = ../mips/zgemm_tcopy_4_msa.c
  125. ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX)
  126. ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
  127. else
  128. ZGEMMKERNEL = zgemm_kernel_loongson3a_2x2.S
  129. ZGEMMONCOPY = ../generic/zgemm_ncopy_2.c
  130. ZGEMMOTCOPY = ../generic/zgemm_tcopy_2.c
  131. ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX)
  132. ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
  133. endif
  134. ifndef NO_MSA
  135. STRSMKERNEL_LN = ../mips/strsm_kernel_LN_8x8_msa.c
  136. STRSMKERNEL_LT = ../mips/strsm_kernel_LT_8x8_msa.c
  137. STRSMKERNEL_RN = ../mips/strsm_kernel_RN_8x8_msa.c
  138. STRSMKERNEL_RT = ../mips/strsm_kernel_RT_8x8_msa.c
  139. else
  140. STRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  141. STRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  142. STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  143. STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  144. endif
  145. ifndef NO_MSA
  146. DTRSMKERNEL_LN = ../mips/dtrsm_kernel_LN_8x4_msa.c
  147. DTRSMKERNEL_LT = ../mips/dtrsm_kernel_LT_8x4_msa.c
  148. DTRSMKERNEL_RN = ../mips/dtrsm_kernel_RN_8x4_msa.c
  149. DTRSMKERNEL_RT = ../mips/dtrsm_kernel_RT_8x4_msa.c
  150. else
  151. DTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  152. DTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  153. DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  154. DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  155. endif
  156. ifndef NO_MSA
  157. CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  158. CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  159. CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  160. CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  161. else
  162. CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  163. CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  164. CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  165. CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  166. endif
  167. ifndef NO_MSA
  168. ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  169. ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  170. ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  171. ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  172. else
  173. ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
  174. ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
  175. ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
  176. ZTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
  177. endif