RFR: 8323582: C2 SuperWord AlignVector: misaligned vector memory access with unaligned native memory

Emanuel Peter epeter at openjdk.org
Tue Feb 18 09:56:13 UTC 2025


On Tue, 18 Feb 2025 09:32:19 GMT, Roland Westrelin <roland at openjdk.org> wrote:

> Would it make sense to add verification code that makes sure that whenever a loop is flagged as multi version, c2 can find the multi version guard (and maybe whenever there's a multi version guard, loops that are guarded are indeed flagged correctly)?

I'd have to see if that is possible. Well:

> verification code that makes sure that whenever a loop is flagged as multi version, c2 can find the multi version guard

That is maybe possible. At least I cannot think of a reason why it should not work right now. Well, maybe what if the predicates get messed up somehow, is that possible? Then you would lose connection.

Ah: what if the pre-loop somehow gets "messed up", i.e. that it loses its loop structure. Then we could not really go from the main-loop to the pre-loop to the selector-if any more.

> whenever there's a multi version guard, loops that are guarded are indeed flagged correctly

That one is more tricky. Because what if the loop somehow gets folded away? How would we catch that?

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

PR Comment: https://git.openjdk.org/jdk/pull/22016#issuecomment-2665123097


More information about the hotspot-dev mailing list