diff options
author | Dale Johannesen <dalej@apple.com> | 2010-09-10 20:55:01 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2010-09-10 20:55:01 +0000 |
commit | bb811a244567aa8a1522203f15588f4d001b7353 (patch) | |
tree | ad234d32641b5769602d1dd68ae5f870b341b320 /lib/Target | |
parent | f9e49e86ee9f06c2808c6e57723c5650615e689d (diff) | |
download | external_llvm-bb811a244567aa8a1522203f15588f4d001b7353.zip external_llvm-bb811a244567aa8a1522203f15588f4d001b7353.tar.gz external_llvm-bb811a244567aa8a1522203f15588f4d001b7353.tar.bz2 |
Add X86 MMX type to bitcode and Type.
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113618 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r-- | lib/Target/CBackend/CBackend.cpp | 6 | ||||
-rw-r--r-- | lib/Target/CppBackend/CPPBackend.cpp | 1 | ||||
-rw-r--r-- | lib/Target/TargetData.cpp | 1 |
3 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/CBackend/CBackend.cpp b/lib/Target/CBackend/CBackend.cpp index 270fff6..4ee4b11 100644 --- a/lib/Target/CBackend/CBackend.cpp +++ b/lib/Target/CBackend/CBackend.cpp @@ -514,7 +514,11 @@ CWriter::printSimpleType(raw_ostream &Out, const Type *Ty, bool isSigned, case Type::X86_FP80TyID: case Type::PPC_FP128TyID: case Type::FP128TyID: return Out << "long double " << NameSoFar; - + + case Type::X86_MMXTyID: + return printSimpleType(Out, Type::getInt32Ty(Ty->getContext()), isSigned, + " __attribute__((vector_size(64))) " + NameSoFar); + case Type::VectorTyID: { const VectorType *VTy = cast<VectorType>(Ty); return printSimpleType(Out, VTy->getElementType(), isSigned, diff --git a/lib/Target/CppBackend/CPPBackend.cpp b/lib/Target/CppBackend/CPPBackend.cpp index f08559f..2c2e8df 100644 --- a/lib/Target/CppBackend/CPPBackend.cpp +++ b/lib/Target/CppBackend/CPPBackend.cpp @@ -358,6 +358,7 @@ std::string CppWriter::getCppName(const Type* Ty) { case Type::FloatTyID: return "Type::getFloatTy(mod->getContext())"; case Type::DoubleTyID: return "Type::getDoubleTy(mod->getContext())"; case Type::LabelTyID: return "Type::getLabelTy(mod->getContext())"; + case Type::X86_MMXTyID: return "Type::getX86_MMXTy(mod->getContext())"; default: error("Invalid primitive type"); break; diff --git a/lib/Target/TargetData.cpp b/lib/Target/TargetData.cpp index f35c96d..74e95e7 100644 --- a/lib/Target/TargetData.cpp +++ b/lib/Target/TargetData.cpp @@ -461,6 +461,7 @@ uint64_t TargetData::getTypeSizeInBits(const Type *Ty) const { case Type::FloatTyID: return 32; case Type::DoubleTyID: + case Type::X86_MMXTyID: return 64; case Type::PPC_FP128TyID: case Type::FP128TyID: |