RFR[M]: Adding MD5 Intrinsic on x86-64

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Aug 5 01:33:09 UTC 2020


Hi Ludovic,

Tests are mostly clean so far except:

new 3 MD5 tests failed on aarch64 because UseMD5Intrinsics flag is 'true' incorrectly:

     bool UseMD5Intrinsics = true  {diagnostic} {command line}

compiler/intrinsics/sha/sanity/TestMD5MultiBlockIntrinsics.java
compiler/intrinsics/sha/sanity/TestMD5Intrinsics.java
compiler/intrinsics/sha/cli/TestUseMD5IntrinsicsOptionOnUnsupportedCPU.java

I think you need to set flag to false (to overwrite setting on command line) in vm_version_*.cpp files on all other CPUs 
until they have implementation:

http://hg.openjdk.java.net/jdk/jdk/file/5bda40c115c1/src/hotspot/cpu/ppc/vm_version_ppc.cpp#l278

Also I forgot to ask to update copyright year in files you touched.

Thanks,
Vladimir K

On 8/4/20 3:03 PM, Vladimir Kozlov wrote:
> Good.
> 
> I will run Hotspot and JDK testing and let you know results.
> 
> Regards,
> Vladimir K
> 
> On 8/4/20 1:21 PM, Ludovic Henry wrote:
>> Webrev: http://cr.openjdk.java.net/~luhenry/8250902/webrev.03
>> Testing: everything passes with hotspot:tier1 and jdk:tier1 in fastdebug on Linux-x64.
>>
>>> I would leave this investigation to Intel's Java group. They are expert in this area!
>>
>> Ok, we'll reach out to Intel on our end as well to figure out whether they have any specific guidance on that.
>>
>>> 3. Just add MD5 tests into existing SHA directory.
>>
>> Done. I've done some small renames (TestSHA -> TestDigest, SHAOptionsBase -> DigestOptionsBase), modified some of the 
>> SHA-specific code for non-SHA cases (GenericTestCaseFor*.java), and added MD5-specific tests.
>>
>>> Note, compiler/intrinsics/sha testing is done in tier2. I ran it and it passed but it does not test MD5 a lot as I 
>>> understand.
>>
>> I extended the existing tests to cover MD5 on the same level as SHA, and I made sure that all tests are still passing.
>>
>>>>
>>>>> In vm_version_x86.cpp move UseMD5Intrinsics flag setting near UseSHA flag setting.
>>>>
>>>> Fixed.
>>>
>>> It is not moved in webrev.02
>>
>> Fixed.
>>
>>> You don't need to use Oracle copyright line. Using original Microsoft's copyright line is fine since you are author.
>>
>> Fixed.
>>


More information about the hotspot-compiler-dev mailing list