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

Pengfei Li pli at openjdk.org
Thu Nov 16 01:19:58 UTC 2023


On Wed, 27 Sep 2023 08:36:43 GMT, Pengfei Li <pli at openjdk.org> wrote:

>> ## TL;DR
>> 
>> This patch completely re-implements C2's experimental post loop vectorization for better stability, maintainability and performance. Compared with the original implementation, this new implementation adds a standalone loop phase in C2's ideal loop phases and can vectorize more post loops. The original implementation and all code related to multi-versioned post loops are deleted in this patch. More details about this patch can be found in the document replied in this pull request.
>
> Pengfei Li has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix code style issues and add loop head dump

src/hotspot/cpu/x86/x86.ad line 9022:

> 9020: %}
> 9021: 
> 9022: instruct loop_vmask_gen_small_trip(kReg dst, rRegI from, rRegI to, rRegI tmp1, rRegL tmp2) %{

We probably need to mark rflags being killed for this. See https://github.com/openjdk/jdk/pull/16680

src/hotspot/cpu/x86/x86.ad line 9040:

> 9038: %}
> 9039: 
> 9040: instruct loop_vmask_gen(kReg dst, rRegI from, rRegI to, rRegI tmp1, rRegL tmp2) %{

ditto

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1395040161
PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1395040240


More information about the hotspot-dev mailing list