cpu: aarch64: remove branch target alignment #4517
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Remove branch target alignment from brgemm functions, reducing code size by ~10% and improving performance on Graviton 3/4 by ~0.5% (this required many repeated measurements to be confident of results). Branch alignment can affect performance, but it does not need to be the default, and it should be machine and kernel specific and evidence based.
As another point of reference, arm_gemm in ComputeLibrary only uses nops in a single kernel
a64_sgemm_asimd_8x12_a53, written for a core which we do not specifically target (and only then sparingly).Checklist
General
make testandmake test_benchdnn_*) pass locally for each commit?Performance improvements