[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