RFR: 8370794: C2 SuperWord: Long/Integer.compareUnsigned return wrong value for EQ/NE in SLP

Hamlin Li mli at openjdk.org
Wed Oct 29 17:37:23 UTC 2025


Hi,
Can you help to review this patch?

[JDK-8370481](https://bugs.openjdk.org/browse/JDK-8370481) introduces this regression for unsigned I/L EQ/NE in SLP.

====================

In [JDK-8370481](https://bugs.openjdk.org/browse/JDK-8370481), we fixed an issue related to transformation from (Bool + CmpU + CMove) to (VectorMaskCmp + VectorBlend), and added tests for unsigned ones.
As discussion in [1], we should also add more tests for transformation from (Bool + Cmp + CMove) to (VectorMaskCmp + VectorBlend) for the signed ones.

[1] https://github.com/openjdk/jdk/pull/27942#discussion_r2468750039

Thanks!

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

Commit messages:
 - fix regression for unsigned EQ/NE
 - initial commit
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - Merge branch 'openjdk:master' into master
 - ... and 7 more: https://git.openjdk.org/jdk/compare/eab5644a...696ae0d7

Changes: https://git.openjdk.org/jdk/pull/28047/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28047&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8370794
  Stats: 1438 lines in 3 files changed: 1337 ins; 37 del; 64 mod
  Patch: https://git.openjdk.org/jdk/pull/28047.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28047/head:pull/28047

PR: https://git.openjdk.org/jdk/pull/28047


More information about the hotspot-compiler-dev mailing list