[Webkit-unassigned] [Bug 136569] New: offlineasm generates suboptimal code for load/store on ARM64
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Sep 5 03:16:08 PDT 2014
https://bugs.webkit.org/show_bug.cgi?id=136569
Summary: offlineasm generates suboptimal code for load/store on
ARM64
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: JavaScriptCore
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: akiss at inf.u-szeged.hu
For every load/store instruction, where the address is in the form of base + offset, and the offset is out of range -255..4095, the ARM64 backend applies the standard risc lowering. That is, as the documentation of riscLowerMalformedAddresses describes:
loadp 10000[foo], bar
will become
move 10000, tmp
addp foo, tmp
loadp 0[tmp], bar
Which, in ARM64, means that, e.g.,
storep cfr, VM::topVMEntryFrame[vm]
becomes
movz x17, #45424, lsl #0
add x17, x17, x1
str x29, [x17, #0]
However, ARM64 can do better:
movz x17, #45424, lsl #0
str x29, [x1, x17, lsl #0]
This would achieve the same result with less instructions.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list