Fix PR4923.

Fix error in _mm_set_pd/_mm_setr_pd and add _mm_set_epi64x/_mm_set1_epi64x. Patch by Laurent Morichetti!

llvm-svn: 82228
This commit is contained in:
Anders Carlsson 2009-09-18 17:03:55 +00:00
parent 592638ae05
commit dfa3117085
1 changed files with 14 additions and 2 deletions

View File

@ -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__))
@ -1023,6 +1023,12 @@ _mm_loadl_epi64(__m128i const *p)
return (__m128i) { *(long long*)p, 0};
}
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)
{
@ -1047,6 +1053,12 @@ _mm_set_epi8(char b15, char b14, char b13, char b12, char b11, char b10, char b9
return (__m128i)(__v16qi){ b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15 };
}
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)
{