[aarch64-port-dev ] RFR: JDK-8185786: AArch64: disable some address reshapings.
Andrew Haley
aph at redhat.com
Fri Aug 4 13:33:27 UTC 2017
On 04/08/17 10:48, Zhongwei Yao wrote:
> Hi, all,
>
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8185786/
>
> Webrev:
> http://cr.openjdk.java.net/~njian/8185786/webrev.00/
>
> According to [1-2], ldrh/ldrsh scale by 2 is a bit slower than the
> non-scale version on modern Cortex-A cores.
Yes, I see. But from what I remember, without this reshape_address()
change there was some nasty code generated elsewhere. Still, I
suppose it's only for short.
Is it possible to take this logic and push it into a suitable class,
VM_Version, perhaps? GCC uses a table, indexed by the mode of the
operand. We could have
+ if (!u->is_Mem() || u->is_LoadVector() || u->is_StoreVector() || u->Opcode() == Op_StoreCM ||
+ (VM_Version::expensive_access(u->Opcode()->type()), Op_LShiftL)) {
... or something.
--
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 aarch64-port-dev
mailing list