RFR: 8278868: Add x86 vectorization support for Long.bitCount() [v7]
Vamsi Parasa
duke at openjdk.java.net
Thu Jan 6 19:57:01 UTC 2022
> Vectorization support of Integer.bitCount() already exists but currently the same support is lacking for Long.bitCount(). Similar to the C2 PopCountVI node, we created a C2 PopCountVL node and used vpopcntq x86 instruction to enable vectorized Long.bitCount(). This patch shows 2.57x improvement in performance on a JMH micro benchmark due to x86 vectorization.
Vamsi Parasa has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
- Merge branch 'master' of https://git.openjdk.java.net/jdk into vlong
- Update IR framework test to check for non-zero count of PopCountVL
- Update year in copyright notice. Add avx512dq check for vectorization test
- Update popcount long test to use IR framework
- Use generic vector node names
- Add JMH micro benchmark to measure performance
- 8278868:Add x86 vectorization support for Long.bitCount()
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/6857/files
- new: https://git.openjdk.java.net/jdk/pull/6857/files/8cd298b6..d8b3cedd
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=6857&range=06
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=6857&range=05-06
Stats: 12922 lines in 484 files changed: 9523 ins; 1562 del; 1837 mod
Patch: https://git.openjdk.java.net/jdk/pull/6857.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/6857/head:pull/6857
PR: https://git.openjdk.java.net/jdk/pull/6857
More information about the hotspot-dev
mailing list