From 523cd85b50c3081d9859fe41afadce13c43e1bc9 Mon Sep 17 00:00:00 2001 From: Nadav Rotem Date: Fri, 12 Jul 2013 06:09:24 +0000 Subject: SLPVectorizer: Sink and enable CSE for ExtractElements. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186145 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Transforms/SLPVectorizer/X86/diamond.ll | 4 ++-- test/Transforms/SLPVectorizer/X86/external_user.ll | 2 +- test/Transforms/SLPVectorizer/X86/rgb_phi.ll | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'test') 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) { -- cgit v1.2.3