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
This commit is contained in:
Cameron Zwarich
2011-03-23 05:25:55 +00:00
parent 1e6c65dba7
commit 1537ce75ed
2 changed files with 26 additions and 11 deletions
@@ -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>
}