This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Workaround incorrect types when lowering fixed length gather/scatter
ClosedPublic

Authored by bsmith on Sep 2 2021, 4:17 AM.

Details

Summary

When lowering a fixed length gather/scatter the index type is assumed to
be the same as the memory type, this is incorrect in cases where the
extension of the index has been folded into the addressing mode.

For now add a temporary workaround to fix the codegen faults caused by
this by preventing the removal of this extension. At a later date the
lowering for SVE gather/scatters will be redesigned to improve the way
addressing modes are handled.

As a short term side effect of this change, the addressing modes
generated for fixed length gather/scatters will not be optimal.

Diff Detail

Event Timeline

bsmith created this revision.Sep 2 2021, 4:17 AM
bsmith requested review of this revision.Sep 2 2021, 4:17 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 2 2021, 4:17 AM
paulwalker-arm accepted this revision.Sep 2 2021, 5:29 AM
This revision is now accepted and ready to land.Sep 2 2021, 5:29 AM
This revision was landed with ongoing or failed builds.Sep 2 2021, 8:07 AM
This revision was automatically updated to reflect the committed changes.