diff options
author | Jessica Paquette <jpaquette@apple.com> | 2020-06-02 11:13:56 -0700 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2020-06-03 15:30:30 -0700 |
commit | 969d2d1ea9466143e7099040f5f0735cc81963b1 (patch) | |
tree | da8b5ec004ad7af0e167b45f0105a7f819da6191 /llvm/unittests/Support/VirtualFileSystemTest.cpp | |
parent | cab4b3b8e3a4a2822e459e5f103e49fcab16efaf (diff) | |
download | llvm-969d2d1ea9466143e7099040f5f0735cc81963b1.zip llvm-969d2d1ea9466143e7099040f5f0735cc81963b1.tar.gz llvm-969d2d1ea9466143e7099040f5f0735cc81963b1.tar.bz2 |
[AArch64][GlobalISel] Add selection support for rev16, rev32, and rev64
This does three things:
1) Adds G_REV16, G_REV32, and G_REV64. These are equivalent to AArch64rev16,
AArch64rev32, and AArch64rev64 respectively.
2) Adds support for producing G_REV64 in the postlegalizer combiner.
We don't legalize any of the shuffles which could give us a G_REV32 or
G_REV16 yet. Since the function for detecting the rev mask is lifted from
AArch64ISelLowering, it should work for G_REV32 and G_REV16 when we get
there.
3) Adds a selection test for a good portion of the patterns imported for the rev
family. The only ones which are not tested are the ones with bitconvert.
This also does a little cleanup, and adds a struct for shuffle vector pseudo
matchdata. This lets us still use `applyShuffleVectorPseudo` rather than adding
a new function.
It should also make it a bit easier to port some of the other masks from
AArch64ISelLowering. (e.g. `isZIP_v_undef_Mask` and friends)
Differential Revision: https://reviews.llvm.org/D81112
Diffstat (limited to 'llvm/unittests/Support/VirtualFileSystemTest.cpp')
0 files changed, 0 insertions, 0 deletions