From: Chris Lattner Date: Thu, 7 Jan 2010 00:36:41 +0000 (+0000) Subject: _mm_xor_ps does a xor not a nxor. The other 'xor' builtins look fine, X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2c48345cf9d4cfe5fe73a37de684825f6015518b;p=clang _mm_xor_ps does a xor not a nxor. The other 'xor' builtins look fine, but this one is wrong. Thanks to Tanya for noticing this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92881 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Headers/xmmintrin.h b/lib/Headers/xmmintrin.h index 5d2bcbb98c..e27060295a 100644 --- a/lib/Headers/xmmintrin.h +++ b/lib/Headers/xmmintrin.h @@ -172,7 +172,7 @@ static inline __m128 __attribute__((__always_inline__, __nodebug__)) _mm_xor_ps(__m128 a, __m128 b) { typedef int __v4si __attribute__((__vector_size__(16))); - return (__m128)((__v4si)a ^ ~(__v4si)b); + return (__m128)((__v4si)a ^ (__v4si)b); } static inline __m128 __attribute__((__always_inline__, __nodebug__))