[llvm-commits] [dragonegg] r95503 - /dragonegg/trunk/x86/llvm-target.cpp

Duncan Sands baldrick at free.fr
Sat Feb 6 12:16:30 PST 2010


Author: baldrick
Date: Sat Feb  6 14:16:29 2010
New Revision: 95503

URL: http://llvm.org/viewvc/llvm-project?rev=95503&view=rev
Log:
The __m128i vector type is <2 x i64> in gcc-4.5, not <4 x i32> like in
llvm-gcc.  This caused the plugin to crash on GCC testcases pr36992-1.c
and pr36992-2.c

Modified:
    dragonegg/trunk/x86/llvm-target.cpp

Modified: dragonegg/trunk/x86/llvm-target.cpp
URL: http://llvm.org/viewvc/llvm-project/dragonegg/trunk/x86/llvm-target.cpp?rev=95503&r1=95502&r2=95503&view=diff

==============================================================================
--- dragonegg/trunk/x86/llvm-target.cpp (original)
+++ dragonegg/trunk/x86/llvm-target.cpp Sat Feb  6 14:16:29 2010
@@ -967,9 +967,8 @@
     Result = BuildVectorShuffle(Ops[0], Ops[1], 2, 1);
     return true;
   IX86_BUILTIN_MOVQ128: {
-    Value *Zero = ConstantInt::get(Type::getInt32Ty(Context), 0);
-    Result = BuildVector(Zero, Zero, Zero, Zero, NULL);
-    Result = BuildVectorShuffle(Result, Ops[0], 4, 5, 2, 3);
+    Value *Zero = Constant::getNullValue(Ops[0]->getType());
+    Result = BuildVectorShuffle(Zero, Ops[0], 2, 1);
     return true;
   }
 //TODO  IX86_BUILTIN_LOADQ: {





More information about the llvm-commits mailing list