>> > I segregated all of the MMX builtins into their own little group in the > BuiltinsX86.def file. I can expand the comment to explain what we're doing > with the MMX builtins. >
Makes total sense :) > I added these here for completeness (they're in the llvm/IntrinsicsX86.td > file). As Chris mentioned, all of the MMX vector types are going to be > bitcast to x86_mmx, fed into the MMX intrinsic, and the result bitcast to the > builtin's return type. Any LLVM-native instructions will expand those types > (<1 x i64>, <2 x i32>, etc.) into larger vector types and use SSE (or > whatever) for them. It may be possible to optimize this for + and - (i.e., > automagically generate an MMX instruction for the '+' in "_mm_add_pi16(a, b) > + _mm_add_pi16(c, d)"), but that would take caring about MMX performance. :-) :) -eric _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
