forked from OSchip/llvm-project
PR9866: Fix the implementation of _mm_loadl_pd and _mm_loadh_pd to not make
bad assumptions about the alignment of the double* argument. llvm-svn: 131052
This commit is contained in:
parent
61d818c058
commit
8ba29d8e7f
|
@ -478,13 +478,13 @@ _mm_load_sd(double const *dp)
|
|||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_loadh_pd(__m128d a, double const *dp)
|
||||
{
|
||||
return __builtin_shufflevector(a, *(__m128d *)dp, 0, 2);
|
||||
return (__m128d){ a[0], *dp };
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
_mm_loadl_pd(__m128d a, double const *dp)
|
||||
{
|
||||
return __builtin_shufflevector(a, *(__m128d *)dp, 2, 1);
|
||||
return (__m128d){ *dp, a[1] };
|
||||
}
|
||||
|
||||
static __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
|
||||
|
|
Loading…
Reference in New Issue