RFR 8249189: AARCH64: more L2I conversions can be skipped (ubfiz)
Andrew Haley
aph at redhat.com
Fri Jul 24 08:15:23 UTC 2020
On 22/07/2020 14:36, Boris Ulasevich wrote:
> Please review the update for aarch64 AD template file to generate more
> bitfield extraction rules where I2L and L2I conversions can be skipped.
>
> http://cr.openjdk.java.net/~bulasevich/8249189/webrev.02
> http://bugs.openjdk.java.net/browse/JDK-8249189
>
> Tested with JTREG and manual [1] tests.
4056 operand immL_positive_bitmaskI()
4057 %{
4058 predicate((n->get_long() != 0)
4059 && ((n->get_long() & 0xffffffff80000000L) == 0)
4060 && is_power_of_2(n->get_long() + 1));
4061 match(ConL);
4062
4063 op_cost(0);
4064 format %{ %}
4065 interface(CONST_INTER);
4066 %}
Isn't this a difficult-to-understand way of saying
4058 predicate((n->get_long() != 0)
4059 && ((julong)n->get_long() < 0x80000000LL)
4060 && is_power_of_2(n->get_long() + 1));
Note the "LL" here: we have to work with LLP64 systems.
Otherwise OK.
--
Andrew Haley (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-compiler-dev
mailing list