Fix a typo and add a test.
authorCameron Zwarich <zwarich@apple.com>
Sat, 26 Mar 2011 04:58:50 +0000 (04:58 +0000)
committerCameron Zwarich <zwarich@apple.com>
Sat, 26 Mar 2011 04:58:50 +0000 (04:58 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128331 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/ScalarReplAggregates.cpp
test/Transforms/ScalarRepl/vector_promote.ll

index c261dede922a1830f5f534b23dafd62b4da9ab95..de7bb41e7de5c00636c48f3a0c0aeffeefcb9e11 100644 (file)
@@ -380,7 +380,7 @@ bool ConvertToScalarInfo::MergeInVectorType(const VectorType *VInTy,
     return true;
 
   const Type *ElementTy = cast<VectorType>(VectorTy)->getElementType();
-  const Type *InElementTy = cast<VectorType>(VectorTy)->getElementType();
+  const Type *InElementTy = cast<VectorType>(VInTy)->getElementType();
 
   // Do not allow mixed integer and floating-point accesses from vectors of
   // different sizes.
index 67bbf71b362d7ca28f03e9d93a693e4b5f6b944c..c51c9247f54144863b4660fd8f7fff465b8d0d30 100644 (file)
@@ -187,3 +187,18 @@ entry:
 ; CHECK: extractelement <4 x i128>
 ; CHECK: insertelement <4 x i128>
 }
+
+define float @test13(<4 x float> %x, <2 x i32> %y) {
+       %a = alloca <4 x float>
+       store <4 x float> %x, <4 x float>* %a
+       %p = bitcast <4 x float>* %a to <2 x float>*
+       %b = load <2 x float>* %p
+       %q = getelementptr <4 x float>* %a, i32 0, i32 2
+       %c = load float* %q
+       %r = bitcast <4 x float>* %a to <2 x i32>*
+       store <2 x i32> %y, <2 x i32>* %r
+       ret float %c
+; CHECK: @test13
+; CHECK-NOT: alloca
+; CHECK: bitcast <4 x float> %x to i128
+}