[vectorIntrinsics] RFR: 8283709: Add x86 back-end implementation for bit BIT_COUNT operation [v8]
Sandhya Viswanathan
sviswanathan at openjdk.java.net
Fri Apr 8 23:51:09 UTC 2022
On Fri, 8 Apr 2022 20:41:49 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> 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
Other than couple of comments above, rest of the patch looks good to me.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/185
More information about the panama-dev
mailing list