[aarch64-port-dev ] RFR(S): 8204353 - AARCH64: optimize FPU load and stores in macroAssembler
Andrew Haley
aph at redhat.com
Wed Jun 6 11:41:20 UTC 2018
On 06/06/2018 12:16 PM, Dmitrij Pochepko wrote:
> You're probably referring to confusing addressing notation here. I was
> confused originally as well.
>
> According to AARCH64 specification, ld* and st* instructions has 3
> addressing modes:
> 1) base register, no offset
> 2) post-index, immediate value
> 3) post-index, register value
> (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0802b/LD1_advsimd_sngl_vector.html)
>
> Address class was designed with post-index to be an immediate values,
> so, that is probably why "register post-index" mode for ld/st is using
> regular "register offset" mode, treating it as "register post-index".
>
> My patch is using this "register post-index" mode to have less
> instructions generated. I was a bit confused when first tried to use
> this mode and found such specifics. I had to recheck specific
> instruction generation code to be sure.
Oh no, that is too horrible. We must fix that before using this
addressing mode for anything else.
--
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671
More information about the hotspot-compiler-dev
mailing list