aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms
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
commit1537ce75ed25bbca58096383bb1fb9dd427bf1aa (patch)
tree7469571d731ecd7fc08f3884f22a2ad9ab61bff1 /test/Transforms
parent1e6c65dba706de80f5a4ceb8a1fc86bc3d0a61c6 (diff)
Fix PR9464 by correcting some math that just happened to be right in most cases
that were hit in practice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128146 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms')
-rw-r--r--test/Transforms/ScalarRepl/vector_promote.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Transforms/ScalarRepl/vector_promote.ll b/test/Transforms/ScalarRepl/vector_promote.ll
index 8e143612eb..67bbf71b36 100644
--- a/test/Transforms/ScalarRepl/vector_promote.ll
+++ b/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>
+}