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.
>>>
>>>
>>
> 
> 

Reply via email to