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

Tobias Hartmann thartmann at openjdk.org
Thu Oct 19 14:09:35 UTC 2023


On Thu, 19 Oct 2023 12:54:47 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.

Looks good to me.

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

Marked as reviewed by thartmann (Reviewer).

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


More information about the hotspot-compiler-dev mailing list