diff options
author | Caroline Concatto <caroline.concatto@arm.com> | 2023-10-17 14:23:15 +0000 |
---|---|---|
committer | Caroline Concatto <caroline.concatto@arm.com> | 2023-10-17 16:15:22 +0000 |
commit | 7cad5a9eb48e44a10121044d0342ccfbdd8df672 (patch) | |
tree | b248715024bc89a241c5d041e1896d2e5ccac6b6 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | be57381a4a08b0b6a89d5b5fdec0880b202e99f4 (diff) | |
download | llvm-7cad5a9eb48e44a10121044d0342ccfbdd8df672.zip llvm-7cad5a9eb48e44a10121044d0342ccfbdd8df672.tar.gz llvm-7cad5a9eb48e44a10121044d0342ccfbdd8df672.tar.bz2 |
[Clang][SVE2.1] Add svpext builtins
As described in: https://github.com/ARM-software/acle/pull/257
Reviewed By: hassnaa-arm
Differential Revision: https://reviews.llvm.org/D151081
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 6bc6d24..e82115e 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -4292,6 +4292,11 @@ public: llvm::Value *EmitSVEStructStore(const SVETypeFlags &TypeFlags, SmallVectorImpl<llvm::Value *> &Ops, unsigned IntID); + /// FormSVEBuiltinResult - Returns the struct of scalable vectors as a wider + /// vector. It extracts the scalable vector from the struct and inserts into + /// the wider vector. This avoids the error when allocating space in llvm + /// for struct of scalable vectors if a function returns struct. + llvm::Value *FormSVEBuiltinResult(llvm::Value *Call); llvm::Value *EmitAArch64SVEBuiltinExpr(unsigned BuiltinID, const CallExpr *E); llvm::Value *EmitSMELd1St1(const SVETypeFlags &TypeFlags, |