diff options
author | Bob Wilson <bob.wilson@apple.com> | 2010-11-10 21:56:12 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@apple.com> | 2010-11-10 21:56:12 +0000 |
commit | e86d78cf4754a6aef2cf9a33d847aa15338e276f (patch) | |
tree | 97c6cec0fbcf3f47aac7a2da135e0ab500c1fe9a /lib/Sema/SemaType.cpp | |
parent | a66d3bb056932868dac7ac76d6ed22b09281bc80 (diff) |
Add a variant of GCC-style vector types for ARM NEON.
NEON vector types need to be mangled in a special way to comply with ARM's ABI,
similar to some of the AltiVec-specific vector types. This patch is mostly
just renaming a bunch of "AltiVecSpecific" things, since they will no longer
be specific to AltiVec. Besides that, it just adds the new "NeonVector" enum.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118724 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaType.cpp')
-rw-r--r-- | lib/Sema/SemaType.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/Sema/SemaType.cpp b/lib/Sema/SemaType.cpp index e7219302c1..cb99a9f892 100644 --- a/lib/Sema/SemaType.cpp +++ b/lib/Sema/SemaType.cpp @@ -388,12 +388,12 @@ static QualType ConvertDeclSpecToType(Sema &TheSema, } else if (DS.isTypeAltiVecVector()) { unsigned typeSize = static_cast<unsigned>(Context.getTypeSize(Result)); assert(typeSize > 0 && "type size for vector must be greater than 0 bits"); - VectorType::AltiVecSpecific AltiVecSpec = VectorType::AltiVec; + VectorType::VectorKind VecKind = VectorType::AltiVecVector; if (DS.isTypeAltiVecPixel()) - AltiVecSpec = VectorType::Pixel; + VecKind = VectorType::AltiVecPixel; else if (DS.isTypeAltiVecBool()) - AltiVecSpec = VectorType::Bool; - Result = Context.getVectorType(Result, 128/typeSize, AltiVecSpec); + VecKind = VectorType::AltiVecBool; + Result = Context.getVectorType(Result, 128/typeSize, VecKind); } // FIXME: Imaginary. @@ -2044,7 +2044,7 @@ static void HandleVectorSizeAttr(QualType& CurType, const AttributeList &Attr, // Success! Instantiate the vector type, the number of elements is > 0, and // not required to be a power of 2, unlike GCC. CurType = S.Context.getVectorType(CurType, vectorSize/typeSize, - VectorType::NotAltiVec); + VectorType::GenericVector); } void ProcessTypeAttributeList(Sema &S, QualType &Result, |