The link that Vivek shared is for multi-buffer implementation where multiple MD5 hashes for different buffers is calculated at once using SIMD. What is needed here is the acceleration of single buffer hash. I think that is what Henry's patch is proposing.
Best Regards, Sandhya -----Original Message----- From: Vladimir Kozlov <vladimir.koz...@oracle.com> Sent: Monday, August 03, 2020 4:10 PM To: Vivek Deshpande <viv.d...@gmail.com> Cc: Ludovic Henry <luhe...@microsoft.com>; hotspot-compiler-...@openjdk.java.net; core-libs-dev <core-libs-dev@openjdk.java.net>; Viswanathan, Sandhya <sandhya.viswanat...@intel.com> Subject: Re: RFR[M]: Adding MD5 Intrinsic on x86-64 Thank you, Vivek, for pointer. This is interesting ,could be somehitng Intel's mlib may have. Vladimir K On 8/3/20 3:08 PM, Vivek Deshpande wrote: > Hi Vladimir > > It seems that the algorithm can be optimized further using SSE/AVX > instructions. I am not aware of any specific SSE/AVX implementation > which leverages those instructions in the best possible way. Sandhya > can chime in more on that. > As far as I know, I came across this which points to MD5 SSE/AVX > implementation. > https://software.intel.com/content/www/us/en/develop/articles/intel-is > a-l-cryptographic-hashes-for-cloud-storage.html > > Regards, > Vivek > > On Mon, Aug 3, 2020 at 12:21 PM Vladimir Kozlov > <vladimir.koz...@oracle.com> > wrote: > >> I reproduced crash with only MD5 changes on my local linux machine >> during fastdebug build. >> >> Next code in inline_digestBase_implCompressMB should be reversed >> (get_long_*() should be called for long_state): >> >> if (long_state) { >> state = get_state_from_digestBase_object(digestBase_obj); >> } else { >> state = get_long_state_from_digestBase_object(digestBase_obj); >> } >> >> Vladimir K >> >> On 8/3/20 11:52 AM, Ludovic Henry wrote: >>>> But it looks like it has more changes (windows_aarch64) then just >>>> MD5 >> intrinsic. >>>> I will retest again with removed other changes. >>> >>> That looks like a mistake with me learning to use Mercurial, sorry >>> about >> that. >>> >>> The only patch you need is `8250902: Implement MD5 Intrinsics on >>> x86`, >> all the others are my mistake. >>> >>> >> > >