[cfe-commits] r97904 - /cfe/trunk/lib/Headers/smmintrin.h

Eric Christopher echristo at apple.com
Mon Mar 15 17:25:56 PDT 2010

On Mar 6, 2010, at 10:35 PM, Chris Lattner wrote:

> The pattern used in xmmintrin.h is to put these typedefs inside the function that uses them, e.g.:
> static inline __m128 __attribute__((__always_inline__, __nodebug__))
> _mm_andnot_ps(__m128 a, __m128 b)
> {
>  typedef int __v4si __attribute__((__vector_size__(16)));
>  return (__m128)(~(__v4si)a & (__v4si)b);

I took a look btw and figured out why this is - for __v4si it's usually defined in emmintrin.h and not xmmintrin.h so to stop it from being defined earlier it's defined in each function.

Given that emmintrin.h just #includes xmmintrin.h I'm just going to hoist the definition in xmmintrin.h and remove it from emmintrin.h.


More information about the cfe-commits mailing list