[llvm-commits] [llvm-gcc-4.2] r112506 - /llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp

Bob Wilson bob.wilson at apple.com
Mon Aug 30 13:01:06 PDT 2010


Author: bwilson
Date: Mon Aug 30 15:01:06 2010
New Revision: 112506

URL: http://llvm.org/viewvc/llvm-project?rev=112506&view=rev
Log:
Translate NEON vmovn builtin to a vector truncation instead of using an llvm
intrinsic.

Modified:
    llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp

Modified: llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp?rev=112506&r1=112505&r2=112506&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/llvm-arm.cpp Mon Aug 30 15:01:06 2010
@@ -1718,11 +1718,9 @@
   case NEON_BUILTIN_vmovn:
     if (datatype == neon_datatype_signed ||
         datatype == neon_datatype_unsigned)
-      intID = Intrinsic::arm_neon_vmovn;
+      Result = Builder.CreateTrunc(Ops[0], ResultType);
     else
       return BadImmediateError(exp, Result);
-    intFn = Intrinsic::getDeclaration(TheModule, intID, &ResultType, 1);
-    Result = Builder.CreateCall(intFn, Ops[0]);
     break;
 
   case NEON_BUILTIN_vqmovn:





More information about the llvm-commits mailing list