diff options
author | Sander de Smalen <sander.desmalen@arm.com> | 2020-04-22 13:58:35 +0100 |
---|---|---|
committer | Sander de Smalen <sander.desmalen@arm.com> | 2020-04-22 14:23:54 +0100 |
commit | 41d52662d54b693c417cb0f6eb8a768672f58a8e (patch) | |
tree | 9a1e572e0583ded9ad17786b4d975c7ba4253cf2 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 1f32e7367c3def75c5b7b1792ada23bc577bc893 (diff) | |
download | llvm-41d52662d54b693c417cb0f6eb8a768672f58a8e.zip llvm-41d52662d54b693c417cb0f6eb8a768672f58a8e.tar.gz llvm-41d52662d54b693c417cb0f6eb8a768672f58a8e.tar.bz2 |
[SveEmitter] Add support for _n form builtins
The ACLE has builtins that take a scalar value that is to be expanded
into a vector by the operation. While the ISA may have an instruction
that takes an immediate or a scalar to represent this, the LLVM IR
intrinsic may not, so Clang will have to splat the scalar value.
This patch also adds the _n forms for svabd, svadd, svdiv, svdivr,
svmax, svmin, svmul, svmulh, svub and svsubr.
Reviewers: SjoerdMeijer, efriedma, rovka
Reviewed By: SjoerdMeijer
Tags: #clang
Differential Revision: https://reviews.llvm.org/D77594
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 786117a..6d9415d 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -3909,8 +3909,8 @@ public: llvm::Type *SVEBuiltinMemEltTy(SVETypeFlags TypeFlags); llvm::Type *getEltType(SVETypeFlags TypeFlags); - llvm::VectorType *getSVEType(const SVETypeFlags &TypeFlags); + llvm::Value *EmitSVEDupX(llvm::Value *Scalar); llvm::Value *EmitSVEPredicateCast(llvm::Value *Pred, llvm::VectorType *VTy); llvm::Value *EmitSVEGatherLoad(SVETypeFlags TypeFlags, llvm::SmallVectorImpl<llvm::Value *> &Ops, |