RFR: 8365205: C2: Optimize popcount value computation using knownbits

Jatin Bhateja jbhateja at openjdk.org
Thu Sep 4 05:47:25 UTC 2025


This patch optimizes PopCount value transforms using KnownBits information.
Following are the results of the micro-benchmark included with the patch

System: INTEL(R) XEON(R) PLATINUM 8581C CPU @ 2.30GHz (Emerald Rapids)


Baseline:-
Benchmark                                      Mode  Cnt       Score   Error  Units
PopCountValueTransform.LogicFoldingKerenLong  thrpt    2  151997.051          ops/s
PopCountValueTransform.LogicFoldingKerenlInt  thrpt    2  161261.825          ops/s
PopCountValueTransform.StockKernelInt         thrpt    2  194680.419          ops/s
PopCountValueTransform.StockKernelLong        thrpt    2  216580.319          ops/s

Withopt:-
Benchmark                                      Mode  Cnt       Score   Error  Units
PopCountValueTransform.LogicFoldingKerenLong  thrpt    2  216502.647          ops/s
PopCountValueTransform.LogicFoldingKerenlInt  thrpt    2  193400.575          ops/s
PopCountValueTransform.StockKernelInt         thrpt    2  195595.989          ops/s
PopCountValueTransform.StockKernelLong        thrpt    2  217776.426          ops/s 


Kindly review and share your feedback.

Best Regards,
Jatin

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

Commit messages:
 - 8365205: C2: Optimize popcount value computation using knownbits

Changes: https://git.openjdk.org/jdk/pull/27075/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27075&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8365205
  Stats: 137 lines in 3 files changed: 137 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/27075.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/27075/head:pull/27075

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


More information about the hotspot-compiler-dev mailing list