From 15e2687f3129f3c6d329c0dacbd976322aa66002 Mon Sep 17 00:00:00 2001 From: inga-lovinde <52715130+inga-lovinde@users.noreply.github.com> Date: Tue, 4 Apr 2017 16:28:24 +0300 Subject: [PATCH] Some optimization --- .../WhiteRabbit.UnmanagedBridge.vcxproj | 1 + dotnet/WhiteRabbit.UnmanagedBridge/md5.cpp | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) 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)