aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-01-12 16:15:29 +0000
committerlloyd <[email protected]>2010-01-12 16:15:29 +0000
commit118e42c730001fb3ef2f30a295b099c73bc99668 (patch)
treeb4689813d0054dbc09703df60cd1e23e0649337f /src/engine
parent3f9791ba4d118143c03a613280f53a29a6e1e993 (diff)
Add SIMD version of Noekeon. On a Core2, about 2.7x faster using SIMD_SSE2
and 1.6x faster using SIMD_Scalar.
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/simd_engine/simd_engine.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/engine/simd_engine/simd_engine.cpp b/src/engine/simd_engine/simd_engine.cpp
index b8ebd6a80..e889ca161 100644
--- a/src/engine/simd_engine/simd_engine.cpp
+++ b/src/engine/simd_engine/simd_engine.cpp
@@ -13,6 +13,10 @@
#include <botan/serp_simd.h>
#endif
+#if defined(BOTAN_HAS_NOEKEON_SIMD)
+ #include <botan/noekeon_simd.h>
+#endif
+
#if defined(BOTAN_HAS_XTEA_SIMD)
#include <botan/xtea_simd.h>
#endif
@@ -36,6 +40,11 @@ SIMD_Engine::find_block_cipher(const SCAN_Name& request,
return new IDEA_SSE2;
#endif
+#if defined(BOTAN_HAS_NOEKEON_SIMD)
+ if(request.algo_name() == "Noekeon" && SIMD_32::enabled())
+ return new Noekeon_SIMD;
+#endif
+
#if defined(BOTAN_HAS_SERPENT_SIMD)
if(request.algo_name() == "Serpent" && SIMD_32::enabled())
return new Serpent_SIMD;