From: Bob Wilson Date: Mon, 30 Aug 2010 19:57:13 +0000 (+0000) Subject: Translate NEON vmovn builtin to a vector truncation instead of using an llvm X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3b6081bf49b7506cb96131247f209d1e03610df8;p=clang Translate NEON vmovn builtin to a vector truncation instead of using an llvm intrinsic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112504 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CGBuiltin.cpp b/lib/CodeGen/CGBuiltin.cpp index 279b6855f0..08993c30e8 100644 --- a/lib/CodeGen/CGBuiltin.cpp +++ b/lib/CodeGen/CGBuiltin.cpp @@ -1420,8 +1420,7 @@ Value *CodeGenFunction::EmitARMBuiltinExpr(unsigned BuiltinID, return Builder.CreateZExt(Ops[0], Ty, "vmovl"); return Builder.CreateSExt(Ops[0], Ty, "vmovl"); case ARM::BI__builtin_neon_vmovn_v: - return EmitNeonCall(CGM.getIntrinsic(Intrinsic::arm_neon_vmovn, &Ty, 1), - Ops, "vmovn"); + return Builder.CreateTrunc(Ops[0], Ty, "vmovn"); case ARM::BI__builtin_neon_vmull_lane_v: splat = true; case ARM::BI__builtin_neon_vmull_v: