This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][GlobalISel] Use PackedVectorAllTypeList for G_SHUFFLE_VECTOR
Needs ReviewPublic

Authored by paquette on Jun 1 2021, 5:29 PM.

Details

Reviewers
aemerson
jroelofs
Summary

We were missing a few types here which would cause us to fall back on some low-hanging fruit (e.g. v4s16)

Reimplement the legal rule for G_SHUFFLE_VECTOR using existing LegalityPredicate stuff, and add a helper that checks if two type indices are the same type.

Diff Detail

Event Timeline

paquette created this revision.Jun 1 2021, 5:29 PM
paquette requested review of this revision.Jun 1 2021, 5:29 PM
Herald added a project: Restricted Project. · View Herald TranscriptJun 1 2021, 5:29 PM
aemerson added inline comments.Jun 11 2021, 4:00 PM
llvm/test/CodeGen/AArch64/GlobalISel/select-shuffle-vector.mir
45

These lines need to stay because the test needs to check the tbl values.

150

And likewise, new tests need the constant pool values.

242

This isn't using a shuffle vector.