summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMISelLowering.h
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2019-03-06 00:10:03 +0000
committerFlorian Hahn <flo@fhahn.com>2019-03-06 00:10:03 +0000
commit13bbcb3264f7afec8b70386f5b1cba8d7e2e2aed (patch)
treec8475a2e2dc37fb0eb30841ab226366cdec163ad /llvm/lib/Target/ARM/ARMISelLowering.h
parentbaf5664f5056b13329db8410f19d9fe7aca77686 (diff)
downloadbcm5719-llvm-13bbcb3264f7afec8b70386f5b1cba8d7e2e2aed.tar.gz
bcm5719-llvm-13bbcb3264f7afec8b70386f5b1cba8d7e2e2aed.zip
[ARM] Sink zext/sext operands for add and sub to enable vsubl generation.
This uses the infrastructure added in rL353152 to sink zext and sexts to sub/add users, to enable vsubl/vaddl generation when NEON is available. See https://bugs.llvm.org/show_bug.cgi?id=40025. Reviewers: SjoerdMeijer, t.p.northover, samparker, efriedma Reviewed By: samparker Differential Revision: https://reviews.llvm.org/D58063 llvm-svn: 355460
Diffstat (limited to 'llvm/lib/Target/ARM/ARMISelLowering.h')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.h b/llvm/lib/Target/ARM/ARMISelLowering.h
index 992eaa53098..b80c4cb7b75 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.h
+++ b/llvm/lib/Target/ARM/ARMISelLowering.h
@@ -332,6 +332,9 @@ class VectorType;
bool isTruncateFree(Type *SrcTy, Type *DstTy) const override;
bool isTruncateFree(EVT SrcVT, EVT DstVT) const override;
bool isZExtFree(SDValue Val, EVT VT2) const override;
+ bool shouldSinkOperands(Instruction *I,
+ SmallVectorImpl<Use *> &Ops) const override;
+
bool isFNegFree(EVT VT) const override;
bool isVectorLoadExtDesirable(SDValue ExtVal) const override;
OpenPOWER on IntegriCloud