summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/ScalarRepl
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2011-03-23 05:25:55 +0000
committerCameron Zwarich <zwarich@apple.com>2011-03-23 05:25:55 +0000
commit10ebc189eeb020c5fa253f9cc5ad10d077f64a37 (patch)
treea44c815798192f0bf0ccc62a706b7dc4cc78b75d /llvm/test/Transforms/ScalarRepl
parentb993f6394ff9de5d66022fc12a7dfaf93c9c54e2 (diff)
downloadbcm5719-llvm-10ebc189eeb020c5fa253f9cc5ad10d077f64a37.tar.gz
bcm5719-llvm-10ebc189eeb020c5fa253f9cc5ad10d077f64a37.zip
Fix PR9464 by correcting some math that just happened to be right in most cases
that were hit in practice. llvm-svn: 128146
Diffstat (limited to 'llvm/test/Transforms/ScalarRepl')
-rw-r--r--llvm/test/Transforms/ScalarRepl/vector_promote.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/Transforms/ScalarRepl/vector_promote.ll b/llvm/test/Transforms/ScalarRepl/vector_promote.ll
index 8e143612ebd..67bbf71b362 100644
--- a/llvm/test/Transforms/ScalarRepl/vector_promote.ll
+++ b/llvm/test/Transforms/ScalarRepl/vector_promote.ll
@@ -171,3 +171,19 @@ define void @test11(<2 x i64> %x) {
; CHECK: @test11
; CHECK-NOT: alloca
}
+
+define void @test12() {
+entry:
+ %a = alloca <64 x i8>, align 64
+ store <64 x i8> undef, <64 x i8>* %a, align 64
+ %p = bitcast <64 x i8>* %a to <16 x i8>*
+ %0 = load <16 x i8>* %p, align 64
+ store <16 x i8> undef, <16 x i8>* %p, align 64
+ %q = bitcast <16 x i8>* %p to <64 x i8>*
+ %1 = load <64 x i8>* %q, align 64
+ ret void
+; CHECK: @test12
+; CHECK-NOT: alloca
+; CHECK: extractelement <4 x i128>
+; CHECK: insertelement <4 x i128>
+}
OpenPOWER on IntegriCloud