[cfe-commits] r115299 - /cfe/trunk/lib/Headers/emmintrin.h

Chris Lattner sabre at nondot.org
Thu Sep 30 23:52:23 PDT 2010


Author: lattner
Date: Fri Oct  1 01:52:23 2010
New Revision: 115299

URL: http://llvm.org/viewvc/llvm-project?rev=115299&view=rev
Log:
the second argument to __builtin_ia32_pslldqi128 must be an immediate,
so it needs to be called from a macro, not a function.  This is a necessary
but insufficient step towards fixing PR8221

Modified:
    cfe/trunk/lib/Headers/emmintrin.h

Modified: cfe/trunk/lib/Headers/emmintrin.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/emmintrin.h?rev=115299&r1=115298&r2=115299&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/emmintrin.h (original)
+++ cfe/trunk/lib/Headers/emmintrin.h Fri Oct  1 01:52:23 2010
@@ -777,11 +777,8 @@
   return a ^ b;
 }
 
-static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
-_mm_slli_si128(__m128i a, int imm)
-{
-  return __builtin_ia32_pslldqi128(a, imm * 8);
-}
+#define _mm_slli_si128(VEC, IMM) \
+  ((__m128i)__builtin_ia32_pslldqi128(VEC, (IMM)*8))
 
 static __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
 _mm_slli_epi16(__m128i a, int count)





More information about the cfe-commits mailing list