This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Use SIMD variant of INSR when scalar is the result of a vector extract
ClosedPublic

Authored by bsmith on Apr 23 2021, 8:45 AM.

Details

Summary

At the intrinsic layer the sve.insr operation takes a scalar. When this
scalar is an integer we are forcing a data transition between GPRs and
ZPRs that is potentially costly.

Often the integer scalar is the result of a vector extract, when
performing a reduction for example. In such cases we should keep all
data within the ZPRs.

Co-authored-by: Paul Walker <paul.walker@arm.com>

Diff Detail

Event Timeline

bsmith created this revision.Apr 23 2021, 8:45 AM
bsmith requested review of this revision.Apr 23 2021, 8:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 23 2021, 8:45 AM
Matt added a subscriber: Matt.Apr 25 2021, 6:25 AM
peterwaller-arm accepted this revision.Apr 28 2021, 1:41 AM
This revision is now accepted and ready to land.Apr 28 2021, 1:41 AM