diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-02-07 17:38:00 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-02-07 17:38:00 +0000 |
commit | f2e3c262157cb121a67539e3a4b0287a66c3a713 (patch) | |
tree | c6ed3ffeac4eba66fabc0f4837e3bf5eb4e41108 /include/llvm/CodeGen | |
parent | 75521639735cfda147aadecacb91968d8f92e3dd (diff) | |
download | llvm-f2e3c262157cb121a67539e3a4b0287a66c3a713.tar.gz |
GlobalISel: Implement fewerElementsVector for shifts
Introduce a new function which handles instructions with multiple type
indices, but have the same number of vector elements.
Also legalize v2s16 shifts when applicable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353432 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r-- | include/llvm/CodeGen/GlobalISel/LegalizerHelper.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h b/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h index 729249ce30b..6a174d116f6 100644 --- a/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h +++ b/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h @@ -157,6 +157,12 @@ private: LegalizeResult fewerElementsVectorBasic(MachineInstr &MI, unsigned TypeIdx, LLT NarrowTy); + /// Legalize a instruction with a vector type where each operand may have a + /// different element type. All type indexes must have the same number of + /// elements. + LegalizeResult fewerElementsVectorMultiEltType(MachineInstr &MI, + unsigned TypeIdx, LLT NarrowTy); + LegalizeResult fewerElementsVectorCasts(MachineInstr &MI, unsigned TypeIdx, LLT NarrowTy); |