RFR: 8256245: AArch64: Implement Base64 decoding intrinsic [v3]

Andrew Haley aph at openjdk.java.net
Tue Apr 6 14:07:28 UTC 2021


On Fri, 2 Apr 2021 10:01:27 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> Dong Bo has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:
>> 
>>  - Merge branch 'master' into aarch64.base64.decode
>>  - copyright
>>  - trivial fixes
>>  - Handling error in SIMD case with loops, combining two non-SIMD cases into one code blob, addressing other comments
>>  - Merge branch 'master' into aarch64.base64.decode
>>  - 8256245: AArch64: Implement Base64 decoding intrinsic
>
> src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 5802:
> 
>> 5800:     // The 1st character of the input can be illegal if the data is MIME encoded.
>> 5801:     // We cannot benefits from SIMD for this case. The max line size of MIME
>> 5802:     // encoding is 76, with the PreProcess80B blob, we actually use no-simd
> 
> "cannot benefit"

OK, so I now understand what is actually going on here, and it has nothing to do with illegal first characters.
The problem is that the maximum block length the decode will be supplied with is 76 bytes, and there isn't enough time for the SIMD to be worthwhile. So the comment should be "In the MIME case, the line length cannot be more than 76 bytes (see RFC 2045.) This is too short a block for SIMD to be worthwhile, so we use non-SIMD here."

-------------

PR: https://git.openjdk.java.net/jdk/pull/3228


More information about the hotspot-compiler-dev mailing list