summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/BBVectorize/loop1.ll
diff options
context:
space:
mode:
authorMichael Kuperstein <mkuper@google.com>2016-12-28 00:18:08 +0000
committerMichael Kuperstein <mkuper@google.com>2016-12-28 00:18:08 +0000
commitcd7ad7130fc6d115d8ed2b8e9a3116fa11c9d028 (patch)
treee3f3009599bf0c7681325fbe283148c7db29d3a6 /llvm/test/Transforms/BBVectorize/loop1.ll
parent2a8440df70fd59fb6c30444f74864a459bd18869 (diff)
downloadbcm5719-llvm-cd7ad7130fc6d115d8ed2b8e9a3116fa11c9d028.tar.gz
bcm5719-llvm-cd7ad7130fc6d115d8ed2b8e9a3116fa11c9d028.zip
[InstCombine] Canonicalize insert splat sequences into an insert + shuffle
This adds a combine that canonicalizes a chain of inserts which broadcasts a value into a single insert + a splat shufflevector. This fixes PR31286. Differential Revision: https://reviews.llvm.org/D27992 llvm-svn: 290641
Diffstat (limited to 'llvm/test/Transforms/BBVectorize/loop1.ll')
-rw-r--r--llvm/test/Transforms/BBVectorize/loop1.ll6
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/test/Transforms/BBVectorize/loop1.ll b/llvm/test/Transforms/BBVectorize/loop1.ll
index 0a0a6629897..7e7b603116f 100644
--- a/llvm/test/Transforms/BBVectorize/loop1.ll
+++ b/llvm/test/Transforms/BBVectorize/loop1.ll
@@ -46,10 +46,10 @@ for.body: ; preds = %for.body, %entry
; CHECK: %add4.v.i1.1 = insertelement <2 x double> undef, double %1, i32 0
; CHECK: %add4.v.i1.2 = insertelement <2 x double> %add4.v.i1.1, double %0, i32 1
; CHECK: %add4 = fadd <2 x double> %add4.v.i1.2, %add4.v.i1.2
-; CHECK: %add5.v.i1.1 = insertelement <2 x double> undef, double %0, i32 0
-; CHECK: %add5.v.i1.2 = insertelement <2 x double> %add5.v.i1.1, double %0, i32 1
+; CHECK: %2 = insertelement <2 x double> undef, double %0, i32 0
+; CHECK: %add5.v.i1.2 = shufflevector <2 x double> %2, <2 x double> undef, <2 x i32> zeroinitializer
; CHECK: %add5 = fadd <2 x double> %add4, %add5.v.i1.2
-; CHECK: %mul6.v.i0.2 = insertelement <2 x double> %add5.v.i1.1, double %mul8, i32 1
+; CHECK: %mul6.v.i0.2 = insertelement <2 x double> %2, double %mul8, i32 1
; CHECK: %mul6 = fmul <2 x double> %mul6.v.i0.2, %add5
; CHECK: %mul6.v.r1 = extractelement <2 x double> %mul6, i32 0
; CHECK: %mul6.v.r2 = extractelement <2 x double> %mul6, i32 1
OpenPOWER on IntegriCloud