This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Set pref. func. align to 8 bytes on Neoverse E1 & Cortex-A65
ClosedPublic

Authored by pbarrio on Aug 8 2019, 3:56 AM.

Details

Summary

The Arm Neoverse E1 and Cortex-A65 Software Optimization Guide [1][2],
Section "4.7 Branch instruction alignment" state:

"It is preferable for branch targets, including subroutine entry points,
to be placed on aligned 64-bit boundaries to maximize instruction fetch
efficiency."

This patch sets the preferred function alignment on Neoverse E1 and
Cortex-A65 to 2^3=8B. This was already the case in some Cortex-A CPUs
such as Cortex-A53.

[1] https://developer.arm.com/docs/swog466751/latest/arm-neoversetm-e1-core-software-optimization-guide
[2] https://developer.arm.com/docs/swog010045/latest/arm-cortex-a65-core-software-optimization-guide

Diff Detail

Repository
rL LLVM

Event Timeline

pbarrio created this revision.Aug 8 2019, 3:56 AM
dmgreen accepted this revision.Aug 8 2019, 6:33 AM

Nice one. Thanks!

This revision is now accepted and ready to land.Aug 8 2019, 6:33 AM
This revision was automatically updated to reflect the committed changes.