RFR: 8283894: Intrinsify compress and expand bits on x86
Sandhya Viswanathan
sviswanathan at openjdk.java.net
Wed May 4 22:27:18 UTC 2022
On Mon, 2 May 2022 08:19:53 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
> Summary of changes:
>
> - Patch intrinsifies following newly added Java SE APIs
> - Integer.compress
> - Integer.expand
> - Long.compress
> - Long.expand
>
> - Adds C2 IR nodes and corresponding ideal transformations for new operations.
> - We see around ~10x performance speedup due to intrinsification over X86 target.
> - Adds an IR framework based test to validate newly introduced IR transformations.
>
> Kindly review and share your feedback.
>
> Best Regards,
> Jatin
src/hotspot/cpu/x86/x86.ad line 6191:
> 6189: %}
> 6190:
> 6191: instruct compressBitsL_reg(rRegL dst, rRegL src, rRegL mask) %{
All the compress/expand rules could be moved to x86_64.ad.
src/hotspot/share/opto/intrinsicnode.cpp line 160:
> 158:
> 159: Node* compress_expand_identity(PhaseGVN* phase, Node* n) {
> 160: BasicType bt = n->bottom_type()->array_element_basic_type();
Why use of array_element_basic_type() here? These are not arrays.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8498
More information about the hotspot-compiler-dev
mailing list