summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2016-02-17 19:23:04 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2016-02-17 19:23:04 +0000
commit88e76cad162cc79bd1e76deb0c17a75eb0cee767 (patch)
treeef05a619c13219586b9f13db57bf7064e40eace3 /llvm/include
parent61a7d629ecc118fb72c1e12b7319ee72c93f1c95 (diff)
downloadbcm5719-llvm-88e76cad162cc79bd1e76deb0c17a75eb0cee767.tar.gz
bcm5719-llvm-88e76cad162cc79bd1e76deb0c17a75eb0cee767.zip
Create masked gather and scatter intrinsics in Loop Vectorizer.
Loop vectorizer now knows to vectorize GEP and create masked gather and scatter intrinsics for random memory access. The feature is enabled on AVX-512 target. Differential Revision: http://reviews.llvm.org/D15690 llvm-svn: 261140
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/IR/IRBuilder.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/include/llvm/IR/IRBuilder.h b/llvm/include/llvm/IR/IRBuilder.h
index 1b75c60631b..4d8622fede9 100644
--- a/llvm/include/llvm/IR/IRBuilder.h
+++ b/llvm/include/llvm/IR/IRBuilder.h
@@ -436,6 +436,14 @@ public:
CallInst *CreateMaskedStore(Value *Val, Value *Ptr, unsigned Align,
Value *Mask);
+ /// \brief Create a call to Masked Gather intrinsic
+ CallInst *CreateMaskedGather(Value *Ptrs, unsigned Align, Value *Mask = 0,
+ Value *PassThru = 0, const Twine& Name = "");
+
+ /// \brief Create a call to Masked Scatter intrinsic
+ CallInst *CreateMaskedScatter(Value *Val, Value *Ptrs, unsigned Align,
+ Value *Mask = 0);
+
/// \brief Create an assume intrinsic call that allows the optimizer to
/// assume that the provided condition will be true.
CallInst *CreateAssumption(Value *Cond);
OpenPOWER on IntegriCloud