aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2020-06-19 10:06:39 +0100
committerSander de Smalen <sander.desmalen@arm.com>2020-06-19 10:35:42 +0100
commitad828e3f4dbf9f2e25879f0e63f53fd09904b68c (patch)
tree1650e9f3ff9b91d49718aa2257a106b2406072c1 /clang/lib/CodeGen/CodeGenFunction.h
parent0dc28af219d3a5a0167f12d2cdecb5e6f60a5c07 (diff)
downloadllvm-ad828e3f4dbf9f2e25879f0e63f53fd09904b68c.zip
llvm-ad828e3f4dbf9f2e25879f0e63f53fd09904b68c.tar.gz
llvm-ad828e3f4dbf9f2e25879f0e63f53fd09904b68c.tar.bz2
[SveEmitter] Add builtins for struct loads/stores (ld2/ld3/etc)
The struct store intrinsics in LLVM IR take the individual parts as arguments, so this patch uses the intrinsics used for `svget` to break the tuples into individual parts. Reviewers: c-rhodes, efriedma, ctetreau, david-arm Reviewed By: efriedma Tags: #clang Differential Revision: https://reviews.llvm.org/D81466
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 4296253..d52fb52 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -3990,6 +3990,11 @@ public:
llvm::Value *EmitSVEGatherPrefetch(SVETypeFlags TypeFlags,
SmallVectorImpl<llvm::Value *> &Ops,
unsigned IntID);
+ llvm::Value *EmitSVEStructLoad(SVETypeFlags TypeFlags,
+ SmallVectorImpl<llvm::Value *> &Ops, unsigned IntID);
+ llvm::Value *EmitSVEStructStore(SVETypeFlags TypeFlags,
+ SmallVectorImpl<llvm::Value *> &Ops,
+ unsigned IntID);
llvm::Value *EmitAArch64SVEBuiltinExpr(unsigned BuiltinID, const CallExpr *E);
llvm::Value *EmitAArch64BuiltinExpr(unsigned BuiltinID, const CallExpr *E,