[jdk17u-dev] RFR: 8268276: Base64 Decoding optimization for x86 using AVX-512 [v2]
Scott Gibbons
duke at openjdk.org
Sat Oct 29 00:01:34 UTC 2022
On Wed, 26 Oct 2022 00:13:50 GMT, Scott Gibbons <duke at openjdk.org> wrote:
>> This is a backport of JDK-8268276: Base64 Decoding optimization for x86 using AVX-512.
>>
>> We have had numerous customer requests for this functionality to be backported due to the ~19x performance improvement.
>>
>> Original patch does not apply cleanly to 17u, because of a bug that was identified in the original commit, but not fixed until the later Base64 Encode acceleration enhancement was complete. The fix is on line 6039 of src/hotspot/cpu/x86/stubGenerator_x86_64.cpp and has been included in this PR. All four "translatedX" registers needed to be checked for illegal characters in the input stream.
>>
>> Risk: I view the risk of this backport to be minimal. This code has been in use for many months with no bugs reported.
>>
>> Testing: x86_64 build, affected tests, tier1, tier2
>>
>> Thanks,
>> --Scott
>
> Scott Gibbons has updated the pull request incrementally with one additional commit since the last revision:
>
> Update .gitignore
src/hotspot/cpu/x86/stubGenerator_x86_64.cpp line 6039:
> 6037:
> 6038: __ vpternlogd(input3, 0xfe, translated0, translated1, Assembler::AVX_512bit);
> 6039: __ vpternlogd(input0, 0xfe, translated2, translated3, Assembler::AVX_512bit);
This line (6039) was changed from
__ vpternlogd(input0, 0xfe, translated1, translated2, Assembler::AVX_512bit);
It was changed to:
__ vpternlogd(input0, 0xfe, translated2, translated3, Assembler::AVX_512bit);
-------------
PR: https://git.openjdk.org/jdk17u-dev/pull/840
More information about the jdk-updates-dev
mailing list