RFR: 8308994: C2: Re-implement experimental post loop vectorization [v2]

Pengfei Li pli at openjdk.org
Mon Jul 3 09:23:12 UTC 2023


On Fri, 23 Jun 2023 14:54:27 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> src/hotspot/share/opto/vmaskloop.cpp line 317:
>> 
>>> 315: 
>>> 316: // Find element basic type for each vectorization candidate node
>>> 317: bool VectorMaskedLoop::find_vector_element_types() {
>> 
>> This is very similar to `SuperWord::compute_vector_element_type`. It would be nice to extract it from both and have some shared utility, right?
>
> Or is there a clear reason why the two are too different?

We need more investigation and discussions about this. Will discuss with you later.

>> src/hotspot/share/opto/vmaskloop.cpp line 337:
>> 
>>> 335:           // For load node, check if it has the same vector element size with
>>> 336:           // the bottom type of the statement
>>> 337:           if (!same_element_size(mem_type, stmt_bottom_type)) {
>> 
>> Can this limitation be removed in the future?
>
> Write:
> Vector element size does not match of the store in the statement.

Yes, we have tried supporting type conversions (between different type sizes) but current solution is not mature and not included in this patch. So this limitation is added here.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1250546161
PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1250545053


More information about the hotspot-compiler-dev mailing list