diff --git a/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.vcxproj b/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.vcxproj
index 890e2d0..bd26707 100644
--- a/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.vcxproj
+++ b/dotnet/WhiteRabbit.UnmanagedBridge/WhiteRabbit.UnmanagedBridge.vcxproj
@@ -125,6 +125,7 @@
AnySuitable
true
Speed
+ All
diff --git a/dotnet/WhiteRabbit.UnmanagedBridge/md5.cpp b/dotnet/WhiteRabbit.UnmanagedBridge/md5.cpp
index 5a0a17e..43d8818 100644
--- a/dotnet/WhiteRabbit.UnmanagedBridge/md5.cpp
+++ b/dotnet/WhiteRabbit.UnmanagedBridge/md5.cpp
@@ -2,6 +2,9 @@
#include "md5.h"
+#include "intrin.h"
+#include "immintrin.h"
+
#pragma unmanaged
inline unsigned int Blend(unsigned int a, unsigned int b, unsigned int x)
@@ -21,7 +24,7 @@ inline unsigned int I(unsigned int a, unsigned int b, unsigned int c)
inline unsigned int LeftRotate(unsigned int x, int left)
{
- return (x << left) | (x >> (32 - left));
+ return _rotl(x, left);
}
void md5(unsigned int * input, unsigned int* output)