summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetTransformInfo.h
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2015-10-25 15:37:55 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2015-10-25 15:37:55 +0000
commit092858588a1c7f5019756e3cc75539396088b348 (patch)
treef9c57213eb27b41bcc3fd6eac6a64cc529019f8c /llvm/lib/Target/X86/X86TargetTransformInfo.h
parentbe187a0a1a7754f4e07547ce969c27fcc973f2ce (diff)
downloadbcm5719-llvm-092858588a1c7f5019756e3cc75539396088b348.tar.gz
bcm5719-llvm-092858588a1c7f5019756e3cc75539396088b348.zip
Scalarizer for masked.gather and masked.scatter intrinsics.
When the target does not support these intrinsics they should be converted to a chain of scalar load or store operations. If the mask is not constant, the scalarizer will build a chain of conditional basic blocks. I added isLegalMaskedGather() isLegalMaskedScatter() APIs. Differential Revision: http://reviews.llvm.org/D13722 llvm-svn: 251237
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetTransformInfo.h')
-rw-r--r--llvm/lib/Target/X86/X86TargetTransformInfo.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.h b/llvm/lib/Target/X86/X86TargetTransformInfo.h
index 5ddde2a45a5..e337475ed41 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.h
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.h
@@ -90,6 +90,8 @@ public:
Type *Ty);
bool isLegalMaskedLoad(Type *DataType);
bool isLegalMaskedStore(Type *DataType);
+ bool isLegalMaskedGather(Type *DataType);
+ bool isLegalMaskedScatter(Type *DataType);
bool areInlineCompatible(const Function *Caller,
const Function *Callee) const;
OpenPOWER on IntegriCloud