summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-01-07 17:54:10 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-01-07 17:54:10 +0000
commita4109d643388b0cd5350a717f4fe35d0ed157ad5 (patch)
tree74a73899b7651a43fe6dd19bfe2277f55395f884 /llvm/lib/Target
parentdf7de7a87e9e33d561f1b6fadf029ab7e7cacf20 (diff)
downloadbcm5719-llvm-a4109d643388b0cd5350a717f4fe35d0ed157ad5.tar.gz
bcm5719-llvm-a4109d643388b0cd5350a717f4fe35d0ed157ad5.zip
[CostModel][AVX512BW] Add v32i16 vector shift costs for avx512bw targets.
llvm-svn: 291354
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86TargetTransformInfo.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
index a22677174b7..d8813554705 100644
--- a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
+++ b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp
@@ -219,6 +219,10 @@ int X86TTIImpl::getArithmeticInstrCost(
return LT.first * Entry->Cost;
static const CostTblEntry AVX512BWCostTable[] = {
+ { ISD::SHL, MVT::v32i16, 1 }, // vpsllvw
+ { ISD::SRL, MVT::v32i16, 1 }, // vpsrlvw
+ { ISD::SRA, MVT::v32i16, 1 }, // vpsravw
+
{ ISD::MUL, MVT::v64i8, 11 }, // extend/pmullw/trunc sequence.
{ ISD::MUL, MVT::v32i8, 4 }, // extend/pmullw/trunc sequence.
{ ISD::MUL, MVT::v16i8, 4 }, // extend/pmullw/trunc sequence.
OpenPOWER on IntegriCloud