[cfe-commits] r114349 - /cfe/trunk/include/clang/Basic/BuiltinsX86.def

Eric Christopher echristo at apple.com
Mon Sep 20 18:21:40 PDT 2010


>> 
> 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



More information about the cfe-commits mailing list