aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/CodeGenPrepare.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2022-09-16 12:42:49 +0100
committerFlorian Hahn <flo@fhahn.com>2022-09-16 12:42:49 +0100
commit8491d01cc385d08b8b4f5dd097239ea0009ddc63 (patch)
tree9d50415706a92700e9a81b2ce5d5130426118e8d /llvm/lib/CodeGen/CodeGenPrepare.cpp
parentc7c0ce7d9ebdc0a49313bc77e14d1e856794f2e0 (diff)
downloadllvm-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.cpp5
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)) {