[lworld+vector] RFR: 8311675: [lworld+vector] Max Species support. [v4]

Xiaohong Gong xgong at openjdk.org
Tue Oct 17 01:32:48 UTC 2023


On Mon, 16 Oct 2023 18:25:00 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> - Patch adds MaxSpecies support for all types of vectors.
>> - New factory methods and VectorPayload classes for various kinds of vector, shuffle and mask payloads.
>> - Disable CDS archiving of VectorPayload classes.
>> - Summary of high level flow :-
>>   1/ Max species payloads encapsulate @multifield annotated field accepting -1 value as bundle size parameter.
>>   2/ For Vector payload bundle size is determined using maximum vector size supported by the target. 
>>   3/ For Shuffles and Masks payloads multifield bundle size is a function of maximum vector size and vector lane size.
>>   4/ Based on the dynamic bundle size parser creates a separate FieldInfo structure for each base and synthetic multifield and rest of the flow remains the same. 
>> 
>> Kindly review and share your feedback.
>> 
>> Best Regards,
>> Jatin
>
> Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Review comments resolutions.

src/hotspot/cpu/x86/vm_version_x86.cpp line 3232:

> 3230:     size = (VM_Version::supports_avx512bw()) ? 64 : 32;
> 3231:   // Use flag to limit vector size.
> 3232:   size = MIN2(size,(int)MaxVectorSize);

Since `MaxVectorSize` is a C2 specific version, what the behavior if c2 is disabled? Do you think we need consider `#if COMPILER2` here?

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/931#discussion_r1361410557



More information about the valhalla-dev mailing list