RFR(S) 8029302: Performance regression in Math.pow intrinsic

David Chase david.r.chase at oracle.com
Thu Apr 17 17:21:34 UTC 2014


As long as we are doing this as a constant-driven transform in the compiler,
it might not hurt to also consider the case of x**3.  Cubes are common enough.

David


On 2014-04-17, at 11:45 AM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:

> Niclas,
> 
> Looking on __ieee754_pow() in sharedRuntimeTrans.cpp and it has other simple cases:
> 
> x**0 = 1
> x**1 = x
> x**-1  = 1/x
> x**0.5 = sqrt(x)
> 
> It would be nice to know which are frequently used and implement them too.
> 
> Also there is check for NaN before all this cases except x**0 = 1:
> 
> /* +-NaN return x+y */
> 
> You need to test that new C2 code produces the same results for NaN values.
> 
> Thanks,
> Vladimir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20140417/52fa947c/signature.asc>


More information about the hotspot-compiler-dev mailing list