JEP draft: Improve performance of trigonometric and power functions on AArch64

OwnerDmitrij Pochepko
Created2017/10/10 12:40
Updated2017/10/12 18:04
TypeFeature
StatusSubmitted
Componenthotspot / compiler
ScopeImplementation
Discussionhotspot dash compiler dash dev at openjdk dot java dot net
EffortL
DurationL
Priority3
Reviewed byVladimir Kozlov
Endorsed byVladimir Kozlov
Release11
Issue8189104

Summary

Implement instrinsics for java.lang.Math trigonometric and power functions for OpenJDK AArch64 port.

Non-Goals

Motivation

Specialized CPU architecture-specific code patterns improve the performance of user applications and benchmarks.

Description

Intrinsics are designed to create CPU architecture-specific machine code which gets executed instead of generic Java code for a given method to improve performance. While most of the intrinsics are already implemented in AArch64 OpenJDK port, optimized intrinsics for the following java.lang.Math methods are still missing:

This JEP is intended to cover this gap by implementing optimized instrinsics for these methods. Also, java.lang.Math.exp() method intrinsic for AArch64 OpenJDK port doesn't use SIMD instructions available on AArch64 and may benefit from a SIMD implementation.

Testing

Risks and Assumptions