[lworld+vector] RFR: 8304310: Initial compilers and runtime handling for multifield backed vectors. [v13]

Vladimir Ivanov vlivanov at openjdk.org
Sat May 6 01:07:43 UTC 2023


On Tue, 21 Mar 2023 02:08:37 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> This is done to streamline vector IR type creation and prevent adding special handling in compiler to append a reinterpret IR post LoadVector. I wanted to prevent introducing any special handling in C2 which does not comply with Java code e.g. Float256Vector is backed by VectorPayload256MF @multifield(value = 64) byte mfield;.
>
> OK, make sense to me. Per my understanding, it currently only has `load/store/zero` vector operations for the multi-fields, right? Hence always using byte vector operations may also work well to me. But making the vector type accurate with the concrete vector class type is better for compiler.  So this change is fine to me. Thanks!

It looks fine for now. In the longer term, it's highly desirable to converge to a set of canonical classes which represent "super-long" primitives (>64 bit in size) which JVM knows about and natively support.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/833#discussion_r1186563477



More information about the valhalla-dev mailing list