This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Allow copying of SVE registers in Streaming SVE
ClosedPublic

Authored by c-rhodes on Jan 30 2022, 4:43 AM.

Diff Detail

Event Timeline

c-rhodes created this revision.Jan 30 2022, 4:43 AM
c-rhodes requested review of this revision.Jan 30 2022, 4:43 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 30 2022, 4:43 AM
Matt added a subscriber: Matt.Jan 31 2022, 8:03 AM

Just to check, this change depends on https://reviews.llvm.org/D118561. Correct?
That is the reason your tests are failing for now.
LLVM ERROR: Don't know how to legalize this scalable vector type
I think you need to use git-clang-format.

llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll
7

I guess this is just to leave a cleaner test. Correct?

Just to check, this change depends on https://reviews.llvm.org/D118561. Correct?
That is the reason your tests are failing for now.
LLVM ERROR: Don't know how to legalize this scalable vector type

Yeah that's right, I'll add it as a parent revision.

I think you need to use git-clang-format.

I'll run it before committing if accepted.

llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll
7

I guess this is just to leave a cleaner test. Correct?

Yeah I don't think local_unnamed_addr is needed for these tests.

sdesmalen added inline comments.Feb 1 2022, 9:00 AM
llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
3465–3466

Can you add similar asserts for the ZPR[2,3,4]RegClass copies?

c-rhodes updated this revision to Diff 405169.Feb 2 2022, 1:23 AM
  • Run clang-format.
  • Add asserts for multi-vector register classes.
c-rhodes marked an inline comment as done.Feb 2 2022, 1:24 AM
sdesmalen accepted this revision.Mar 3 2022, 12:36 AM

Thanks for the update, LGTM!

This revision is now accepted and ready to land.Mar 3 2022, 12:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 3 2022, 12:36 AM
This revision was landed with ongoing or failed builds.Mar 3 2022, 1:51 AM
This revision was automatically updated to reflect the committed changes.