We should at least support enough MMX to build Qt with MMX intrinsics enabled. Here is a testcase to get started: http://lists.cs.uiuc.edu/pipermail/llvmdev/2007-March/008196.html -Chris
See these: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070319/046143.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070319/046144.html -bw
Now get this error: Assertion failed: (0 && "Don't support illegal by-val vector arguments yet!"), function LowerArguments, file /Volumes/Gir/devel/llvm/llvm.src/lib/CodeGen\ /SelectionDAG/SelectionDAGISel.cpp, line 3158. mmx-3.cpp:157: internal compiler error: Abort trap Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://llvm.org/bugs> for instructions. .abort -bw
Assertion was caused by: define void @main() { entry: %tmp1314.2 = tail call <8 x i8> @llvm.x86.mmx.packuswb( <4 x i16> zeroinitializer, <4 x i16> bitcast (i64 0 to <4 x i16>) ) ret void } declare <8 x i8> @llvm.x86.mmx.packuswb(<4 x i16>, <4 x i16>)
Interesting: this looks related to Bug 1172. I can make this constant fold to a zero vector, but I don't know if that will fix the original problem or just the reduced testcase.
We support MMX now. Try it out!