diff options
| author | Eli Friedman <eli.friedman@gmail.com> | 2009-06-07 07:12:56 +0000 | 
|---|---|---|
| committer | Eli Friedman <eli.friedman@gmail.com> | 2009-06-07 07:12:56 +0000 | 
| commit | 5a996fc0fc23093ceac58e3f8c34d8cc9feaf061 (patch) | |
| tree | e91e4bc6d76975ec01b25c4724fb2a7ae2f82532 /clang/lib/CodeGen/CGBuiltin.cpp | |
| parent | e183993ffae24b9f45090eaf0760f62817e8e363 (diff) | |
| download | bcm5719-llvm-5a996fc0fc23093ceac58e3f8c34d8cc9feaf061.tar.gz bcm5719-llvm-5a996fc0fc23093ceac58e3f8c34d8cc9feaf061.zip | |
Now that LLVM CodeGen can handle the generic variations a bit better, 
get rid of a few more clang vector builtins.
llvm-svn: 73015
Diffstat (limited to 'clang/lib/CodeGen/CGBuiltin.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 22 | 
1 files changed, 0 insertions, 22 deletions
| diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 8a565985f53..3c7c5e53987 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -764,28 +764,6 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,      llvm::Function *F = CGM.getIntrinsic(Intrinsic::x86_sse2_cmp_sd);      return Builder.CreateCall(F, &Ops[0], &Ops[0] + Ops.size(), "cmpsd");    } -  case X86::BI__builtin_ia32_loadlps: -  case X86::BI__builtin_ia32_loadhps: { -    // FIXME: This should probably be represented as  -    // shuffle (dst, (v4f32 (insert undef, (load i64), 0)), shuf mask hi/lo) -    const llvm::Type *EltTy = llvm::Type::DoubleTy; -    const llvm::Type *VecTy = llvm::VectorType::get(EltTy, 2); -    const llvm::Type *OrigTy = Ops[0]->getType(); -    unsigned Index = BuiltinID == X86::BI__builtin_ia32_loadlps ? 0 : 1; -    llvm::Value *Idx = llvm::ConstantInt::get(llvm::Type::Int32Ty, Index); -    Ops[1] = Builder.CreateBitCast(Ops[1], llvm::PointerType::getUnqual(EltTy)); -    Ops[1] = Builder.CreateLoad(Ops[1], "tmp"); -    Ops[0] = Builder.CreateBitCast(Ops[0], VecTy, "cast"); -    Ops[0] = Builder.CreateInsertElement(Ops[0], Ops[1], Idx, "loadps"); -    return Builder.CreateBitCast(Ops[0], OrigTy, "loadps"); -  } -  case X86::BI__builtin_ia32_loadlpd: -  case X86::BI__builtin_ia32_loadhpd: { -    Ops[1] = Builder.CreateLoad(Ops[1], "tmp"); -    unsigned Index = BuiltinID == X86::BI__builtin_ia32_loadlpd ? 0 : 1; -    llvm::Value *Idx = llvm::ConstantInt::get(llvm::Type::Int32Ty, Index); -    return Builder.CreateInsertElement(Ops[0], Ops[1], Idx, "loadpd"); -  }    case X86::BI__builtin_ia32_storehps:    case X86::BI__builtin_ia32_storelps: {      const llvm::Type *EltTy = llvm::Type::Int64Ty; | 

