Skip to content

Commit e5d2725

Browse files
authored
Merge pull request #4185 from XiWeiGu/mips_enable_msa
MIPS: Enable MSA
2 parents a4fde2c + 4d0f000 commit e5d2725

File tree

3 files changed

+59
-59
lines changed

3 files changed

+59
-59
lines changed

kernel/mips/KERNEL.P5600

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ DSUMKERNEL = ../mips/sum.c
3535
CSUMKERNEL = ../mips/zsum.c
3636
ZSUMKERNEL = ../mips/zsum.c
3737

38-
ifdef HAVE_MSA
38+
ifndef NO_MSA
3939
SASUMKERNEL = ../mips/sasum_msa.c
4040
DASUMKERNEL = ../mips/dasum_msa.c
4141
CASUMKERNEL = ../mips/casum_msa.c
@@ -47,7 +47,7 @@ CASUMKERNEL = ../mips/zasum.c
4747
ZASUMKERNEL = ../mips/zasum.c
4848
endif
4949

50-
ifdef HAVE_MSA
50+
ifndef NO_MSA
5151
SAXPYKERNEL = ../mips/saxpy_msa.c
5252
DAXPYKERNEL = ../mips/daxpy_msa.c
5353
CAXPYKERNEL = ../mips/caxpy_msa.c
@@ -59,7 +59,7 @@ CAXPYKERNEL = ../mips/zaxpy.c
5959
ZAXPYKERNEL = ../mips/zaxpy.c
6060
endif
6161

62-
ifdef HAVE_MSA
62+
ifndef NO_MSA
6363
SCOPYKERNEL = ../mips/scopy_msa.c
6464
DCOPYKERNEL = ../mips/dcopy_msa.c
6565
CCOPYKERNEL = ../mips/ccopy_msa.c
@@ -71,7 +71,7 @@ CCOPYKERNEL = ../mips/zcopy.c
7171
ZCOPYKERNEL = ../mips/zcopy.c
7272
endif
7373

74-
ifdef HAVE_MSA
74+
ifndef NO_MSA
7575
SDOTKERNEL = ../mips/sdot_msa.c
7676
DDOTKERNEL = ../mips/ddot_msa.c
7777
CDOTKERNEL = ../mips/cdot_msa.c
@@ -88,7 +88,7 @@ DNRM2KERNEL = ../mips/nrm2.c
8888
CNRM2KERNEL = ../mips/znrm2.c
8989
ZNRM2KERNEL = ../mips/znrm2.c
9090

91-
ifdef HAVE_MSA
91+
ifndef NO_MSA
9292
SROTKERNEL = ../mips/srot_msa.c
9393
DROTKERNEL = ../mips/drot_msa.c
9494
CROTKERNEL = ../mips/crot_msa.c
@@ -100,7 +100,7 @@ CROTKERNEL = ../mips/zrot.c
100100
ZROTKERNEL = ../mips/zrot.c
101101
endif
102102

103-
ifdef HAVE_MSA
103+
ifndef NO_MSA
104104
SSCALKERNEL = ../mips/sscal_msa.c
105105
DSCALKERNEL = ../mips/dscal_msa.c
106106
#CSCALKERNEL = ../mips/cscal_msa.c
@@ -114,7 +114,7 @@ CSCALKERNEL = ../mips/zscal.c
114114
ZSCALKERNEL = ../mips/zscal.c
115115
endif
116116

117-
ifdef HAVE_MSA
117+
ifndef NO_MSA
118118
SSWAPKERNEL = ../mips/sswap_msa.c
119119
DSWAPKERNEL = ../mips/dswap_msa.c
120120
CSWAPKERNEL = ../mips/cswap_msa.c
@@ -126,7 +126,7 @@ CSWAPKERNEL = ../mips/zswap.c
126126
ZSWAPKERNEL = ../mips/zswap.c
127127
endif
128128

129-
ifdef HAVE_MSA
129+
ifndef NO_MSA
130130
SGEMVNKERNEL = ../mips/sgemv_n_msa.c
131131
DGEMVNKERNEL = ../mips/dgemv_n_msa.c
132132
CGEMVNKERNEL = ../mips/cgemv_n_msa.c
@@ -138,7 +138,7 @@ CGEMVNKERNEL = ../mips/zgemv_n.c
138138
ZGEMVNKERNEL = ../mips/zgemv_n.c
139139
endif
140140

141-
ifdef HAVE_MSA
141+
ifndef NO_MSA
142142
SGEMVTKERNEL = ../mips/sgemv_t_msa.c
143143
DGEMVTKERNEL = ../mips/dgemv_t_msa.c
144144
CGEMVTKERNEL = ../mips/cgemv_t_msa.c
@@ -150,7 +150,7 @@ CGEMVTKERNEL = ../mips/zgemv_t.c
150150
ZGEMVTKERNEL = ../mips/zgemv_t.c
151151
endif
152152

153-
ifdef HAVE_MSA
153+
ifndef NO_MSA
154154
SGEMMKERNEL = ../mips/sgemm_kernel_8x8_msa.c
155155
SGEMMONCOPY = ../mips/sgemm_ncopy_8_msa.c
156156
SGEMMOTCOPY = ../mips/sgemm_tcopy_8_msa.c
@@ -164,7 +164,7 @@ SGEMMONCOPYOBJ = sgemm_oncopy.o
164164
SGEMMOTCOPYOBJ = sgemm_otcopy.o
165165
endif
166166

167-
ifdef HAVE_MSA
167+
ifndef NO_MSA
168168
DGEMMKERNEL = ../mips/dgemm_kernel_8x4_msa.c
169169
DGEMMINCOPY = ../mips/dgemm_ncopy_8_msa.c
170170
DGEMMITCOPY = ../mips/dgemm_tcopy_8_msa.c
@@ -182,7 +182,7 @@ DGEMMONCOPYOBJ = dgemm_oncopy.o
182182
DGEMMOTCOPYOBJ = dgemm_otcopy.o
183183
endif
184184

185-
ifdef HAVE_MSA
185+
ifndef NO_MSA
186186
CGEMMKERNEL = ../mips/cgemm_kernel_8x4_msa.c
187187
CGEMMINCOPY = ../mips/cgemm_ncopy_8_msa.c
188188
CGEMMITCOPY = ../mips/cgemm_tcopy_8_msa.c
@@ -200,7 +200,7 @@ CGEMMONCOPYOBJ = cgemm_oncopy.o
200200
CGEMMOTCOPYOBJ = cgemm_otcopy.o
201201
endif
202202

203-
ifdef HAVE_MSA
203+
ifndef NO_MSA
204204
ZGEMMKERNEL = ../mips/zgemm_kernel_4x4_msa.c
205205
ZGEMMONCOPY = ../mips/zgemm_ncopy_4_msa.c
206206
ZGEMMOTCOPY = ../mips/zgemm_tcopy_4_msa.c
@@ -214,7 +214,7 @@ ZGEMMONCOPYOBJ = zgemm_oncopy.o
214214
ZGEMMOTCOPYOBJ = zgemm_otcopy.o
215215
endif
216216

217-
ifdef HAVE_MSA
217+
ifndef NO_MSA
218218
STRSMKERNEL_LN = ../mips/strsm_kernel_LN_8x8_msa.c
219219
STRSMKERNEL_LT = ../mips/strsm_kernel_LT_8x8_msa.c
220220
STRSMKERNEL_RN = ../mips/strsm_kernel_RN_8x8_msa.c
@@ -226,7 +226,7 @@ STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
226226
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
227227
endif
228228

229-
ifdef HAVE_MSA
229+
ifndef NO_MSA
230230
DTRSMKERNEL_LN = ../mips/dtrsm_kernel_LN_8x4_msa.c
231231
DTRSMKERNEL_LT = ../mips/dtrsm_kernel_LT_8x4_msa.c
232232
DTRSMKERNEL_RN = ../mips/dtrsm_kernel_RN_8x4_msa.c
@@ -238,7 +238,7 @@ DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
238238
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
239239
endif
240240

241-
ifdef HAVE_MSA
241+
ifndef NO_MSA
242242
CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
243243
CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
244244
CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
@@ -250,7 +250,7 @@ CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
250250
CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
251251
endif
252252

253-
ifdef HAVE_MSA
253+
ifndef NO_MSA
254254
ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
255255
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
256256
ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c

kernel/mips64/KERNEL.LOONGSON3R4

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ifdef HAVE_MSA
1+
ifndef NO_MSA
22
SAXPYKERNEL = ../mips/saxpy_msa.c
33
DAXPYKERNEL = ../mips/daxpy_msa.c
44
CAXPYKERNEL = ../mips/caxpy_msa.c
@@ -8,36 +8,36 @@ SAXPYKERNEL = axpy_loongson3a.S
88
DAXPYKERNEL = daxpy_loongson3a_simd.S
99
endif
1010

11-
ifdef HAVE_MSA
11+
ifndef NO_MSA
1212
SCOPYKERNEL = ../mips/scopy_msa.c
1313
DCOPYKERNEL = ../mips/dcopy_msa.c
1414
CCOPYKERNEL = ../mips/ccopy_msa.c
1515
ZCOPYKERNEL = ../mips/zcopy_msa.c
1616
endif
1717

18-
ifdef HAVE_MSA
18+
ifndef NO_MSA
1919
SDOTKERNEL = ../mips/sdot_msa.c
2020
DDOTKERNEL = ../mips/ddot_msa.c
2121
CDOTKERNEL = ../mips/cdot_msa.c
2222
ZDOTKERNEL = ../mips/zdot_msa.c
2323
endif
2424
DSDOTKERNEL = ../mips/dot.c
2525

26-
ifdef HAVE_MSA
26+
ifndef NO_MSA
2727
SROTKERNEL = ../mips/srot_msa.c
2828
DROTKERNEL = ../mips/drot_msa.c
2929
CROTKERNEL = ../mips/crot_msa.c
3030
ZROTKERNEL = ../mips/zrot_msa.c
3131
endif
3232

33-
ifdef HAVE_MSA
33+
ifndef NO_MSA
3434
SSCALKERNEL = ../mips/sscal_msa.c
3535
DSCALKERNEL = ../mips/dscal_msa.c
3636
CSCALKERNEL = ../mips/cscal_msa.c
3737
ZSCALKERNEL = ../mips/zscal_msa.c
3838
endif
3939

40-
ifdef HAVE_MSA
40+
ifndef NO_MSA
4141
SGEMVNKERNEL = ../mips/sgemv_n_msa.c
4242
DGEMVNKERNEL = ../mips/dgemv_n_msa.c
4343
SGEMVTKERNEL = ../mips/sgemv_t_msa.c
@@ -57,21 +57,21 @@ ZGEMVNKERNEL = zgemv_n_loongson3a.c
5757
ZGEMVTKERNEL = zgemv_t_loongson3a.c
5858
endif
5959

60-
ifdef HAVE_MSA
60+
ifndef NO_MSA
6161
SASUMKERNEL = ../mips/sasum_msa.c
6262
DASUMKERNEL = ../mips/dasum_msa.c
6363
CASUMKERNEL = ../mips/casum_msa.c
6464
ZASUMKERNEL = ../mips/zasum_msa.c
6565
endif
6666

67-
ifdef HAVE_MSA
67+
ifndef NO_MSA
6868
SSWAPKERNEL = ../mips/sswap_msa.c
6969
DSWAPKERNEL = ../mips/dswap_msa.c
7070
CSWAPKERNEL = ../mips/cswap_msa.c
7171
ZSWAPKERNEL = ../mips/zswap_msa.c
7272
endif
7373

74-
ifdef HAVE_MSA
74+
ifndef NO_MSA
7575
SGEMMKERNEL = ../mips/sgemm_kernel_8x8_msa.c
7676
SGEMMONCOPY = ../mips/sgemm_ncopy_8_msa.c
7777
SGEMMOTCOPY = ../mips/sgemm_tcopy_8_msa.c
@@ -89,7 +89,7 @@ SGEMMONCOPYOBJ = sgemm_oncopy$(TSUFFIX).$(SUFFIX)
8989
SGEMMOTCOPYOBJ = sgemm_otcopy$(TSUFFIX).$(SUFFIX)
9090
endif
9191

92-
ifdef HAVE_MSA
92+
ifndef NO_MSA
9393
DGEMMKERNEL = ../mips/dgemm_kernel_8x4_msa.c
9494
DGEMMINCOPY = ../mips/dgemm_ncopy_8_msa.c
9595
DGEMMITCOPY = ../mips/dgemm_tcopy_8_msa.c
@@ -107,7 +107,7 @@ DGEMMONCOPYOBJ = dgemm_oncopy$(TSUFFIX).$(SUFFIX)
107107
DGEMMOTCOPYOBJ = dgemm_otcopy$(TSUFFIX).$(SUFFIX)
108108
endif
109109

110-
ifdef HAVE_MSA
110+
ifndef NO_MSA
111111
CGEMMKERNEL = ../mips/cgemm_kernel_8x4_msa.c
112112
CGEMMINCOPY = ../mips/cgemm_ncopy_8_msa.c
113113
CGEMMITCOPY = ../mips/cgemm_tcopy_8_msa.c
@@ -129,7 +129,7 @@ CGEMMONCOPYOBJ = cgemm_oncopy$(TSUFFIX).$(SUFFIX)
129129
CGEMMOTCOPYOBJ = cgemm_otcopy$(TSUFFIX).$(SUFFIX)
130130
endif
131131

132-
ifdef HAVE_MSA
132+
ifndef NO_MSA
133133
ZGEMMKERNEL = ../mips/zgemm_kernel_4x4_msa.c
134134
ZGEMMONCOPY = ../mips/zgemm_ncopy_4_msa.c
135135
ZGEMMOTCOPY = ../mips/zgemm_tcopy_4_msa.c
@@ -143,7 +143,7 @@ ZGEMMONCOPYOBJ = zgemm_oncopy$(TSUFFIX).$(SUFFIX)
143143
ZGEMMOTCOPYOBJ = zgemm_otcopy$(TSUFFIX).$(SUFFIX)
144144
endif
145145

146-
ifdef HAVE_MSA
146+
ifndef NO_MSA
147147
STRSMKERNEL_LN = ../mips/strsm_kernel_LN_8x8_msa.c
148148
STRSMKERNEL_LT = ../mips/strsm_kernel_LT_8x8_msa.c
149149
STRSMKERNEL_RN = ../mips/strsm_kernel_RN_8x8_msa.c
@@ -155,7 +155,7 @@ STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
155155
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
156156
endif
157157

158-
ifdef HAVE_MSA
158+
ifndef NO_MSA
159159
DTRSMKERNEL_LN = ../mips/dtrsm_kernel_LN_8x4_msa.c
160160
DTRSMKERNEL_LT = ../mips/dtrsm_kernel_LT_8x4_msa.c
161161
DTRSMKERNEL_RN = ../mips/dtrsm_kernel_RN_8x4_msa.c
@@ -167,7 +167,7 @@ DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
167167
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
168168
endif
169169

170-
ifdef HAVE_MSA
170+
ifndef NO_MSA
171171
CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
172172
CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
173173
CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
@@ -179,7 +179,7 @@ CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
179179
CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
180180
endif
181181

182-
ifdef HAVE_MSA
182+
ifndef NO_MSA
183183
ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
184184
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
185185
ZTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c

param.h

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2743,19 +2743,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27432743
#define GEMM_DEFAULT_OFFSET_B 0
27442744
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
27452745

2746-
#ifdef HAVE_MSA
2747-
#define SGEMM_DEFAULT_UNROLL_M 8
2748-
#define SGEMM_DEFAULT_UNROLL_N 8
2749-
2750-
#define DGEMM_DEFAULT_UNROLL_M 8
2751-
#define DGEMM_DEFAULT_UNROLL_N 4
2752-
2753-
#define CGEMM_DEFAULT_UNROLL_M 8
2754-
#define CGEMM_DEFAULT_UNROLL_N 4
2755-
2756-
#define ZGEMM_DEFAULT_UNROLL_M 4
2757-
#define ZGEMM_DEFAULT_UNROLL_N 4
2758-
#else
2746+
#if defined(NO_MSA)
27592747
#define SGEMM_DEFAULT_UNROLL_M 8
27602748
#define SGEMM_DEFAULT_UNROLL_N 4
27612749

@@ -2767,6 +2755,18 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27672755

27682756
#define ZGEMM_DEFAULT_UNROLL_M 2
27692757
#define ZGEMM_DEFAULT_UNROLL_N 2
2758+
#else
2759+
#define SGEMM_DEFAULT_UNROLL_M 8
2760+
#define SGEMM_DEFAULT_UNROLL_N 8
2761+
2762+
#define DGEMM_DEFAULT_UNROLL_M 8
2763+
#define DGEMM_DEFAULT_UNROLL_N 4
2764+
2765+
#define CGEMM_DEFAULT_UNROLL_M 8
2766+
#define CGEMM_DEFAULT_UNROLL_N 4
2767+
2768+
#define ZGEMM_DEFAULT_UNROLL_M 4
2769+
#define ZGEMM_DEFAULT_UNROLL_N 4
27702770
#endif
27712771

27722772
#define SGEMM_DEFAULT_P 64
@@ -2958,19 +2958,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29582958
#define GEMM_DEFAULT_OFFSET_B 0
29592959
#define GEMM_DEFAULT_ALIGN (BLASLONG) 0x03fffUL
29602960

2961-
#if defined(HAVE_MSA)
2962-
#define SGEMM_DEFAULT_UNROLL_M 8
2963-
#define SGEMM_DEFAULT_UNROLL_N 8
2964-
2965-
#define DGEMM_DEFAULT_UNROLL_M 8
2966-
#define DGEMM_DEFAULT_UNROLL_N 4
2967-
2968-
#define CGEMM_DEFAULT_UNROLL_M 8
2969-
#define CGEMM_DEFAULT_UNROLL_N 4
2970-
2971-
#define ZGEMM_DEFAULT_UNROLL_M 4
2972-
#define ZGEMM_DEFAULT_UNROLL_N 4
2973-
#else
2961+
#if defined(NO_MSA)
29742962
#define SGEMM_DEFAULT_UNROLL_M 2
29752963
#define SGEMM_DEFAULT_UNROLL_N 2
29762964

@@ -2982,6 +2970,18 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29822970

29832971
#define ZGEMM_DEFAULT_UNROLL_M 2
29842972
#define ZGEMM_DEFAULT_UNROLL_N 2
2973+
#else
2974+
#define SGEMM_DEFAULT_UNROLL_M 8
2975+
#define SGEMM_DEFAULT_UNROLL_N 8
2976+
2977+
#define DGEMM_DEFAULT_UNROLL_M 8
2978+
#define DGEMM_DEFAULT_UNROLL_N 4
2979+
2980+
#define CGEMM_DEFAULT_UNROLL_M 8
2981+
#define CGEMM_DEFAULT_UNROLL_N 4
2982+
2983+
#define ZGEMM_DEFAULT_UNROLL_M 4
2984+
#define ZGEMM_DEFAULT_UNROLL_N 4
29852985
#endif
29862986

29872987
#define SGEMM_DEFAULT_P 128

0 commit comments

Comments
 (0)