RFR: 8343419: Assertion failure in long vector unsigned min/max with -XX:+UseKNLSetting
Sandhya Viswanathan
sviswanathan at openjdk.org
Sat Nov 2 00:10:27 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
Looks good to me.
-------------
Marked as reviewed by sviswanathan (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/21821#pullrequestreview-2411015230
More information about the hotspot-compiler-dev
mailing list