JDK-8168318 : PPC64: Use cmpldi instead of li/cmpld
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: ppc
  • Submitted: 2016-10-19
  • Updated: 2018-10-24
  • Resolved: 2016-10-27
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 JDK 9
8u162Fixed 9 b146Fixed
Sub Tasks
JDK-8170683 :  
Description
On profiling some specific Neo4j workloads, some cases where a sequence of load (li) and compare (cmpld) can be 
replaced by a single cmpldi instructions were identified. On replacing that sequence by a single instruction it's
possible to reduce the path length so the program is shorter, and therefore is faster. 

Additionally, the 2 instruction sequence requires an additional register that with enough register pressure a
spill would be needed to accommodate that approach.

It's related to the discussion started here:
http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2016-October/024664.html

Comments
Approved.
26-10-2016

Review thread: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2016-October/024771.html
26-10-2016

FC Extension Request Justification: This is a significant ppc64-only performance improvement Risk: Low. Does not affect any of the Oracle platforms in any way Proposed Integration Date: As soon as granted Remaining work: none Webrev: http://cr.openjdk.java.net/~gromero/8168318/01/
26-10-2016