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

Bob Wilson bob.wilson at apple.com
Thu Aug 19 21:34:18 PDT 2010


Author: bwilson
Date: Thu Aug 19 23:34:18 2010
New Revision: 111613

URL: http://llvm.org/viewvc/llvm-project?rev=111613&view=rev
Log:
Translate NEON vmovl intrinsics to zero/sign-extend operations.

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=111613&r1=111612&r2=111613&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 Thu Aug 19 23:34:18 2010
@@ -1747,13 +1747,11 @@
 
   case NEON_BUILTIN_vmovl:
     if (datatype == neon_datatype_signed)
-      intID = Intrinsic::arm_neon_vmovls;
+      Result = Builder.CreateSExt(Ops[0], ResultType);
     else if (datatype == neon_datatype_unsigned)
-      intID = Intrinsic::arm_neon_vmovlu;
+      Result = Builder.CreateZExt(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_vext: {





More information about the llvm-commits mailing list