RFR: 8318509: x86 count_positives intrinsic broken for -XX:AVX3Threshold=0 [v3]

Emanuel Peter epeter at openjdk.org
Tue Oct 24 09:58:37 UTC 2023


On Tue, 24 Oct 2023 09:36:07 GMT, Claes Redestad <redestad at openjdk.org> wrote:

>> The AVX-512 implementation of count_positives is broken when there are negative values in the tail block, since the len register is repurposed to then re-read as-if it still contained the original value. 
>> 
>> Proposed fix is to restore len from the value in tmp1, which at this point holds the count of bytes in the tail. 
>> 
>> Existing TestCountPositives test is pretty exhaustive and just needs to be run explicitly with AVX3Threshold=0 enabled.
>
> Claes Redestad has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Simplify test_hasNegatives

Looks good now, thanks for the work!

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

Marked as reviewed by epeter (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/16267#pullrequestreview-1694452166


More information about the hotspot-compiler-dev mailing list