[AArch64][ARM] Don't base interleaved op legality on type alloc size.
[oota-llvm.git] / lib / Target / AArch64 / AArch64TargetTransformInfo.cpp
index e803ef949b9dd96c0e9713ccd52a1cd8b8fc5453..9af0e6444789a0ee031a995ac0ae8fdeefe2a055 100644 (file)
@@ -448,7 +448,7 @@ int AArch64TTIImpl::getInterleavedMemoryOpCost(unsigned Opcode, Type *VecTy,
   if (Factor <= TLI->getMaxSupportedInterleaveFactor()) {
     unsigned NumElts = VecTy->getVectorNumElements();
     Type *SubVecTy = VectorType::get(VecTy->getScalarType(), NumElts / Factor);
-    unsigned SubVecSize = DL.getTypeAllocSizeInBits(SubVecTy);
+    unsigned SubVecSize = DL.getTypeSizeInBits(SubVecTy);
 
     // ldN/stN only support legal vector types of size 64 or 128 in bits.
     if (NumElts % Factor == 0 && (SubVecSize == 64 || SubVecSize == 128))