]> granicus.if.org Git - clang/commitdiff
Translate NEON vmovn builtin to a vector truncation instead of using an llvm
authorBob Wilson <bob.wilson@apple.com>
Mon, 30 Aug 2010 19:57:13 +0000 (19:57 +0000)
committerBob Wilson <bob.wilson@apple.com>
Mon, 30 Aug 2010 19:57:13 +0000 (19:57 +0000)
intrinsic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112504 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGBuiltin.cpp

index 279b6855f00e3e57237b74cb607d51def43d61e4..08993c30e8ea6922e8f9a688c9ce0b55ac165696 100644 (file)
@@ -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: