diff options
author | ed <ed@FreeBSD.org> | 2009-06-08 15:36:55 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2009-06-08 15:36:55 +0000 |
commit | 6514d87c1aa5b544d02c3822fe41217e2051673d (patch) | |
tree | 7ab9fa5634c95f5df8575db81b24ea5586e65b28 /lib/CodeGen/CGBuiltin.cpp | |
parent | 2ae812c77b393190175c91233c3348f526ddab1b (diff) | |
download | FreeBSD-src-6514d87c1aa5b544d02c3822fe41217e2051673d.zip FreeBSD-src-6514d87c1aa5b544d02c3822fe41217e2051673d.tar.gz |
Import Clang r73070.
Diffstat (limited to 'lib/CodeGen/CGBuiltin.cpp')
-rw-r--r-- | lib/CodeGen/CGBuiltin.cpp | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index 3c7c5e5..f9c44c8 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -782,29 +782,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID, Ops[0] = Builder.CreateBitCast(Ops[0], PtrTy); return Builder.CreateStore(Ops[1], Ops[0]); } - case X86::BI__builtin_ia32_loadlv4si: { - // load i64 - const llvm::Type *EltTy = llvm::Type::Int64Ty; - llvm::Type *PtrTy = llvm::PointerType::getUnqual(EltTy); - Ops[0] = Builder.CreateBitCast(Ops[0], PtrTy); - Ops[0] = Builder.CreateLoad(Ops[0], "load"); - - // scalar to vector: insert i64 into 2 x i64 undef - llvm::Type *VecTy = llvm::VectorType::get(EltTy, 2); - llvm::Value *Zero = llvm::ConstantInt::get(llvm::Type::Int32Ty, 0); - Ops[0] = Builder.CreateInsertElement(llvm::UndefValue::get(VecTy), - Ops[0], Zero, "s2v"); - - // shuffle into zero vector. - std::vector<llvm::Constant *>Elts; - Elts.resize(2, llvm::ConstantInt::get(EltTy, 0)); - llvm::Value *ZV = ConstantVector::get(Elts); - Ops[0] = EmitShuffleVector(ZV, Ops[0], 2, 1, "loadl"); - - // bitcast to result. - return Builder.CreateBitCast(Ops[0], - llvm::VectorType::get(llvm::Type::Int32Ty, 4)); - } } } |