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)