Integrated: 8343419: Assertion failure in long vector unsigned min/max with -XX:+UseKNLSetting

Jatin Bhateja jbhateja at openjdk.org
Sat Nov 2 01:10:47 UTC 2024


On Fri, 1 Nov 2024 12:06:27 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> KNL only supports AVX512F but not AVX512VL feature, thus vector operations with vector size less than or equal to 256 bits are generally emulated using AVX2 instructions.
> 
> This bugfix patch covers the following scenarios for LongVector unsigned min/ max over KNL targets:-
> 1.   Long species < 512 bits and non-predicated operation.
>        - Operate at full vector width of 512 bits using VPMINUQ/VPMAXUQ instructions.
> 2.  Long species < 512 bits with memory operands and non-predicated operations.
>        -  Load memory into exactly matching vector size.
>        - Operate at full vector width of 512 bits
> 3.  Long species < 512 bits and predicated operation.
>        - Emulate operation using AVX2 instructions 
>        - Blend the result with the first source vector using the predication mask.
>        - Existing opmask population mechanism expects the existence of AVX512BW/DQ features missing on KNL target.
> 4. Long species  == 512 bits,  both predicated and non-predicated operations.
>     - Directly uses 512  bits VPMINUQ/VPMAXUQ instructions.
> 
> All existing jtreg regressions are passing with -XX:+UseKNLSetting and -Xcomp flags.
> 
> Kindly review.
> 
> Best Regards,
> Jatin

This pull request has now been integrated.

Changeset: 3c7082a6
Author:    Jatin Bhateja <jbhateja at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/3c7082a633037c19066c36be2520487b0bed4e79
Stats:     37 lines in 2 files changed: 20 ins; 6 del; 11 mod

8343419: Assertion failure in long vector unsigned min/max with -XX:+UseKNLSetting

Reviewed-by: sviswanathan

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

PR: https://git.openjdk.org/jdk/pull/21821


More information about the hotspot-compiler-dev mailing list