8226721: Missing intrinsics for Math.ceil, floor, rint
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Tue Sep 24 22:08:02 UTC 2019
> Webrev: http://cr.openjdk.java.net/~jbhateja/8226721/webrev.07/
Overall, looks good.
I'd like to ensure that the tests cover important corner cases. For
example, Math.ceil() has the following:
http://hg.openjdk.java.net/jdk/jdk/file/c3b93d6603f5/src/java.base/share/classes/java/lang/Math.java#l425
If the argument value is less than zero but greater than -1.0, then the
result is negative zero.
(There are other corner cases there.)
Considering you add C2-specific implementation, it's important to keep
it in agreement with fallback implementation (StrictMath.*) for both
scalar and vectorized cases.
Also, speaking about testing, does it make sense to add a configuration
with auto-vectorization completely turned off (to check scalar case)?
test/hotspot/jtreg/compiler/c2/cr6340864/Test*Vect.java
test/hotspot/jtreg/compiler/c2//cr7192963/Test*Vect.java
Small nit:
src/hotspot/share/opto/convertnode.cpp
+const Type* RoundDoubleModeNode::Value(PhaseGVN* phase) const {
+ return Type::DOUBLE;
+}
It's redundant since RoundDoubleModeNode::bottom_type() is already
Type::DOUBLE.
+class RoundDoubleModeNode: public Node {
...
+ virtual const Type *bottom_type() const { return Type::DOUBLE; }
Best regards,
Vladimir Ivanov
>
> Nils has reviewed it and taken through a round of testing.
>
> Best Regards,
> Sandhya
>
> -----Original Message-----
> From: hotspot-compiler-dev <hotspot-compiler-dev-bounces at openjdk.java.net> On Behalf Of Nils Eliasson
> Sent: Thursday, September 19, 2019 7:13 AM
> To: hotspot-compiler-dev at openjdk.java.net
> Subject: Re: 8226721: Missing intrinsics for Math.ceil, floor, rint
>
> Hi Jatin,
>
> You patch looks good! Reviewed.
>
> We need a second review before I can push this.
>
> // Nils
>
>
> On 2019-09-19 11:02, Nils Eliasson wrote:
>> Yes, I will sponsor it as soon as I have reviewed it.
>>
>> // Nils
>>
>> On 2019-09-18 17:49, Bhateja, Jatin wrote:
>>> Hi Nils,
>>>
>>> Thanks a lot for testing the patch.
>>> I have uploaded the re-based patch at following link.
>>>
>>> http://cr.openjdk.java.net/~jbhateja/8226721/webrev.07/
>>>
>>> It will be helpful if you can sponsor this patch.
>>>
>>> Best Regards,
>>> Jatin
>>>
>>>> -----Original Message-----
>>>> From: hotspot-compiler-dev <hotspot-compiler-dev-
>>>> bounces at openjdk.java.net> On Behalf Of Nils Eliasson
>>>> Sent: Thursday, September 12, 2019 5:07 PM
>>>> To: hotspot-compiler-dev at openjdk.java.net
>>>> Subject: Re: 8226721: Missing intrinsics for Math.ceil, floor, rint
>>>>
>>>> Testing passed.
>>>>
>>>> // Nils
>>>>
>>>> On 2019-09-11 21:59, Nils Eliasson wrote:
>>>>> Hi Jatin,
>>>>>
>>>>> Sorry for the delay. I have started testing now.
>>>>>
>>>>> Best regards,
>>>>>
>>>>> Nils
>>>>>
>>>>> On 2019-09-09 18:45, Bhateja, Jatin wrote:
>>>>>> Hi Nils,
>>>>>>
>>>>>> I have taken care of other C2 specific review comments over this
>>>>>> patch, following is the link to updated patch.
>>>>>> http://cr.openjdk.java.net/~jbhateja/8226721/webrev.06/webrev/
>>>>>>
>>>>>> It will be helpful if you can run these though your tests.
>>>>>>
>>>>>> Best Regards,
>>>>>> Jatin
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: hotspot-compiler-dev <hotspot-compiler-dev-
>>>>>>> bounces at openjdk.java.net> On Behalf Of Bhateja, Jatin
>>>>>>> Sent: Wednesday, September 4, 2019 7:17 AM
>>>>>>> To: Nils Eliasson <nils.eliasson at oracle.com>; hotspot-compiler-
>>>>>>> dev at openjdk.java.net
>>>>>>> Subject: Re: 8226721: Missing intrinsics for Math.ceil, floor,
>>>>>>> rint
>>>>>>>
>>>>>>> Hi Nils,
>>>>>>>
>>>>>>> I will convert new vector patterns added by this patch to generic
>>>>>>> operands patterns once this lands into mainline, will update the
>>>>>>> other patch.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Jatin
>>>>>>>
>>>>>>>
>>>>>>> -------- Original message --------
>>>>>>> From: Nils Eliasson <nils.eliasson at oracle.com>
>>>>>>> Date: 04/09/2019 00:55 (GMT+05:30)
>>>>>>> To: hotspot-compiler-dev at openjdk.java.net
>>>>>>> Subject: Re: 8226721: Missing intrinsics for Math.ceil, floor,
>>>>>>> rint
>>>>>>>
>>>>>>> Hi Jatin,
>>>>>>>
>>>>>>> Thanks for adding these.
>>>>>>>
>>>>>>> Does this patch conflict with your patch that adds generic vector
>>>>>>> operands?
>>>>>>> Do you have any preferred order?
>>>>>>>
>>>>>>> I can take them for a spin through our testing.
>>>>>>>
>>>>>>> Best regards,
>>>>>>>
>>>>>>> Nils
>>>>>>>
>>>>>>>
>>>>>>> On 2019-09-03 11:41, Bhateja, Jatin wrote:
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> Please find a patch with the following changes:-
>>>>>>>> 1) Intrincifiation for Math.ceil/floor/rint.
>>>>>>>> 2) Auto-vectorizer handling.
>>>>>>>>
>>>>>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8226721
>>>>>>>> Webrev: http://cr.openjdk.java.net/~jbhateja/8226721/webrev.05
>>>>>>>>
>>>>>>>> Kindly review it.
>>>>>>>>
>>>>>>>> Best Regards,
>>>>>>>> Jatin
More information about the hotspot-compiler-dev
mailing list