This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Remove LD1/ST1 dependency on llvm.masked.load/store
ClosedPublic

Authored by kmclaughlin on Apr 15 2020, 6:40 AM.

Details

Summary

The SVE masked load and store intrinsics introduced in D76688 rely on
common llvm.masked.load/store nodes. This patch creates new ISD nodes
for LD1(S) & ST1 to remove this dependency.

Additionally, this adds support for sign & zero extending
loads and truncating stores.

Diff Detail

Event Timeline

kmclaughlin created this revision.Apr 15 2020, 6:40 AM
Herald added a project: Restricted Project. · View Herald Transcript
efriedma accepted this revision.Apr 15 2020, 12:30 PM

Practically, I'm not sure you're really getting much benefit out of this; there's very little common code that touches MLOAD/MSTORE nodes anyway. But, sure, LGTM.

This revision is now accepted and ready to land.Apr 15 2020, 12:30 PM
This revision was automatically updated to reflect the committed changes.
llvm/test/CodeGen/AArch64/sve-intrinsics-ld1.ll