diff options
author | Nadav Rotem <nrotem@apple.com> | 2013-07-12 06:09:24 +0000 |
---|---|---|
committer | Nadav Rotem <nrotem@apple.com> | 2013-07-12 06:09:24 +0000 |
commit | 89c41bf06a885e51bcdcf06f5f20b8aafc81bb34 (patch) | |
tree | a0b8448f54fd6e5945a48e1f19ffa3dad3d9d901 /llvm/test | |
parent | e8f297ca9494b5cc99628b779b7959b2b84def1d (diff) | |
download | bcm5719-llvm-89c41bf06a885e51bcdcf06f5f20b8aafc81bb34.tar.gz bcm5719-llvm-89c41bf06a885e51bcdcf06f5f20b8aafc81bb34.zip |
SLPVectorizer: Sink and enable CSE for ExtractElements.
llvm-svn: 186145
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Transforms/SLPVectorizer/X86/diamond.ll | 4 | ||||
-rw-r--r-- | llvm/test/Transforms/SLPVectorizer/X86/external_user.ll | 2 | ||||
-rw-r--r-- | llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/diamond.ll b/llvm/test/Transforms/SLPVectorizer/X86/diamond.ll index 2a237eaffdf..099f7cfb97e 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/diamond.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/diamond.ll @@ -51,8 +51,8 @@ entry: ; CHECK: @extr_user ; CHECK: load <4 x i32> -; CHECK-NEXT: extractelement <4 x i32> ; CHECK: store <4 x i32> +; CHECK: extractelement <4 x i32> ; CHECK-NEXT: ret define i32 @extr_user(i32* noalias nocapture %B, i32* noalias nocapture %A, i32 %n, i32 %m) { entry: @@ -81,8 +81,8 @@ entry: ; In this example we have an external user that is not the first element in the vector. ; CHECK: @extr_user1 ; CHECK: load <4 x i32> -; CHECK-NEXT: extractelement <4 x i32> ; CHECK: store <4 x i32> +; CHECK: extractelement <4 x i32> ; CHECK-NEXT: ret define i32 @extr_user1(i32* noalias nocapture %B, i32* noalias nocapture %A, i32 %n, i32 %m) { entry: diff --git a/llvm/test/Transforms/SLPVectorizer/X86/external_user.ll b/llvm/test/Transforms/SLPVectorizer/X86/external_user.ll index 7f032b5b197..22f0e64be0a 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/external_user.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/external_user.ll @@ -26,9 +26,9 @@ target triple = "x86_64-apple-macosx10.8.0" ;CHECK: phi <2 x double> ;CHECK: fadd <2 x double> ;CHECK: fmul <2 x double> -;CHECK: extractelement <2 x double> ;CHECK: br ;CHECK: store <2 x double> +;CHECK: extractelement <2 x double> ;CHECK: ret double define double @ext_user(double* noalias nocapture %B, double* noalias nocapture %A, i32 %n, i32 %m) { diff --git a/llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll b/llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll index 6a9243560e8..9f5a6213c2f 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/rgb_phi.ll @@ -23,10 +23,10 @@ target triple = "i386-apple-macosx10.9.0" ;CHECK: fmul <3 x float> ;CHECK: fadd <3 x float> ; At the moment we don't sink extractelements. +;CHECK: br ;CHECK: extractelement ;CHECK: extractelement ;CHECK: extractelement -;CHECK: br ;CHECK: ret define float @foo(float* nocapture readonly %A) { |