JDK-8075324 : Costs of memory operands in aarch64.ad are inconsistent
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • CPU: arm
  • Submitted: 2015-03-17
  • Updated: 2017-08-14
  • Resolved: 2015-03-23
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 9
9 b64Fixed
Related Reports
Blocks :  
Description
The following operands have cost 0:
- indirect
- indIndexScaledI2L
- indIndexScaled
- indIndex
- indOffL
- indirectN
- indIndexScaledOffsetIN
- indIndexScaledI2LN
- indIndexScaledN
- indIndexN
- indOffIN
- indOffLN

Whereas the following operands have cost 'INSN_COST':
- indIndexScaledOffsetI
- indIndexScaledOffsetL
- indIndexScaledOffsetI2L
- indOffI
- indIndexScaledOffsetLN
- indIndexScaledOffsetI2LN

In my opinion there is no reason for 'indOffI' being more expensive than 'indOffL'.

Comments
As Andrew pointed out here [1], there is a reason for some of the operands having a higher cost. However, 'indOffI' should have cost 0. [1] http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2015-March/017421.html
18-03-2015