JDK-8310886 : C2 SuperWord: Two nodes should be isomorphic if they are loop invariant but pinned at different nodes outside the loop
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 22
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-06-26
  • Updated: 2023-11-13
  • Resolved: 2023-11-09
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.
JDK 22
22 masterFixed
Related Reports
Blocks :  
Relates :  
Description
The following code seems to be too restrictive if some non-CFG nodes could be vectorized but are pinned outside the loop at different CFG nodes:

https://github.com/openjdk/jdk/blob/a420ff48da7d8861a874ea6f7278249c20113215/src/hotspot/share/opto/superword.cpp#L1364-L1397

This was found while working on JDK-8288981 where some non-CFG nodes are at different Hoisted Predicate nodes compared to mainline (all at same node).
Comments
Changeset: dd9eab15 Author: Christian Hagedorn <chagedorn@openjdk.org> Date: 2023-11-09 09:31:54 +0000 URL: https://git.openjdk.org/jdk/commit/dd9eab15c832c20e65681c21c5f91df11f4cddf9
09-11-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/15842 Date: 2023-09-20 13:10:27 +0000
20-09-2023