[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