diff options
author | Anders Carlsson <andersca@mac.com> | 2009-09-18 17:03:55 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-09-18 17:03:55 +0000 |
commit | 9436ed50b0923368d5ae7a97f1b67c56b6837430 (patch) | |
tree | a1fedae8a2d0c0a163488b66e86004334157075a | |
parent | b1c28a1f7ef3bd3616df6ddcdb503f4b480a8df6 (diff) |
Fix PR4923.
Fix error in _mm_set_pd/_mm_setr_pd and add _mm_set_epi64x/_mm_set1_epi64x. Patch by Laurent Morichetti!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82228 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Headers/emmintrin.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/Headers/emmintrin.h b/lib/Headers/emmintrin.h index 9db6951292..b83ed5fe02 100644 --- a/lib/Headers/emmintrin.h +++ b/lib/Headers/emmintrin.h @@ -500,13 +500,13 @@ _mm_set1_pd(double w) static inline __m128d __attribute__((__always_inline__, __nodebug__)) _mm_set_pd(double w, double x) { - return (__m128d){ w, x }; + return (__m128d){ x, w }; } static inline __m128d __attribute__((__always_inline__, __nodebug__)) _mm_setr_pd(double w, double x) { - return (__m128d){ x, w }; + return (__m128d){ w, x }; } static inline __m128d __attribute__((__always_inline__, __nodebug__)) @@ -1024,6 +1024,12 @@ _mm_loadl_epi64(__m128i const *p) } static inline __m128i __attribute__((__always_inline__, __nodebug__)) +_mm_set_epi64x(long long q1, long long q0) +{ + return (__m128i){ q0, q1 }; +} + +static inline __m128i __attribute__((__always_inline__, __nodebug__)) _mm_set_epi64(__m64 q1, __m64 q0) { return (__m128i){ (long long)q0, (long long)q1 }; @@ -1048,6 +1054,12 @@ _mm_set_epi8(char b15, char b14, char b13, char b12, char b11, char b10, char b9 } static inline __m128i __attribute__((__always_inline__, __nodebug__)) +_mm_set1_epi64x(long long q) +{ + return (__m128i){ q, q }; +} + +static inline __m128i __attribute__((__always_inline__, __nodebug__)) _mm_set1_epi64(__m64 q) { return (__m128i){ (long long)q, (long long)q }; |