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