diff options
author | Cameron Zwarich <zwarich@apple.com> | 2011-03-23 05:25:55 +0000 |
---|---|---|
committer | Cameron Zwarich <zwarich@apple.com> | 2011-03-23 05:25:55 +0000 |
commit | 10ebc189eeb020c5fa253f9cc5ad10d077f64a37 (patch) | |
tree | a44c815798192f0bf0ccc62a706b7dc4cc78b75d /llvm/test/Transforms | |
parent | b993f6394ff9de5d66022fc12a7dfaf93c9c54e2 (diff) | |
download | bcm5719-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')
-rw-r--r-- | llvm/test/Transforms/ScalarRepl/vector_promote.ll | 16 |
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> +} |