This is an archive of the discontinued LLVM Phabricator instance.

[SVE] Move isel for casting between NEON and SVE vector types into tablegen.
ClosedPublic

Authored by paulwalker-arm on Jan 24 2023, 4:24 PM.

Details

Summary

This is purely refactoring to remove some unecessary C++ code.

Diff Detail

Event Timeline

paulwalker-arm created this revision.Jan 24 2023, 4:24 PM
Herald added a project: Restricted Project. · View Herald Transcript
paulwalker-arm requested review of this revision.Jan 24 2023, 4:24 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 24 2023, 4:24 PM
paulwalker-arm added inline comments.Jan 24 2023, 4:36 PM
llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
4169–4170

To aid reviewing please note the diff has been made worse because the new functions are in the opposite order when compared to the original code, because I've maintained alphabetical ordering. The mapping is:
extractSubReg -> trySelectCastScalableToFixedLengthVector
insertSubReg -> trySelectCastFixedLengthToScalableVector

c-rhodes accepted this revision.Jan 25 2023, 1:00 AM

Couple of minor nits but otherwise LGTM

llvm/lib/Target/AArch64/SVEInstrFormats.td
14

nit: matches

40

nit: true

This revision is now accepted and ready to land.Jan 25 2023, 1:00 AM
Matt added a subscriber: Matt.Jan 25 2023, 8:51 AM

Thanks @c-rhodes. I'll fix the nits before landing the patch.