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

Boris Ulasevich boris.ulasevich at bell-sw.com
Fri Jul 24 10:48:16 UTC 2020


Hi,

Please review the change to C2 and AArch64 which reduces constructs
like  "(v1 & 0xFF) | ((v2 & 0xFF) << 8)" into two Bitfield Insert 
instructions.

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

The change in common code was made to enable Node::is_AndL method.
The method in the rule predicate is required to find out if we are within
the straight or reversed rule (ADLC adds rule with swapped parameters
for commutative operands).

Tested with JTREG and generated [1] tests.

thanks,
Boris

[1] http://cr.openjdk.java.net/~bulasevich/8249893/webrev.00/Gen.java


More information about the hotspot-compiler-dev mailing list