RFR 8249189: AARCH64: more L2I conversions can be skipped (ubfiz)
Boris Ulasevich
boris.ulasevich at bell-sw.com
Fri Jul 24 10:35:41 UTC 2020
Hi Andrew,
Thank you! Fixed inline:
(julong)n->get_long() < 0x80000000ULL
Boris
On 24.07.2020 11:15, Andrew Haley wrote:
> 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.
>
More information about the hotspot-compiler-dev
mailing list