Skip to content

Commit 976b903

Browse files
committed
Prepare for LSH dynamic dispatch
1 parent 725a9f4 commit 976b903

File tree

2 files changed

+46
-3
lines changed

2 files changed

+46
-3
lines changed

Makefile.am

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ EXTRA_LTLIBRARIES = \
7575
libgf2n_simd.la \
7676
libkeccak_simd.la \
7777
liblea_simd.la \
78+
liblsh256_sse.la \
79+
liblsh256_avx.la \
80+
liblsh512_sse.la \
81+
liblsh512_avx.la \
7882
libneon_simd.la \
7983
libppc_simd.la \
8084
libppc_power7.la \
@@ -126,6 +130,10 @@ libcryptopp_la_LIBADD = \
126130
$(libgf2n_simd_la_OBJECTS) \
127131
$(libkeccak_simd_la_OBJECTS) \
128132
$(liblea_simd_la_OBJECTS) \
133+
$(liblsh256_sse_la_OBJECTS) \
134+
$(liblsh256_avx_la_OBJECTS) \
135+
$(liblsh512_sse_la_OBJECTS) \
136+
$(liblsh512_avx_la_OBJECTS) \
129137
$(libneon_simd_la_OBJECTS) \
130138
$(libppc_simd_la_OBJECTS) \
131139
$(libppc_power7_la_OBJECTS) \
@@ -169,10 +177,14 @@ libcryptopp_la_DEPENDENCIES = \
169177
$(libcham_simd_la_OBJECTS) \
170178
$(libcrc_simd_la_OBJECTS) \
171179
$(libdonna_sse_la_OBJECTS) \
172-
$(libkeccak_simd_la_OBJECTS) \
173-
$(liblea_simd_la_OBJECTS) \
174180
$(libgcm_simd_la_OBJECTS) \
175181
$(libgf2n_simd_la_OBJECTS) \
182+
$(libkeccak_simd_la_OBJECTS) \
183+
$(liblea_simd_la_OBJECTS) \
184+
$(liblsh256_sse_la_OBJECTS) \
185+
$(liblsh256_avx_la_OBJECTS) \
186+
$(liblsh512_sse_la_OBJECTS) \
187+
$(liblsh512_avx_la_OBJECTS) \
176188
$(libneon_simd_la_OBJECTS) \
177189
$(libppc_simd_la_OBJECTS) \
178190
$(libppc_power7_la_OBJECTS) \
@@ -252,6 +264,18 @@ libkeccak_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_KECCAK_FLAG)
252264
liblea_simd_la_SOURCES = lea_simd.cpp
253265
liblea_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_LEA_FLAG)
254266

267+
liblsh256_sse_la_SOURCES = lsh256_sse.cpp
268+
liblsh256_sse_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_LSH256_FLAG)
269+
270+
liblsh256_avx_la_SOURCES = lsh256_avx.cpp
271+
liblsh256_avx_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_LSH256_AVX2_FLAG)
272+
273+
liblsh512_sse_la_SOURCES = lsh512_sse.cpp
274+
liblsh512_sse_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_LSH512_FLAG)
275+
276+
liblsh512_avx_la_SOURCES = lsh512_avx.cpp
277+
liblsh512_avx_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_LSH512_AVX2_FLAG)
278+
255279
libneon_simd_la_SOURCES = neon_simd.cpp
256280
libneon_simd_la_CXXFLAGS = $(AM_CXXFLAGS) $(CRYPTOPP_NEON_FLAG)
257281

configure.ac

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -992,6 +992,8 @@ if test "$IS_IA32" = "1" && test "$IS_GNUC_COMPILER" = "1"; then
992992
AC_SUBST([CRYPTOPP_CHAM_FLAG], [$CXXFLAGS])
993993
AC_SUBST([CRYPTOPP_KECCAK_FLAG], [$CXXFLAGS])
994994
AC_SUBST([CRYPTOPP_LEA_FLAG], [$CXXFLAGS])
995+
AC_SUBST([CRYPTOPP_LSH256_FLAG], [$CXXFLAGS])
996+
AC_SUBST([CRYPTOPP_LSH512_FLAG], [$CXXFLAGS])
995997
AC_SUBST([CRYPTOPP_SIMON128_FLAG], [$CXXFLAGS])
996998
AC_SUBST([CRYPTOPP_SPECK128_FLAG], [$CXXFLAGS])
997999
AC_DEFINE([CRYPTOPP_SSSE3_AVAILABLE], [1], [Enable SSSE3])
@@ -1155,7 +1157,6 @@ if test "$IS_IA32" = "1" && test "$IS_GNUC_COMPILER" = "1"; then
11551157
)
11561158

11571159
if test "$retval" = "0"; then
1158-
AC_SUBST([CRYPTOPP_CHACHA_AVX_FLAG], [$CXXFLAGS])
11591160
AC_DEFINE([CRYPTOPP_AVX_AVAILABLE], [1], [Enable AVX])
11601161
else
11611162
AC_DEFINE([CRYPTOPP_DISABLE_AVX], [1], [Disable AVX])
@@ -1180,6 +1181,8 @@ if test "$IS_IA32" = "1" && test "$IS_GNUC_COMPILER" = "1"; then
11801181

11811182
if test "$retval" = "0"; then
11821183
AC_SUBST([CRYPTOPP_CHACHA_AVX2_FLAG], [$CXXFLAGS])
1184+
AC_SUBST([CRYPTOPP_LSH256_AVX2_FLAG], [$CXXFLAGS])
1185+
AC_SUBST([CRYPTOPP_LSH512_AVX2_FLAG], [$CXXFLAGS])
11831186
AC_DEFINE([CRYPTOPP_AVX2_AVAILABLE], [1], [Enable AVX2])
11841187
else
11851188
AC_DEFINE([CRYPTOPP_DISABLE_AVX2], [1], [Disable AVX2])
@@ -1285,6 +1288,8 @@ if test "$IS_IA32" != "0" && test "$IS_SUN_COMPILER" != "0"; then
12851288
AC_SUBST([CRYPTOPP_CHAM_FLAG], [$CXXFLAGSX])
12861289
AC_SUBST([CRYPTOPP_KECCAK_FLAG], [$CXXFLAGSX])
12871290
AC_SUBST([CRYPTOPP_LEA_FLAG], [$CXXFLAGSX])
1291+
AC_SUBST([CRYPTOPP_LSH256_FLAG], [$CXXFLAGSX])
1292+
AC_SUBST([CRYPTOPP_LSH512_FLAG], [$CXXFLAGSX])
12881293
AC_SUBST([CRYPTOPP_SIMON128_FLAG], [$CXXFLAGSX])
12891294
AC_SUBST([CRYPTOPP_SPECK128_FLAG], [$CXXFLAGSX])
12901295
AC_DEFINE([CRYPTOPP_SSSE3_AVAILABLE], [1], [Enable SSSE3])
@@ -1411,6 +1416,8 @@ if test "$IS_IA32" != "0" && test "$IS_SUN_COMPILER" != "0"; then
14111416
if test "$retval" = "0"; then
14121417
CXXFLAGSX="$CXXFLAGS -D__AVX2__=1"
14131418
AC_SUBST([CRYPTOPP_CHACHA_AVX2_FLAG], [$CXXFLAGSX])
1419+
AC_SUBST([CRYPTOPP_LSH256_AVX2_FLAG], [$CXXFLAGSX])
1420+
AC_SUBST([CRYPTOPP_LSH512_AVX2_FLAG], [$CXXFLAGSX])
14141421
AC_DEFINE([CRYPTOPP_AVX2_AVAILABLE], [1], [Enable AVX2])
14151422
AM_LDFLAGS="$AM_LDFLAGS $CXXFLAGS"
14161423
else
@@ -2680,6 +2687,18 @@ fi
26802687
if test x"$CRYPTOPP_LEA_FLAG" != "x"; then
26812688
echo "CRYPTOPP_LEA_FLAG: $CRYPTOPP_LEA_FLAG"
26822689
fi
2690+
if test x"$CRYPTOPP_LSH256_FLAG" != "x"; then
2691+
echo "CRYPTOPP_LSH256_FLAG: $CRYPTOPP_LSH256_FLAG"
2692+
fi
2693+
if test x"$CRYPTOPP_LSH512_FLAG" != "x"; then
2694+
echo "CRYPTOPP_LSH512_FLAG: $CRYPTOPP_LSH512_FLAG"
2695+
fi
2696+
if test x"$CRYPTOPP_LSH256_AVX2_FLAG" != "x"; then
2697+
echo "CRYPTOPP_LSH256_AVX2_FLAG: $CRYPTOPP_LSH256_AVX2_FLAG"
2698+
fi
2699+
if test x"$CRYPTOPP_LSH512_AVX2_FLAG" != "x"; then
2700+
echo "CRYPTOPP_LSH512_AVX2_FLAG: $CRYPTOPP_LSH512_AVX2_FLAG"
2701+
fi
26832702
if test x"$CRYPTOPP_KECCAK_FLAG" != "x"; then
26842703
echo "CRYPTOPP_KECCAK_FLAG: $CRYPTOPP_KECCAK_FLAG"
26852704
fi

0 commit comments

Comments
 (0)