diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2010-12-07 23:54:55 +0000 |
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2010-12-07 23:54:55 +0000 |
| commit | f81b09db68cf66ef678db11e095ae7e2c4f21df5 (patch) | |
| tree | 96c401b49693e3b5872bbff47fa2819d0ad21a61 /clang/lib/CodeGen | |
| parent | c40935fa0c648b5c59ee952b60c6c08787f2bcfa (diff) | |
| download | bcm5719-llvm-f81b09db68cf66ef678db11e095ae7e2c4f21df5.tar.gz bcm5719-llvm-f81b09db68cf66ef678db11e095ae7e2c4f21df5.zip | |
Stop using clang builtins for Neon vmlal{_n,_lane} and vmlsl{_n,_lane}.
llvm-svn: 121210
Diffstat (limited to 'clang/lib/CodeGen')
| -rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index 0839a061a67..23e8c0cb3a1 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -1477,46 +1477,6 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID, case ARM::BI__builtin_neon_vminq_v: Int = usgn ? Intrinsic::arm_neon_vminu : Intrinsic::arm_neon_vmins; return EmitNeonCall(CGM.getIntrinsic(Int, &Ty, 1), Ops, "vmin"); - case ARM::BI__builtin_neon_vmlal_lane_v: { - const llvm::Type *DTy =llvm::VectorType::getTruncatedElementVectorType(VTy); - Ops[2] = Builder.CreateBitCast(Ops[2], DTy); - Ops[2] = EmitNeonSplat(Ops[2], cast<Constant>(Ops[3])); - } - case ARM::BI__builtin_neon_vmlal_v: { - const llvm::Type *DTy =llvm::VectorType::getTruncatedElementVectorType(VTy); - Ops[0] = Builder.CreateBitCast(Ops[0], Ty); - Ops[1] = Builder.CreateBitCast(Ops[1], DTy); - Ops[2] = Builder.CreateBitCast(Ops[2], DTy); - if (usgn) { - Ops[1] = Builder.CreateZExt(Ops[1], Ty); - Ops[2] = Builder.CreateZExt(Ops[2], Ty); - } else { - Ops[1] = Builder.CreateSExt(Ops[1], Ty); - Ops[2] = Builder.CreateSExt(Ops[2], Ty); - } - Ops[1] = Builder.CreateMul(Ops[1], Ops[2]); - return Builder.CreateAdd(Ops[0], Ops[1], "vmlal"); - } - case ARM::BI__builtin_neon_vmlsl_lane_v: { - const llvm::Type *DTy =llvm::VectorType::getTruncatedElementVectorType(VTy); - Ops[2] = Builder.CreateBitCast(Ops[2], DTy); - Ops[2] = EmitNeonSplat(Ops[2], cast<Constant>(Ops[3])); - } - case ARM::BI__builtin_neon_vmlsl_v: { - const llvm::Type *DTy =llvm::VectorType::getTruncatedElementVectorType(VTy); - Ops[0] = Builder.CreateBitCast(Ops[0], Ty); - Ops[1] = Builder.CreateBitCast(Ops[1], DTy); - Ops[2] = Builder.CreateBitCast(Ops[2], DTy); - if (usgn) { - Ops[1] = Builder.CreateZExt(Ops[1], Ty); - Ops[2] = Builder.CreateZExt(Ops[2], Ty); - } else { - Ops[1] = Builder.CreateSExt(Ops[1], Ty); - Ops[2] = Builder.CreateSExt(Ops[2], Ty); - } - Ops[1] = Builder.CreateMul(Ops[1], Ops[2]); - return Builder.CreateSub(Ops[0], Ops[1], "vmlsl"); - } case ARM::BI__builtin_neon_vmovl_v: { const llvm::Type *DTy =llvm::VectorType::getTruncatedElementVectorType(VTy); Ops[0] = Builder.CreateBitCast(Ops[0], DTy); |

