RFR 8249893: AARCH64: optimize the construction of the value from the bits of the other two

Boris Ulasevich boris.ulasevich at bell-sw.com
Sun Aug 23 18:20:28 UTC 2020


Hi,

Please review the updated change to C2 and AArch64 which introduces
a new BitfieldInsert node to replace Or+Shift+And sequence when possible.
Single BFI instruction is emitted for the new node.

With the current change all the transformation logic is moved out of
aarch64.ad file into the common C2 code.

http://bugs.openjdk.java.net/browse/JDK-8249893
http://cr.openjdk.java.net/~bulasevich/8249893/webrev.01

The change in compiler.cpp was done to implicitly ask IGVN to run
the idealization once again after the loop optimization phase.
This extra step is necessary to make the BFI transform happen
only after loop optimization.

thanks,
Boris

On 05.08.2020 12:08, Andrew Haley wrote:
> Hi,
>
> On 8/4/20 5:56 PM, Boris Ulasevich wrote:
>
>> gently reminding of this review request.
>>> http://bugs.openjdk.java.net/browse/JDK-8249893
>>> http://cr.openjdk.java.net/~bulasevich/8249893/webrev.00
> I'm leaning towards no. The code is too complicated and difficult to
> maintain for such a small gain. As I suggested to Eric Liu
> <eric.c.liu at arm.com> when discussing 8248870, we should try
> canonicalizing this stuff early in compilation then matching with
> BFM rules.
>



More information about the hotspot-compiler-dev mailing list