26
26
#
27
27
28
28
ifeq ($(ARCH ) , x86_64)
29
- OBJ+ =sleefdpsse2.o sleefdpavx.o sleefspsse2.o sleefspavx.o sleefdpsse4.o sleefspsse4.o
29
+ OBJ+ =dispsse.o dispavx.o sleefdpsse2.o sleefdpavx.o sleefspsse2.o sleefspavx.o sleefdpsse4.o sleefspsse4.o
30
30
OBJ2+ =sleefgdpsse2.o sleefgdpavx.o sleefgspsse2.o sleefgspavx.o
31
31
32
32
ifeq ($(ENABLEAVX2 ) , 1)
@@ -68,29 +68,31 @@ ifeq ($(ARCH), x86_64)
68
68
sleef.h : mkrename
69
69
cp sleeflibm.h.org sleef.h
70
70
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
71
- ./mkrename sse2 2 4 __m128d __m128 __m128i __m128i __SSE2__ >> sleef.h
72
- ./mkrename sse4 2 4 __m128d __m128 __m128i __m128i __SSE2__ >> sleef.h
73
- ./mkrename avx2128 2 4 __m128d __m128 __m128i __m128i __SSE2__ >> sleef.h
74
- ./mkrename avx 4 8 __m256d __m256 __m128i ' struct { __m128i x, y; }' __AVX__ >> sleef.h
75
- ./mkrename fma4 4 8 __m256d __m256 __m128i ' struct { __m128i x, y; }' __FMA4__ >> sleef.h
76
- ./mkrename avx2 4 8 __m256d __m256 __m128i __m256i __AVX2__ >> sleef.h
77
- ./mkrename avx512f 8 16 __m512d __m512 __m256i __m512i __AVX512F__ >> sleef.h
71
+ ./mkrename 2 4 __m128d __m128 __m128i __m128i __SSE2__ >> sleef.h
72
+ ./mkrename 2 4 __m128d __m128 __m128i __m128i __SSE2__ sse2 >> sleef.h
73
+ ./mkrename 2 4 __m128d __m128 __m128i __m128i __SSE2__ sse4 >> sleef.h
74
+ ./mkrename 2 4 __m128d __m128 __m128i __m128i __SSE2__ avx2128 >> sleef.h
75
+ ./mkrename 4 8 __m256d __m256 __m128i ' struct { __m128i x, y; }' __AVX__ >> sleef.h
76
+ ./mkrename 4 8 __m256d __m256 __m128i ' struct { __m128i x, y; }' __AVX__ avx >> sleef.h
77
+ ./mkrename 4 8 __m256d __m256 __m128i ' struct { __m128i x, y; }' __AVX__ fma4 >> sleef.h
78
+ ./mkrename 4 8 __m256d __m256 __m128i __m256i __AVX__ avx2 >> sleef.h
79
+ ./mkrename 8 16 __m512d __m512 __m256i __m512i __AVX512F__ avx512f >> sleef.h
78
80
echo ' #undef IMPORT' >> sleef.h
79
81
echo ' #endif' >> sleef.h
80
82
cp sleef.h ../../include
81
83
else ifeq ($(ARCH), arm)
82
84
sleef.h : mkrename
83
85
cp sleeflibm.h.org sleef.h
84
86
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
85
- ./mkrename neon 2 4 - float32x4_t int32x4_t int32x4_t __ARM_NEON__ >> sleef.h
87
+ ./mkrename 2 4 - float32x4_t int32x4_t int32x4_t __ARM_NEON__ neon >> sleef.h
86
88
echo ' #undef IMPORT' >> sleef.h
87
89
echo ' #endif' >> sleef.h
88
90
cp sleef.h ../../include
89
91
else ifeq ($(ARCH), aarch64)
90
92
sleef.h : mkrename
91
93
cp sleeflibm.h.org sleef.h
92
94
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
93
- ./mkrename advsimd 2 4 float64x2_t float32x4_t int32x2_t int32x4_t __ARM_NEON >> sleef.h
95
+ ./mkrename 2 4 float64x2_t float32x4_t int32x2_t int32x4_t __ARM_NEON advsimd >> sleef.h
94
96
echo ' #undef IMPORT' >> sleef.h
95
97
echo ' #endif' >> sleef.h
96
98
cp sleef.h ../../include
@@ -134,7 +136,7 @@ sleefspsse2.o : sleefsimdsp.c renamesse2.h
134
136
135
137
renamesse2.h : mkrename
136
138
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
137
- ./mkrename sse2 2 4 > renamesse2.h
139
+ ./mkrename 2 4 sse2 > renamesse2.h
138
140
139
141
#
140
142
@@ -158,7 +160,34 @@ sleefspsse4.o : sleefsimdsp.c renamesse4.h
158
160
159
161
renamesse4.h : mkrename
160
162
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
161
- ./mkrename sse4 2 4 > renamesse4.h
163
+ ./mkrename 2 4 sse4 > renamesse4.h
164
+
165
+ # #
166
+
167
+ DISPAVXOPT =
168
+ ifeq ($ENABLEFMA4, 1)
169
+ DISPAVXOPT+ =-DENABLE_FMA4
170
+ endif
171
+ ifeq ($(ENABLEAVX2 ) , 1)
172
+ DISPAVXOPT+ =-DENABLE_AVX2
173
+ endif
174
+
175
+ dispavx.c : mkdisp
176
+ cp dispavx.c.org dispavx.c
177
+ ./mkdisp 4 8 __m256d __m256 __m128i avx fma4 avx2 >> dispavx.c
178
+
179
+ dispsse.c : mkdisp
180
+ cp dispsse.c.org dispsse.c
181
+ ./mkdisp 2 4 __m128d __m128 __m128i sse2 sse4 avx2128 >> dispsse.c
182
+
183
+ mkdisp : mkdisp.c
184
+ $(CC ) $(CFLAGS ) -Wall mkdisp.c -o mkdisp
185
+
186
+ dispavx.o : dispavx.c sleef.h
187
+ $(CC ) $(CFLAGS ) $(SHAREDFLAGS ) $(DISPAVXOPT ) -mavx dispavx.c -c -o dispavx.o
188
+
189
+ dispsse.o : dispsse.c sleef.h
190
+ $(CC ) $(CFLAGS ) $(SHAREDFLAGS ) $(DISPAVXOPT ) dispsse.c -c -o dispsse.o
162
191
163
192
# #
164
193
@@ -170,7 +199,7 @@ sleefspavx.o : sleefsimdsp.c renameavx.h
170
199
171
200
renameavx.h : mkrename
172
201
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
173
- ./mkrename avx 4 8 > renameavx.h
202
+ ./mkrename 4 8 avx > renameavx.h
174
203
175
204
#
176
205
@@ -194,7 +223,7 @@ sleefspfma4.o : sleefsimdsp.c renamefma4.h
194
223
195
224
renamefma4.h : mkrename
196
225
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
197
- ./mkrename fma4 4 8 > renamefma4.h
226
+ ./mkrename 4 8 fma4 > renamefma4.h
198
227
199
228
# #
200
229
@@ -206,7 +235,7 @@ sleefspavx2.o : sleefsimdsp.c renameavx2.h
206
235
207
236
renameavx2.h : mkrename
208
237
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
209
- ./mkrename avx2 4 8 > renameavx2.h
238
+ ./mkrename 4 8 avx2 > renameavx2.h
210
239
211
240
#
212
241
@@ -230,7 +259,7 @@ sleefspavx2128.o : sleefsimdsp.c renameavx2128.h
230
259
231
260
renameavx2128.h : mkrename
232
261
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
233
- ./mkrename avx2128 2 4 > renameavx2128.h
262
+ ./mkrename 2 4 avx2128 > renameavx2128.h
234
263
235
264
# #
236
265
@@ -242,7 +271,7 @@ sleefspavx512f.o : sleefsimdsp.c renameavx512f.h
242
271
243
272
renameavx512f.h : mkrename
244
273
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
245
- ./mkrename avx512f 8 16 > renameavx512f.h
274
+ ./mkrename 8 16 avx512f > renameavx512f.h
246
275
247
276
#
248
277
@@ -263,7 +292,7 @@ sleefspneon32.o : sleefsimdsp.c renameneon32.h
263
292
264
293
renameneon32.h : mkrename
265
294
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
266
- ./mkrename neon 2 4 > renameneon32.h
295
+ ./mkrename 2 4 neon > renameneon32.h
267
296
268
297
# #
269
298
@@ -275,7 +304,7 @@ sleefdpadvsimd.o : sleefsimddp.c ../arch/helperadvsimd.h
275
304
276
305
renameadvsimd.h : mkrename
277
306
$(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
278
- ./mkrename advsimd 2 4 > renameadvsimd.h
307
+ ./mkrename 2 4 advsimd > renameadvsimd.h
279
308
280
309
#
281
310
@@ -291,9 +320,20 @@ renameadvsimd_gnuabi.h : mkrename_gnuabi
291
320
292
321
#
293
322
323
+ renamedsp128.h : mkrename
324
+ $(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
325
+ ./mkrename 2 4 > renamedsp128.h
326
+
327
+ renamedsp256.h : mkrename
328
+ $(FLOCK ) mkrename.c -c ' echo Acquiring lock for mkrename'
329
+ ./mkrename 4 8 > renamedsp256.h
330
+
331
+ #
332
+
294
333
.PHONY : clean
295
334
clean :
296
335
rm -f * ~ * .o * .s libm.a libgm.a sleef.h a.out * .lock OBJ.txt OBJ2.txt
297
336
rm -f * .obj * .lib * .dll * .exp * .exe
298
- rm -f mkrename renamesse2.h renamesse4.h renameavx.h renamefma4.h renameavx2.h renameavx2128.h renameavx512f.h renameneon32.h renameadvsimd.h
337
+ rm -f mkrename renamesse2.h renamesse4.h renameavx.h renamefma4.h renameavx2.h renameavx2128.h renameavx512f.h renameneon32.h renameadvsimd.h renamedsp128.h renamedsp256.h
338
+ rm -f mkdisp dispavx.c dispsse.c
299
339
rm -f mkrename_gnuabi renamesse2_gnuabi.h renameavx_gnuabi.h renamefma4_gnuabi.h renameavx2_gnuabi.h renameavx512f_gnuabi.h renameneon32_gnuabi.h renameadvsimd_gnuabi.h
0 commit comments