diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Headers/xmmintrin.h')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Headers/xmmintrin.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h b/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h index 8c5fc95..c68d3ed 100644 --- a/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h +++ b/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h @@ -218,7 +218,9 @@ _mm_cmple_ps(__m128 __a, __m128 __b) static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) _mm_cmpgt_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpss(__b, __a, 1); + return (__m128)__builtin_shufflevector(__a, + __builtin_ia32_cmpss(__b, __a, 1), + 4, 1, 2, 3); } static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) @@ -230,7 +232,9 @@ _mm_cmpgt_ps(__m128 __a, __m128 __b) static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) _mm_cmpge_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpss(__b, __a, 2); + return (__m128)__builtin_shufflevector(__a, + __builtin_ia32_cmpss(__b, __a, 2), + 4, 1, 2, 3); } static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) @@ -278,7 +282,9 @@ _mm_cmpnle_ps(__m128 __a, __m128 __b) static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) _mm_cmpngt_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpss(__b, __a, 5); + return (__m128)__builtin_shufflevector(__a, + __builtin_ia32_cmpss(__b, __a, 5), + 4, 1, 2, 3); } static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) @@ -290,7 +296,9 @@ _mm_cmpngt_ps(__m128 __a, __m128 __b) static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) _mm_cmpnge_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpss(__b, __a, 6); + return (__m128)__builtin_shufflevector(__a, + __builtin_ia32_cmpss(__b, __a, 6), + 4, 1, 2, 3); } static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) @@ -983,12 +991,10 @@ do { \ #define _m_ _mm_ #define _m_ _mm_ -#if !__has_feature(modules) /* Ugly hack for backwards-compatibility (compatible with gcc) */ #ifdef __SSE2__ #include <emmintrin.h> #endif -#endif #endif /* __SSE__ */ |