[vectorIntrinsics] RFR: 8283709: Add x86 back-end implementation for bit BIT_COUNT operation [v8]
Jatin Bhateja
jbhateja at openjdk.java.net
Fri Apr 8 20:41:49 UTC 2022
> Summary of changes:
>
> - Patch re-uses existing C2 IR nodes and re-organizes LUT based JIT code sequence of VectorOperations.BIT_COUNT operation
> for sub-word type (BYTE, SHORT) vectors over X86 targets supporting AVA2 and AVX512 features.
> - Efficient single instruction POPCOUNT instruction is emitted for applicable targets.
>
> Kindly review and share you feedback.
>
> Best Regards,
> Jatin
Jatin Bhateja has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 10 commits:
- 8283709: Review comments resolved.
- Merge branch 'vectorIntrinsics' of http://github.com/openjdk/panama-vector into JDK-8283709
- 8283709: Integer.bitCount((int)(byte_val) & 0xFF) is folded as LoadUB, this is auto-vectorized as load from Boolean vector. Adding missing types in macroassembler to cover these cases.
- 8283709: Removed redundant downcasting operation needed only for auto-vectorized generated IR.
- 8283709: Removing redundant flags operands.
- 8283709: Adding predicated vector popcount patterns for applicable targets.
- 8283709: Adding new CPU feature AVX512_BITALG to JVMCI feature set.
- 8283709: Adding type specific check in PopCountVI cost model.
- 8283709: Updating PopCountVI instruction size cost model.
- 8283709: Add x86 back-end implementation for bit BIT_COUNT operation
-------------
Changes: https://git.openjdk.java.net/panama-vector/pull/185/files
Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=185&range=07
Stats: 256 lines in 10 files changed: 161 ins; 12 del; 83 mod
Patch: https://git.openjdk.java.net/panama-vector/pull/185.diff
Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/185/head:pull/185
PR: https://git.openjdk.java.net/panama-vector/pull/185
More information about the panama-dev
mailing list