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

Xiaohong Gong xgong at openjdk.org
Tue Oct 17 00:56:50 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/aarch64/vm_version_aarch64.cpp line 663:

> 661: int VM_Version::max_vector_size(BasicType bt) {
> 662:  // The MaxVectorSize should have been set by detecting SVE max vector register size.
> 663:   int size = MIN2((UseSVE > 0) ? 256 : 16, (int)MaxVectorSize);

Style:

// The MaxVectorSize ...
int size = MIN2((UseSVE > 0) ? 256 : 16, (int)MaxVectorSize);

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

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



More information about the valhalla-dev mailing list