diff options
Diffstat (limited to 'lib/Headers')
-rw-r--r-- | lib/Headers/emmintrin.h | 5 | ||||
-rw-r--r-- | lib/Headers/xmmintrin.h | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/Headers/emmintrin.h b/lib/Headers/emmintrin.h index 6b9dd2a..8afbe76 100644 --- a/lib/Headers/emmintrin.h +++ b/lib/Headers/emmintrin.h @@ -1310,8 +1310,9 @@ _mm_movemask_pd(__m128d a) return __builtin_ia32_movmskpd(a); } -#define _mm_shuffle_pd(a, b, i) (__builtin_shufflevector((a), (b), (i) & 1, \ - (((i) & 2) >> 1) + 2)) +#define _mm_shuffle_pd(a, b, i) \ + (__builtin_shufflevector((__m128d)(a), (__m128d)(b), (i) & 1, \ + (((i) & 2) >> 1) + 2)) static __inline__ __m128 __attribute__((__always_inline__, __nodebug__)) _mm_castpd_ps(__m128d in) diff --git a/lib/Headers/xmmintrin.h b/lib/Headers/xmmintrin.h index 4e313b2..3e82e28 100644 --- a/lib/Headers/xmmintrin.h +++ b/lib/Headers/xmmintrin.h @@ -723,7 +723,8 @@ _mm_setcsr(unsigned int i) } #define _mm_shuffle_ps(a, b, mask) \ - (__builtin_shufflevector(a, b, (mask) & 0x3, ((mask) & 0xc) >> 2, \ + (__builtin_shufflevector((__v4sf)a, (__v4sf)b, \ + (mask) & 0x3, ((mask) & 0xc) >> 2, \ (((mask) & 0x30) >> 4) + 4, \ (((mask) & 0xc0) >> 6) + 4)) |