JDK-8365985 : C2 SuperWord: TestAliasingFuzzer.java IR rule checks for no multiversioning and check for load/store vectors
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 26
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2025-08-22
  • Updated: 2025-08-22
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Blocks :  
Blocks :  
Blocks :  
Blocks :  
Description
In JDK-8324751, we are integrating the TestAliasingFuzzer.java

1) check for no multiversioning
-------------------------------------------

I also had to fix the TestAliasingFuzzer.java: I can no longer assert that there is no multiversioning because there are some edge-cases where we have issues. I filed bugs for those, and already integrated an IR test for each.

https://bugs.openjdk.org/browse/JDK-8360204
https://bugs.openjdk.org/browse/JDK-8365982

There may be more such issues.

Asserting that there is no multiversioning in the IR rules makes sure that we made the runtime check as exact as possible, and do not fail in cases where it would have been safe to keep the predicate, rather than deoptimizing and compiling with multiversioning (more compile time, more code -> just worse).

2) check for load/store vectors
-------------------------------------------

JDK-8359688

Additionally, you may be able to add IR rules checking for load/store vectors in:
- generateIRRulesMemorySegmentAtIndex
- generateIRRulesMemorySegmentLongAdrScale
- generateIRRulesMemorySegmentLongAdrStride