RFR: JDK-8308994: C2: Re-implement experimental post loop vectorization

Emanuel Peter epeter at openjdk.org
Fri Jun 23 15:05:27 UTC 2023


On Wed, 21 Jun 2023 08:24:19 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.

src/hotspot/share/opto/vmaskloop.cpp line 357:

> 355:             set_elem_bt(node, mem_type);
> 356:           } else {
> 357:             trace_msg(node, "Subword operand does not have precise type");

Not clear to me what this means.

src/hotspot/share/opto/vmaskloop.cpp line 367:

> 365:             BasicType self_type = node->bottom_type()->array_element_basic_type();
> 366:             if (!same_element_size(self_type, stmt_bottom_type)) {
> 367:               trace_msg(node, "Vector element size does not match");

does not match with what? size of store of statement?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1239931034
PR Review Comment: https://git.openjdk.org/jdk/pull/14581#discussion_r1239931583


More information about the hotspot-dev mailing list