]> granicus.if.org Git - llvm/commitdiff
[X86] enable memory interleaving for X86\SLM arch.
authorMohammed Agabaria <mohammed.agabaria@intel.com>
Wed, 25 Jan 2017 09:14:48 +0000 (09:14 +0000)
committerMohammed Agabaria <mohammed.agabaria@intel.com>
Wed, 25 Jan 2017 09:14:48 +0000 (09:14 +0000)
Differential Revision: https://reviews.llvm.org/D28547

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293040 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86TargetTransformInfo.cpp
test/Transforms/LoopVectorize/X86/interleaving.ll

index 073584870bb9593345f1dce66015bc900e14de1b..bd7fa9ca617ca9b59317e2c413a79f852bcc24aa 100644 (file)
@@ -2147,7 +2147,7 @@ bool X86TTIImpl::enableInterleavedAccessVectorization() {
   // TODO: We expect this to be beneficial regardless of arch,
   // but there are currently some unexplained performance artifacts on Atom.
   // As a temporary solution, disable on Atom.
-  return !(ST->isAtom() || ST->isSLM());
+  return !(ST->isAtom());
 }
 
 // Get estimation for interleaved load/store operations and strided load.
index de5db5324381fe381e65dcd222f9541b99e5a73d..9294c92b5759f6c4467b9ac2cd4ab5c629734ba2 100644 (file)
@@ -1,4 +1,5 @@
 ; RUN: opt -S -mtriple=x86_64-pc_linux -loop-vectorize -instcombine < %s | FileCheck %s --check-prefix=NORMAL
+; RUN: opt -S -mtriple=x86_64-pc_linux -loop-vectorize -instcombine -mcpu=slm < %s | FileCheck %s --check-prefix=NORMAL
 ; RUN: opt -S -mtriple=x86_64-pc_linux -loop-vectorize -instcombine -mcpu=atom < %s | FileCheck %s --check-prefix=ATOM
 
 ; NORMAL-LABEL: foo