Intrinsics for divideUnsigned/remainderUnsigned
Remi Forax
forax at univ-mlv.fr
Wed Apr 22 14:03:05 UTC 2020
And don't forget compareUnsigned !
I believe you can not have an efficient implementation of Mozilla SpiderMonkey respresentation (NaN boxing [1]) without it.
regards,
Rémi
[1] https://brionv.com/log/2018/05/17/javascript-engine-internals-nan-boxing/
----- Mail original -----
> De: "Tobias Hartmann" <tobias.hartmann at oracle.com>
> À: "joe darcy" <joe.darcy at oracle.com>, "David Lloyd" <david.lloyd at redhat.com>, "Maurizio Cimadamore"
> <maurizio.cimadamore at oracle.com>
> Cc: "hotspot compiler" <hotspot-compiler-dev at openjdk.java.net>
> Envoyé: Mardi 21 Avril 2020 14:12:23
> Objet: Re: Intrinsics for divideUnsigned/remainderUnsigned
> That's correct, these methods are currently not intrinsified by the JITs.
>
> Best regards,
> Tobias
>
> On 20.04.20 19:40, Joe Darcy wrote:
>> The divideUnsigned methods in question are not marked with the
>> @HotSpotIntrinsicCandidate annotation
>> so it doesn't look like there are currently intrinsics.
>>
>> Cheers,
>>
>> -Joe
>>
>> On 4/20/2020 8:07 AM, David Lloyd wrote:
>>> Yes, I did, sorry about that.
>>>
>>> On Mon, Apr 20, 2020 at 10:02 AM Maurizio Cimadamore
>>> <maurizio.cimadamore at oracle.com> wrote:
>>>> Hi David,
>>>> did you mean to write to hotspot compiler (CCed) ?
>>>>
>>>> Maurizio
>>>>
>>>> On 20/04/2020 15:38, David Lloyd wrote:
>>>>> Am I correct in understanding that there are no compiler intrinsics
>>>>> for Long.divideUnsigned/remainderUnsigned?
>>>>>
>>>>> The implementation seems pretty expensive for an operation that is, if
>>>>> I understand correctly, a single instruction on many CPU
>>>>> architectures. But maybe these methods are not very frequently used?
>>>>> (My clue was a comment in the source referencing an algorithm from
>>>>> Hacker's Delight that could be used - if such an algorithm exists, but
>>>>> wasn't implemented, presumably demand is low?)
More information about the hotspot-compiler-dev
mailing list