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

Emanuel Peter epeter at openjdk.org
Tue Feb 25 09:36:58 UTC 2025


On Tue, 25 Feb 2025 00:34:14 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

>> @vnkozlov I mean the issue this: once I implement aliasing-analysis runtime-checks with this multiversion approach, then we'd get regressions if we do not optimize the slow path loop. Currently, we would not vectorize (because we have to be ready for aliasing cases), but we at least unroll, and whatever else we can except vectorization. But if we do not optimize the slow path loop, then we would get performance regressions in aliasing cases because we have no unrolling for them any more. I think we need to avoid that - would you agree?
>
>> But if we do not optimize the slow path loop, then we would get performance regressions in aliasing cases because we have no unrolling for them any more. 
> 
> Okay, we are back to our previous conversation - we will wait your aliasing-analysis runtime-checks implementation and do performance runs to see if "slow" path affects performance.
> 
> Okay.
> 
> PS: "slow" path implies that it is not taking frequently and it should not affect general performance of application.

@vnkozlov @rwestrel 
- I did the `stall` -> `delay` renaming, and added some more comments in places you asked for it. Let me know if that looks better.
- Filed: [JDK-8350637](https://bugs.openjdk.org/browse/JDK-8350637): C2: verify that main_loop finds pre_loop and that multiversion loops find the multiversion_if
- I added a comment to [JDK-8324751](https://bugs.openjdk.org/browse/JDK-8324751) C2 SuperWord: Aliasing Analysis runtime check, to check performance around slow_loop.

Let me know what more I can do ;)

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

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


More information about the hotspot-dev mailing list