aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/simd_engine
diff options
context:
space:
mode:
authorlloyd <[email protected]>2009-11-24 00:39:06 +0000
committerlloyd <[email protected]>2009-11-24 00:39:06 +0000
commit404462c4dda58af79a7cf53da790a86bdae4633e (patch)
tree441fe91b4da4a97e875b090ad9673a7b6499dba5 /src/engine/simd_engine
parent798230f8e6893e0a8e4eed3cd3215cb5fef13154 (diff)
Make sure the SIMD_32 implementation we're using actually works on the
system before returning a new instance.
Diffstat (limited to 'src/engine/simd_engine')
-rw-r--r--src/engine/simd_engine/simd_engine.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/engine/simd_engine/simd_engine.cpp b/src/engine/simd_engine/simd_engine.cpp
index 7e15f9ec1..fdb1644d0 100644
--- a/src/engine/simd_engine/simd_engine.cpp
+++ b/src/engine/simd_engine/simd_engine.cpp
@@ -6,6 +6,7 @@
*/
#include <botan/simd_engine.h>
+#include <botan/simd_32.h>
#include <botan/cpuid.h>
#if defined(BOTAN_HAS_SERPENT_SIMD)
@@ -26,6 +27,9 @@ BlockCipher*
SIMD_Engine::find_block_cipher(const SCAN_Name& request,
Algorithm_Factory&) const
{
+ if(!SIMD_32::enabled())
+ return 0;
+
#if defined(BOTAN_HAS_SERPENT_SIMD)
if(request.algo_name() == "Serpent")
return new Serpent_SIMD;