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

Pengfei Li pli at openjdk.org
Tue Jul 4 01:34:23 UTC 2023


On Mon, 26 Jun 2023 06:45:19 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Pengfei Li has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Address part of comments from Emanuel
>
> src/hotspot/share/opto/vmaskloop.cpp line 424:
> 
>> 422:         int vopc = 0;
>> 423:         if (node->is_Mem()) {
>> 424:           vopc = node->is_Store() ? Op_StoreVectorMasked : Op_LoadVectorMasked;
> 
> Mabye just for good measure: add an assert that it can only be a Load or a Store.

Done in commit 2

> src/hotspot/share/opto/vmaskloop.cpp line 429:
> 
>> 427:         }
>> 428:         if (vopc == 0 ||
>> 429:             !Matcher::match_rule_supported_vector_masked(vopc, vlen, bt)) {
> 
> Do all nodes need to be maskable? Or is it enough if only load/store are maskable?

Only load, store and reduction operations need to be masked. We previously supported reductions but that's excluded from this patch - only load and store now. I've updated the code in commit 2.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1251380343
PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1251380835


More information about the hotspot-compiler-dev mailing list