@@ -46,11 +46,11 @@ endif
46
46
47
47
IS_LINUX := $(shell echo $(MACHINEX) | $(GREP) -i -c "Linux")
48
48
49
- # Can be used by Android and Embeeded cross-compiles. Disable by default because
49
+ # Can be used by Android and Embedded cross-compiles. Disable by default because
50
50
# Android and embedded users typically don't run this configuration.
51
51
HAS_SOLIB_VERSION ?= 0
52
52
53
- # Formely adhoc.cpp was created from adhoc.cpp.proto when needed.
53
+ # Formerly adhoc.cpp was created from adhoc.cpp.proto when needed.
54
54
# This is now needed because ISA tests are performed using adhoc.cpp.
55
55
ifeq ($(wildcard adhoc.cpp),)
56
56
$(shell cp adhoc.cpp.proto adhoc.cpp)
@@ -192,9 +192,9 @@ else ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
192
192
DETECT_FEATURES := 0
193
193
else ifeq ($(findstring distclean,$(MAKECMDGOALS)),distclean)
194
194
DETECT_FEATURES := 0
195
- else ifeq ($(findstring distclean ,$(MAKECMDGOALS)),trim)
195
+ else ifeq ($(findstring trim ,$(MAKECMDGOALS)),trim)
196
196
DETECT_FEATURES := 0
197
- else ifeq ($(IS_IOS),1 )
197
+ else ifeq ($(findstring zip,$(MAKECMDGOALS)),zip )
198
198
DETECT_FEATURES := 0
199
199
endif
200
200
@@ -249,6 +249,7 @@ ifeq ($(DETECT_FEATURES),1)
249
249
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
250
250
endif
251
251
252
+ # Need SSE2 or higher for these tests
252
253
ifneq ($(SSE2_FLAG),)
253
254
TPROG = TestPrograms/test_x86_ssse3.cpp
254
255
TOPT = $(SSSE3_FLAG)
@@ -258,20 +259,26 @@ ifeq ($(DETECT_FEATURES),1)
258
259
CHAM_FLAG = $(SSSE3_FLAG)
259
260
KECCAK_FLAG = $(SSSE3_FLAG)
260
261
LEA_FLAG = $(SSSE3_FLAG)
262
+ LSH256_FLAG = $(SSSE3_FLAG)
263
+ LSH512_FLAG = $(SSSE3_FLAG)
261
264
SIMON128_FLAG = $(SSSE3_FLAG)
262
265
SPECK128_FLAG = $(SSSE3_FLAG)
263
- SUN_LDFLAGS += $(SSSE3_FLAG)
264
266
else
265
267
SSSE3_FLAG =
266
268
endif
267
269
270
+ # The first Apple MacBooks were Core2's with SSE4.1
271
+ ifneq ($(IS_DARWIN),0)
272
+ # Add SSE2 algo's here as required
273
+ # They get a free upgrade
274
+ endif
275
+
268
276
TPROG = TestPrograms/test_x86_sse41.cpp
269
277
TOPT = $(SSE41_FLAG)
270
278
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
271
279
ifeq ($(strip $(HAVE_OPT)),0)
272
280
BLAKE2B_FLAG = $(SSE41_FLAG)
273
281
BLAKE2S_FLAG = $(SSE41_FLAG)
274
- SUN_LDFLAGS += $(SSE41_FLAG)
275
282
else
276
283
SSE41_FLAG =
277
284
endif
@@ -281,7 +288,6 @@ ifeq ($(DETECT_FEATURES),1)
281
288
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
282
289
ifeq ($(strip $(HAVE_OPT)),0)
283
290
CRC_FLAG = $(SSE42_FLAG)
284
- SUN_LDFLAGS += $(SSE42_FLAG)
285
291
else
286
292
SSE42_FLAG =
287
293
endif
@@ -292,7 +298,6 @@ ifeq ($(DETECT_FEATURES),1)
292
298
ifeq ($(strip $(HAVE_OPT)),0)
293
299
GCM_FLAG = $(SSSE3_FLAG) $(CLMUL_FLAG)
294
300
GF2N_FLAG = $(CLMUL_FLAG)
295
- SUN_LDFLAGS += $(CLMUL_FLAG)
296
301
else
297
302
CLMUL_FLAG =
298
303
endif
@@ -303,7 +308,6 @@ ifeq ($(DETECT_FEATURES),1)
303
308
ifeq ($(strip $(HAVE_OPT)),0)
304
309
AES_FLAG = $(SSE41_FLAG) $(AESNI_FLAG)
305
310
SM4_FLAG = $(SSSE3_FLAG) $(AESNI_FLAG)
306
- SUN_LDFLAGS += $(AESNI_FLAG)
307
311
else
308
312
AESNI_FLAG =
309
313
endif
@@ -313,7 +317,6 @@ ifeq ($(DETECT_FEATURES),1)
313
317
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
314
318
ifeq ($(strip $(HAVE_OPT)),0)
315
319
# XXX_FLAG = $(AVX_FLAG)
316
- SUN_LDFLAGS += $(AVX_FLAG)
317
320
else
318
321
AVX_FLAG =
319
322
endif
@@ -323,7 +326,8 @@ ifeq ($(DETECT_FEATURES),1)
323
326
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
324
327
ifeq ($(strip $(HAVE_OPT)),0)
325
328
CHACHA_AVX2_FLAG = $(AVX2_FLAG)
326
- SUN_LDFLAGS += $(AVX2_FLAG)
329
+ LSH256_AVX2_FLAG = $(AVX2_FLAG)
330
+ LSH512_AVX2_FLAG = $(AVX2_FLAG)
327
331
else
328
332
AVX2_FLAG =
329
333
endif
@@ -333,15 +337,10 @@ ifeq ($(DETECT_FEATURES),1)
333
337
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
334
338
ifeq ($(strip $(HAVE_OPT)),0)
335
339
SHA_FLAG = $(SSE42_FLAG) $(SHANI_FLAG)
336
- SUN_LDFLAGS += $(SHANI_FLAG)
337
340
else
338
341
SHANI_FLAG =
339
342
endif
340
343
341
- ifeq ($(SUN_COMPILER),1)
342
- CRYPTOPP_LDFLAGS += $(SUN_LDFLAGS)
343
- endif
344
-
345
344
ifeq ($(SSE3_FLAG),)
346
345
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSE3
347
346
else ifeq ($(SSSE3_FLAG),)
@@ -383,7 +382,7 @@ ifeq ($(DETECT_FEATURES),1)
383
382
# CRYPTOPP_DISABLE_MIXED_ASM is now being added in config_asm.h for all
384
383
# Clang compilers. This test will need to be re-enabled if Clang fixes it.
385
384
#TPROG = TestPrograms/test_asm_mixed.cpp
386
- #HAVE_OPT = $(shell $(CXX) $(TCXXFLAGS) $(ZOPT) $(TPROG) -o $(TOUT ) 2>&1 | wc -w)
385
+ #HAVE_OPT = $(shell $(TCOMMAND ) 2>&1 | wc -w)
387
386
#ifneq ($(strip $(HAVE_OPT)),0)
388
387
# CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
389
388
#endif
@@ -989,6 +988,22 @@ keccak_simd.o : keccak_simd.cpp
989
988
lea_simd.o : lea_simd.cpp
990
989
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(LEA_FLAG) -c) $<
991
990
991
+ # SSSE3 available
992
+ lsh256_sse.o : lsh256_sse.cpp
993
+ $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(LSH256_FLAG) -c) $<
994
+
995
+ # AVX2 available
996
+ lsh256_avx.o : lsh256_avx.cpp
997
+ $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(LSH256_AVX2_FLAG) -c) $<
998
+
999
+ # SSSE3 available
1000
+ lsh512_sse.o : lsh512_sse.cpp
1001
+ $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(LSH512_FLAG) -c) $<
1002
+
1003
+ # AVX2 available
1004
+ lsh512_avx.o : lsh512_avx.cpp
1005
+ $(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(LSH512_AVX2_FLAG) -c) $<
1006
+
992
1007
# NEON available
993
1008
neon_simd.o : neon_simd.cpp
994
1009
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(NEON_FLAG) -c) $<
0 commit comments