[llvm] r293040 - [X86] enable memory interleaving for X86\SLM arch.

Mohammed Agabaria via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 25 01:14:48 PST 2017


Author: magabari
Date: Wed Jan 25 03:14:48 2017
New Revision: 293040

URL: http://llvm.org/viewvc/llvm-project?rev=293040&view=rev
Log:
[X86] enable memory interleaving for X86\SLM arch. 

Differential Revision: https://reviews.llvm.org/D28547

Modified:
    llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp
    llvm/trunk/test/Transforms/LoopVectorize/X86/interleaving.ll

Modified: llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp?rev=293040&r1=293039&r2=293040&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp (original)
+++ llvm/trunk/lib/Target/X86/X86TargetTransformInfo.cpp Wed Jan 25 03:14:48 2017
@@ -2147,7 +2147,7 @@ bool X86TTIImpl::enableInterleavedAccess
   // 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.

Modified: llvm/trunk/test/Transforms/LoopVectorize/X86/interleaving.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/LoopVectorize/X86/interleaving.ll?rev=293040&r1=293039&r2=293040&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/LoopVectorize/X86/interleaving.ll (original)
+++ llvm/trunk/test/Transforms/LoopVectorize/X86/interleaving.ll Wed Jan 25 03:14:48 2017
@@ -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




More information about the llvm-commits mailing list