Skip to content

Commit 4d0f000

Browse files
committed
MIPS: Enable MSA
1 parent 91e5513 commit 4d0f000

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
@@ -112,7 +112,7 @@ CSCALKERNEL = ../mips/zscal.c
112112
ZSCALKERNEL = ../mips/zscal.c
113113
endif
114114

115-
ifdef HAVE_MSA
115+
ifndef NO_MSA
116116
SSWAPKERNEL = ../mips/sswap_msa.c
117117
DSWAPKERNEL = ../mips/dswap_msa.c
118118
CSWAPKERNEL = ../mips/cswap_msa.c
@@ -124,7 +124,7 @@ CSWAPKERNEL = ../mips/zswap.c
124124
ZSWAPKERNEL = ../mips/zswap.c
125125
endif
126126

127-
ifdef HAVE_MSA
127+
ifndef NO_MSA
128128
SGEMVNKERNEL = ../mips/sgemv_n_msa.c
129129
DGEMVNKERNEL = ../mips/dgemv_n_msa.c
130130
CGEMVNKERNEL = ../mips/cgemv_n_msa.c
@@ -136,7 +136,7 @@ CGEMVNKERNEL = ../mips/zgemv_n.c
136136
ZGEMVNKERNEL = ../mips/zgemv_n.c
137137
endif
138138

139-
ifdef HAVE_MSA
139+
ifndef NO_MSA
140140
SGEMVTKERNEL = ../mips/sgemv_t_msa.c
141141
DGEMVTKERNEL = ../mips/dgemv_t_msa.c
142142
CGEMVTKERNEL = ../mips/cgemv_t_msa.c
@@ -148,7 +148,7 @@ CGEMVTKERNEL = ../mips/zgemv_t.c
148148
ZGEMVTKERNEL = ../mips/zgemv_t.c
149149
endif
150150

151-
ifdef HAVE_MSA
151+
ifndef NO_MSA
152152
SGEMMKERNEL = ../mips/sgemm_kernel_8x8_msa.c
153153
SGEMMONCOPY = ../mips/sgemm_ncopy_8_msa.c
154154
SGEMMOTCOPY = ../mips/sgemm_tcopy_8_msa.c
@@ -162,7 +162,7 @@ SGEMMONCOPYOBJ = sgemm_oncopy.o
162162
SGEMMOTCOPYOBJ = sgemm_otcopy.o
163163
endif
164164

165-
ifdef HAVE_MSA
165+
ifndef NO_MSA
166166
DGEMMKERNEL = ../mips/dgemm_kernel_8x4_msa.c
167167
DGEMMINCOPY = ../mips/dgemm_ncopy_8_msa.c
168168
DGEMMITCOPY = ../mips/dgemm_tcopy_8_msa.c
@@ -180,7 +180,7 @@ DGEMMONCOPYOBJ = dgemm_oncopy.o
180180
DGEMMOTCOPYOBJ = dgemm_otcopy.o
181181
endif
182182

183-
ifdef HAVE_MSA
183+
ifndef NO_MSA
184184
CGEMMKERNEL = ../mips/cgemm_kernel_8x4_msa.c
185185
CGEMMINCOPY = ../mips/cgemm_ncopy_8_msa.c
186186
CGEMMITCOPY = ../mips/cgemm_tcopy_8_msa.c
@@ -198,7 +198,7 @@ CGEMMONCOPYOBJ = cgemm_oncopy.o
198198
CGEMMOTCOPYOBJ = cgemm_otcopy.o
199199
endif
200200

201-
ifdef HAVE_MSA
201+
ifndef NO_MSA
202202
ZGEMMKERNEL = ../mips/zgemm_kernel_4x4_msa.c
203203
ZGEMMONCOPY = ../mips/zgemm_ncopy_4_msa.c
204204
ZGEMMOTCOPY = ../mips/zgemm_tcopy_4_msa.c
@@ -212,7 +212,7 @@ ZGEMMONCOPYOBJ = zgemm_oncopy.o
212212
ZGEMMOTCOPYOBJ = zgemm_otcopy.o
213213
endif
214214

215-
ifdef HAVE_MSA
215+
ifndef NO_MSA
216216
STRSMKERNEL_LN = ../mips/strsm_kernel_LN_8x8_msa.c
217217
STRSMKERNEL_LT = ../mips/strsm_kernel_LT_8x8_msa.c
218218
STRSMKERNEL_RN = ../mips/strsm_kernel_RN_8x8_msa.c
@@ -224,7 +224,7 @@ STRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
224224
STRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
225225
endif
226226

227-
ifdef HAVE_MSA
227+
ifndef NO_MSA
228228
DTRSMKERNEL_LN = ../mips/dtrsm_kernel_LN_8x4_msa.c
229229
DTRSMKERNEL_LT = ../mips/dtrsm_kernel_LT_8x4_msa.c
230230
DTRSMKERNEL_RN = ../mips/dtrsm_kernel_RN_8x4_msa.c
@@ -236,7 +236,7 @@ DTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
236236
DTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
237237
endif
238238

239-
ifdef HAVE_MSA
239+
ifndef NO_MSA
240240
CTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
241241
CTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
242242
CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
@@ -248,7 +248,7 @@ CTRSMKERNEL_RN = ../generic/trsm_kernel_RN.c
248248
CTRSMKERNEL_RT = ../generic/trsm_kernel_RT.c
249249
endif
250250

251-
ifdef HAVE_MSA
251+
ifndef NO_MSA
252252
ZTRSMKERNEL_LN = ../generic/trsm_kernel_LN.c
253253
ZTRSMKERNEL_LT = ../generic/trsm_kernel_LT.c
254254
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
@@ -2748,19 +2748,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27482748
#define GEMM_DEFAULT_OFFSET_B 0
27492749
#define GEMM_DEFAULT_ALIGN (BLASLONG)0x03fffUL
27502750

2751-
#ifdef HAVE_MSA
2752-
#define SGEMM_DEFAULT_UNROLL_M 8
2753-
#define SGEMM_DEFAULT_UNROLL_N 8
2754-
2755-
#define DGEMM_DEFAULT_UNROLL_M 8
2756-
#define DGEMM_DEFAULT_UNROLL_N 4
2757-
2758-
#define CGEMM_DEFAULT_UNROLL_M 8
2759-
#define CGEMM_DEFAULT_UNROLL_N 4
2760-
2761-
#define ZGEMM_DEFAULT_UNROLL_M 4
2762-
#define ZGEMM_DEFAULT_UNROLL_N 4
2763-
#else
2751+
#if defined(NO_MSA)
27642752
#define SGEMM_DEFAULT_UNROLL_M 8
27652753
#define SGEMM_DEFAULT_UNROLL_N 4
27662754

@@ -2772,6 +2760,18 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27722760

27732761
#define ZGEMM_DEFAULT_UNROLL_M 2
27742762
#define ZGEMM_DEFAULT_UNROLL_N 2
2763+
#else
2764+
#define SGEMM_DEFAULT_UNROLL_M 8
2765+
#define SGEMM_DEFAULT_UNROLL_N 8
2766+
2767+
#define DGEMM_DEFAULT_UNROLL_M 8
2768+
#define DGEMM_DEFAULT_UNROLL_N 4
2769+
2770+
#define CGEMM_DEFAULT_UNROLL_M 8
2771+
#define CGEMM_DEFAULT_UNROLL_N 4
2772+
2773+
#define ZGEMM_DEFAULT_UNROLL_M 4
2774+
#define ZGEMM_DEFAULT_UNROLL_N 4
27752775
#endif
27762776

27772777
#define SGEMM_DEFAULT_P 64
@@ -2961,19 +2961,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29612961
#define GEMM_DEFAULT_OFFSET_B 0
29622962
#define GEMM_DEFAULT_ALIGN (BLASLONG) 0x03fffUL
29632963

2964-
#if defined(HAVE_MSA)
2965-
#define SGEMM_DEFAULT_UNROLL_M 8
2966-
#define SGEMM_DEFAULT_UNROLL_N 8
2967-
2968-
#define DGEMM_DEFAULT_UNROLL_M 8
2969-
#define DGEMM_DEFAULT_UNROLL_N 4
2970-
2971-
#define CGEMM_DEFAULT_UNROLL_M 8
2972-
#define CGEMM_DEFAULT_UNROLL_N 4
2973-
2974-
#define ZGEMM_DEFAULT_UNROLL_M 4
2975-
#define ZGEMM_DEFAULT_UNROLL_N 4
2976-
#else
2964+
#if defined(NO_MSA)
29772965
#define SGEMM_DEFAULT_UNROLL_M 2
29782966
#define SGEMM_DEFAULT_UNROLL_N 2
29792967

@@ -2985,6 +2973,18 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29852973

29862974
#define ZGEMM_DEFAULT_UNROLL_M 2
29872975
#define ZGEMM_DEFAULT_UNROLL_N 2
2976+
#else
2977+
#define SGEMM_DEFAULT_UNROLL_M 8
2978+
#define SGEMM_DEFAULT_UNROLL_N 8
2979+
2980+
#define DGEMM_DEFAULT_UNROLL_M 8
2981+
#define DGEMM_DEFAULT_UNROLL_N 4
2982+
2983+
#define CGEMM_DEFAULT_UNROLL_M 8
2984+
#define CGEMM_DEFAULT_UNROLL_N 4
2985+
2986+
#define ZGEMM_DEFAULT_UNROLL_M 4
2987+
#define ZGEMM_DEFAULT_UNROLL_N 4
29882988
#endif
29892989

29902990
#define SGEMM_DEFAULT_P 128

0 commit comments

Comments
 (0)