RFR: 8320448: Accelerate IndexOf using AVX2 [v6]

Scott Gibbons sgibbons at openjdk.org
Wed May 22 14:26:18 UTC 2024


On Tue, 9 Jan 2024 15:06:10 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Scott Gibbons has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 21 commits:
>> 
>>  - Merge branch 'openjdk:master' into indexof
>>  - Addressing review comments.
>>  - Fix for JDK-8321599
>>  - Support UU IndexOf
>>  - Only use optimization when EnableX86ECoreOpts is true
>>  - Fix whitespace
>>  - Merge branch 'openjdk:master' into indexof
>>  - Comments; added exhaustive-ish test
>>  - Subtracting 0x10 twice.
>>  - Stomped on r13 in switch branch calculation
>>  - ... and 11 more: https://git.openjdk.org/jdk/compare/8a4dc79e...600377b0
>
> src/hotspot/cpu/x86/stubGenerator_x86_64_string.cpp line 1608:
> 
>> 1606:     //   vector compares when size is 2 * VEC_SIZE or less. 38    8. Use 4
>> 1607:     //   vector compares when size is 4 * VEC_SIZE or less. 39    9. Use 8
>> 1608:     //   vector compares when size is 8 * VEC_SIZE or less.  */
> 
> Is this formatting intended?

Fixed

> src/hotspot/cpu/x86/stubGenerator_x86_64_string.cpp line 1672:
> 
>> 1670: 
>> 1671:     // 98              VPCMPEQ VEC_SIZE(%rdi), %ymm2, %ymm2
>> 1672:     // 99              vpmovmskb %ymm2, %eax
> 
> It seems that here the comments and code is strangely interleaved / shifted. What is this all for?

All this has been remedied

> src/hotspot/cpu/x86/stubGenerator_x86_64_string.cpp line 2301:
> 
>> 2299:     // 388             setg    %dl
>> 2300:     // 389             leal    -1(%rdx, %rdx), %eax
>> 2301:     __ movzbl(rcx, Address(rsi, rax, Address::times_1, -0x20));
> 
> Down here it is even worse

All this has been remedied

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16753#discussion_r1610074501
PR Review Comment: https://git.openjdk.org/jdk/pull/16753#discussion_r1610076284
PR Review Comment: https://git.openjdk.org/jdk/pull/16753#discussion_r1610076661


More information about the core-libs-dev mailing list