summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorNadav Rotem <nrotem@apple.com>2013-07-12 06:09:24 +0000
committerNadav Rotem <nrotem@apple.com>2013-07-12 06:09:24 +0000
commit523cd85b50c3081d9859fe41afadce13c43e1bc9 (patch)
tree0d98a3e35e5c9b5903263ba6878b2d519e78a280 /test
parentac226bbf457f6b5e5210a4a82b1ce678298b2d89 (diff)
downloadllvm-523cd85b50c3081d9859fe41afadce13c43e1bc9.tar.gz
llvm-523cd85b50c3081d9859fe41afadce13c43e1bc9.tar.bz2
llvm-523cd85b50c3081d9859fe41afadce13c43e1bc9.tar.xz
SLPVectorizer: Sink and enable CSE for ExtractElements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186145 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r--test/Transforms/SLPVectorizer/X86/diamond.ll4
-rw-r--r--test/Transforms/SLPVectorizer/X86/external_user.ll2
-rw-r--r--test/Transforms/SLPVectorizer/X86/rgb_phi.ll2
3 files changed, 4 insertions, 4 deletions
diff --git a/test/Transforms/SLPVectorizer/X86/diamond.ll b/test/Transforms/SLPVectorizer/X86/diamond.ll
index 2a237eaffd..099f7cfb97 100644
--- a/test/Transforms/SLPVectorizer/X86/diamond.ll
+++ b/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/test/Transforms/SLPVectorizer/X86/external_user.ll b/test/Transforms/SLPVectorizer/X86/external_user.ll
index 7f032b5b19..22f0e64be0 100644
--- a/test/Transforms/SLPVectorizer/X86/external_user.ll
+++ b/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/test/Transforms/SLPVectorizer/X86/rgb_phi.ll b/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
index 6a9243560e..9f5a6213c2 100644
--- a/test/Transforms/SLPVectorizer/X86/rgb_phi.ll
+++ b/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) {