diff options
author | Florian Hahn <flo@fhahn.com> | 2022-09-16 12:42:49 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2022-09-16 12:42:49 +0100 |
commit | 8491d01cc385d08b8b4f5dd097239ea0009ddc63 (patch) | |
tree | 9d50415706a92700e9a81b2ce5d5130426118e8d /llvm/lib/CodeGen/CodeGenPrepare.cpp | |
parent | c7c0ce7d9ebdc0a49313bc77e14d1e856794f2e0 (diff) | |
download | llvm-8491d01cc385d08b8b4f5dd097239ea0009ddc63.zip llvm-8491d01cc385d08b8b4f5dd097239ea0009ddc63.tar.gz llvm-8491d01cc385d08b8b4f5dd097239ea0009ddc63.tar.bz2 |
[AArch64] Lower vector trunc using tbl.
Similar to using tbl to lower vector ZExts, tbl4 can be used to lower
vector truncates.
The initial version support i32->i8 conversions.
Depends on D120571
Reviewed By: t.p.northover
Differential Revision: https://reviews.llvm.org/D133495
Diffstat (limited to 'llvm/lib/CodeGen/CodeGenPrepare.cpp')
-rw-r--r-- | llvm/lib/CodeGen/CodeGenPrepare.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/CodeGenPrepare.cpp b/llvm/lib/CodeGen/CodeGenPrepare.cpp index 45416ed..17dac33 100644 --- a/llvm/lib/CodeGen/CodeGenPrepare.cpp +++ b/llvm/lib/CodeGen/CodeGenPrepare.cpp @@ -8047,8 +8047,9 @@ bool CodeGenPrepare::optimizeInst(Instruction *I, ModifyDT &ModifiedDT) { if (OptimizeNoopCopyExpression(CI, *TLI, *DL)) return true; - if (isa<UIToFPInst>(I) && TLI->optimizeExtendOrTruncateConversion( - I, LI->getLoopFor(I->getParent()))) + if ((isa<UIToFPInst>(I) || isa<TruncInst>(I)) && + TLI->optimizeExtendOrTruncateConversion(I, + LI->getLoopFor(I->getParent()))) return true; if (isa<ZExtInst>(I) || isa<SExtInst>(I)) { |