diff options
author | Arnold Schwaighofer <aschwaighofer@apple.com> | 2014-03-31 23:05:56 +0000 |
---|---|---|
committer | Arnold Schwaighofer <aschwaighofer@apple.com> | 2014-03-31 23:05:56 +0000 |
commit | 15262e6703c239e6016a5641bfef3e8f3faf5201 (patch) | |
tree | c760aaa00c91b9844ff32a4b04ece9eb70d43de5 /llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll | |
parent | 7ca1c765204cca7cca0ac248ccfffbe184d80719 (diff) | |
download | bcm5719-llvm-15262e6703c239e6016a5641bfef3e8f3faf5201.tar.gz bcm5719-llvm-15262e6703c239e6016a5641bfef3e8f3faf5201.zip |
Revert "SLPVectorizer: Ignore users that are insertelements we can reschedule them"
This reverts commit r205018.
Conflicts:
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
This is breaking libclc build.
llvm-svn: 205260
Diffstat (limited to 'llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll')
-rw-r--r-- | llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll b/llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll index 620292bdaf3..7537ea3b053 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll @@ -195,30 +195,6 @@ define <4 x float> @simple_select_partial_vector(<4 x float> %a, <4 x float> %b, ret <4 x float> %rb } -; Make sure that vectorization happens even if insertelements operations -; must be rescheduled. The case here is from compiling Julia. -define <4 x float> @reschedule_extract(<4 x float> %a, <4 x float> %b) { -; CHECK-LABEL: @reschedule_extract( -; CHECK: %1 = fadd <4 x float> %a, %b - %a0 = extractelement <4 x float> %a, i32 0 - %b0 = extractelement <4 x float> %b, i32 0 - %c0 = fadd float %a0, %b0 - %v0 = insertelement <4 x float> undef, float %c0, i32 0 - %a1 = extractelement <4 x float> %a, i32 1 - %b1 = extractelement <4 x float> %b, i32 1 - %c1 = fadd float %a1, %b1 - %v1 = insertelement <4 x float> %v0, float %c1, i32 1 - %a2 = extractelement <4 x float> %a, i32 2 - %b2 = extractelement <4 x float> %b, i32 2 - %c2 = fadd float %a2, %b2 - %v2 = insertelement <4 x float> %v1, float %c2, i32 2 - %a3 = extractelement <4 x float> %a, i32 3 - %b3 = extractelement <4 x float> %b, i32 3 - %c3 = fadd float %a3, %b3 - %v3 = insertelement <4 x float> %v2, float %c3, i32 3 - ret <4 x float> %v3 -} - ; Check that cost model for vectorization takes credit for ; instructions that are erased. define <4 x float> @take_credit(<4 x float> %a, <4 x float> %b) { |