summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
diff options
context:
space:
mode:
authorArnold Schwaighofer <aschwaighofer@apple.com>2014-03-31 23:05:56 +0000
committerArnold Schwaighofer <aschwaighofer@apple.com>2014-03-31 23:05:56 +0000
commit15262e6703c239e6016a5641bfef3e8f3faf5201 (patch)
treec760aaa00c91b9844ff32a4b04ece9eb70d43de5 /llvm/test/Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
parent7ca1c765204cca7cca0ac248ccfffbe184d80719 (diff)
downloadbcm5719-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.ll24
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) {
OpenPOWER on IntegriCloud