diff options
| author | Craig Topper <craig.topper@gmail.com> | 2016-05-16 06:38:42 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2016-05-16 06:38:42 +0000 |
| commit | 1aa231e3aaf2c2f4cbf73f2d02b896c05d072cdb (patch) | |
| tree | 042ff41c566a6274df3abcd65ac6b897ee50e0f0 /clang/lib/Headers/xmmintrin.h | |
| parent | 9c6c85f1ade89a94fe900fed7f83b509e6194c62 (diff) | |
| download | bcm5719-llvm-1aa231e3aaf2c2f4cbf73f2d02b896c05d072cdb.tar.gz bcm5719-llvm-1aa231e3aaf2c2f4cbf73f2d02b896c05d072cdb.zip | |
[X86] Add typecasts to remove most assumptions about what __m128i/__m256i is defined as. Add similar typecasts for the fp types as well.
llvm-svn: 269632
Diffstat (limited to 'clang/lib/Headers/xmmintrin.h')
| -rw-r--r-- | clang/lib/Headers/xmmintrin.h | 144 |
1 files changed, 72 insertions, 72 deletions
diff --git a/clang/lib/Headers/xmmintrin.h b/clang/lib/Headers/xmmintrin.h index 43f94229f16..5b381979a1a 100644 --- a/clang/lib/Headers/xmmintrin.h +++ b/clang/lib/Headers/xmmintrin.h @@ -77,7 +77,7 @@ _mm_add_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_add_ps(__m128 __a, __m128 __b) { - return __a + __b; + return (__m128)((__v4sf)__a + (__v4sf)__b); } /// \brief Subtracts the 32-bit float value in the low-order bits of the second @@ -120,7 +120,7 @@ _mm_sub_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_sub_ps(__m128 __a, __m128 __b) { - return __a - __b; + return (__m128)((__v4sf)__a - (__v4sf)__b); } /// \brief Multiplies two 32-bit float values in the low-order bits of the @@ -162,7 +162,7 @@ _mm_mul_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_mul_ps(__m128 __a, __m128 __b) { - return __a * __b; + return (__m128)((__v4sf)__a * (__v4sf)__b); } /// \brief Divides the value in the low-order 32 bits of the first operand by @@ -203,7 +203,7 @@ _mm_div_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_div_ps(__m128 __a, __m128 __b) { - return __a / __b; + return (__m128)((__v4sf)__a / (__v4sf)__b); } /// \brief Calculates the square root of the value stored in the low-order bits @@ -221,7 +221,7 @@ _mm_div_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_sqrt_ss(__m128 __a) { - __m128 __c = __builtin_ia32_sqrtss(__a); + __m128 __c = __builtin_ia32_sqrtss((__v4sf)__a); return (__m128) { __c[0], __a[1], __a[2], __a[3] }; } @@ -239,7 +239,7 @@ _mm_sqrt_ss(__m128 __a) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_sqrt_ps(__m128 __a) { - return __builtin_ia32_sqrtps(__a); + return __builtin_ia32_sqrtps((__v4sf)__a); } /// \brief Calculates the approximate reciprocal of the value stored in the @@ -257,7 +257,7 @@ _mm_sqrt_ps(__m128 __a) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_rcp_ss(__m128 __a) { - __m128 __c = __builtin_ia32_rcpss(__a); + __m128 __c = __builtin_ia32_rcpss((__v4sf)__a); return (__m128) { __c[0], __a[1], __a[2], __a[3] }; } @@ -275,7 +275,7 @@ _mm_rcp_ss(__m128 __a) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_rcp_ps(__m128 __a) { - return __builtin_ia32_rcpps(__a); + return __builtin_ia32_rcpps((__v4sf)__a); } /// \brief Calculates the approximate reciprocal of the square root of the value @@ -294,7 +294,7 @@ _mm_rcp_ps(__m128 __a) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_rsqrt_ss(__m128 __a) { - __m128 __c = __builtin_ia32_rsqrtss(__a); + __m128 __c = __builtin_ia32_rsqrtss((__v4sf)__a); return (__m128) { __c[0], __a[1], __a[2], __a[3] }; } @@ -312,7 +312,7 @@ _mm_rsqrt_ss(__m128 __a) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_rsqrt_ps(__m128 __a) { - return __builtin_ia32_rsqrtps(__a); + return __builtin_ia32_rsqrtps((__v4sf)__a); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -335,7 +335,7 @@ _mm_rsqrt_ps(__m128 __a) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_min_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_minss(__a, __b); + return __builtin_ia32_minss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 128-bit vectors of [4 x float] and returns the @@ -354,7 +354,7 @@ _mm_min_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_min_ps(__m128 __a, __m128 __b) { - return __builtin_ia32_minps(__a, __b); + return __builtin_ia32_minps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -377,7 +377,7 @@ _mm_min_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_max_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_maxss(__a, __b); + return __builtin_ia32_maxss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 128-bit vectors of [4 x float] and returns the greater @@ -396,7 +396,7 @@ _mm_max_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_max_ps(__m128 __a, __m128 __b) { - return __builtin_ia32_maxps(__a, __b); + return __builtin_ia32_maxps((__v4sf)__a, (__v4sf)__b); } /// \brief Performs a bitwise AND of two 128-bit vectors of [4 x float]. @@ -495,7 +495,7 @@ _mm_xor_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpeq_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpeqss(__a, __b); + return (__m128)__builtin_ia32_cmpeqss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -513,7 +513,7 @@ _mm_cmpeq_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpeq_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpeqps(__a, __b); + return (__m128)__builtin_ia32_cmpeqps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -536,7 +536,7 @@ _mm_cmpeq_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmplt_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpltss(__a, __b); + return (__m128)__builtin_ia32_cmpltss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -555,7 +555,7 @@ _mm_cmplt_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmplt_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpltps(__a, __b); + return (__m128)__builtin_ia32_cmpltps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -579,7 +579,7 @@ _mm_cmplt_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmple_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpless(__a, __b); + return (__m128)__builtin_ia32_cmpless((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -598,7 +598,7 @@ _mm_cmple_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmple_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpleps(__a, __b); + return (__m128)__builtin_ia32_cmpleps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -621,8 +621,8 @@ _mm_cmple_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpgt_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_shufflevector(__a, - __builtin_ia32_cmpltss(__b, __a), + return (__m128)__builtin_shufflevector((__v4sf)__a, + (__v4sf)__builtin_ia32_cmpltss((__v4sf)__b, (__v4sf)__a), 4, 1, 2, 3); } @@ -642,7 +642,7 @@ _mm_cmpgt_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpgt_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpltps(__b, __a); + return (__m128)__builtin_ia32_cmpltps((__v4sf)__b, (__v4sf)__a); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -666,8 +666,8 @@ _mm_cmpgt_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpge_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_shufflevector(__a, - __builtin_ia32_cmpless(__b, __a), + return (__m128)__builtin_shufflevector((__v4sf)__a, + (__v4sf)__builtin_ia32_cmpless((__v4sf)__b, (__v4sf)__a), 4, 1, 2, 3); } @@ -687,7 +687,7 @@ _mm_cmpge_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpge_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpleps(__b, __a); + return (__m128)__builtin_ia32_cmpleps((__v4sf)__b, (__v4sf)__a); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -709,7 +709,7 @@ _mm_cmpge_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpneq_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpneqss(__a, __b); + return (__m128)__builtin_ia32_cmpneqss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -727,7 +727,7 @@ _mm_cmpneq_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpneq_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpneqps(__a, __b); + return (__m128)__builtin_ia32_cmpneqps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -750,7 +750,7 @@ _mm_cmpneq_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpnlt_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpnltss(__a, __b); + return (__m128)__builtin_ia32_cmpnltss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -769,7 +769,7 @@ _mm_cmpnlt_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpnlt_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpnltps(__a, __b); + return (__m128)__builtin_ia32_cmpnltps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -793,7 +793,7 @@ _mm_cmpnlt_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpnle_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpnless(__a, __b); + return (__m128)__builtin_ia32_cmpnless((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -812,7 +812,7 @@ _mm_cmpnle_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpnle_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpnleps(__a, __b); + return (__m128)__builtin_ia32_cmpnleps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -836,8 +836,8 @@ _mm_cmpnle_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpngt_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_shufflevector(__a, - __builtin_ia32_cmpnltss(__b, __a), + return (__m128)__builtin_shufflevector((__v4sf)__a, + (__v4sf)__builtin_ia32_cmpnltss((__v4sf)__b, (__v4sf)__a), 4, 1, 2, 3); } @@ -857,7 +857,7 @@ _mm_cmpngt_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpngt_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpnltps(__b, __a); + return (__m128)__builtin_ia32_cmpnltps((__v4sf)__b, (__v4sf)__a); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -881,8 +881,8 @@ _mm_cmpngt_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpnge_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_shufflevector(__a, - __builtin_ia32_cmpnless(__b, __a), + return (__m128)__builtin_shufflevector((__v4sf)__a, + (__v4sf)__builtin_ia32_cmpnless((__v4sf)__b, (__v4sf)__a), 4, 1, 2, 3); } @@ -902,7 +902,7 @@ _mm_cmpnge_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpnge_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpnleps(__b, __a); + return (__m128)__builtin_ia32_cmpnleps((__v4sf)__b, (__v4sf)__a); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -926,7 +926,7 @@ _mm_cmpnge_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpord_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpordss(__a, __b); + return (__m128)__builtin_ia32_cmpordss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -945,7 +945,7 @@ _mm_cmpord_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpord_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpordps(__a, __b); + return (__m128)__builtin_ia32_cmpordps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -969,7 +969,7 @@ _mm_cmpord_ps(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpunord_ss(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpunordss(__a, __b); + return (__m128)__builtin_ia32_cmpunordss((__v4sf)__a, (__v4sf)__b); } /// \brief Compares each of the corresponding 32-bit float values of the @@ -988,7 +988,7 @@ _mm_cmpunord_ss(__m128 __a, __m128 __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cmpunord_ps(__m128 __a, __m128 __b) { - return (__m128)__builtin_ia32_cmpunordps(__a, __b); + return (__m128)__builtin_ia32_cmpunordps((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -1008,7 +1008,7 @@ _mm_cmpunord_ps(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_comieq_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_comieq(__a, __b); + return __builtin_ia32_comieq((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -1029,7 +1029,7 @@ _mm_comieq_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_comilt_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_comilt(__a, __b); + return __builtin_ia32_comilt((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -1050,7 +1050,7 @@ _mm_comilt_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_comile_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_comile(__a, __b); + return __builtin_ia32_comile((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -1071,7 +1071,7 @@ _mm_comile_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_comigt_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_comigt(__a, __b); + return __builtin_ia32_comigt((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -1092,7 +1092,7 @@ _mm_comigt_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_comige_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_comige(__a, __b); + return __builtin_ia32_comige((__v4sf)__a, (__v4sf)__b); } /// \brief Compares two 32-bit float values in the low-order bits of both @@ -1113,7 +1113,7 @@ _mm_comige_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_comineq_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_comineq(__a, __b); + return __builtin_ia32_comineq((__v4sf)__a, (__v4sf)__b); } /// \brief Performs an unordered comparison of two 32-bit float values using @@ -1134,7 +1134,7 @@ _mm_comineq_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomieq_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_ucomieq(__a, __b); + return __builtin_ia32_ucomieq((__v4sf)__a, (__v4sf)__b); } /// \brief Performs an unordered comparison of two 32-bit float values using @@ -1155,7 +1155,7 @@ _mm_ucomieq_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomilt_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_ucomilt(__a, __b); + return __builtin_ia32_ucomilt((__v4sf)__a, (__v4sf)__b); } /// \brief Performs an unordered comparison of two 32-bit float values using @@ -1177,7 +1177,7 @@ _mm_ucomilt_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomile_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_ucomile(__a, __b); + return __builtin_ia32_ucomile((__v4sf)__a, (__v4sf)__b); } /// \brief Performs an unordered comparison of two 32-bit float values using @@ -1199,7 +1199,7 @@ _mm_ucomile_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomigt_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_ucomigt(__a, __b); + return __builtin_ia32_ucomigt((__v4sf)__a, (__v4sf)__b); } /// \brief Performs an unordered comparison of two 32-bit float values using @@ -1221,7 +1221,7 @@ _mm_ucomigt_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomige_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_ucomige(__a, __b); + return __builtin_ia32_ucomige((__v4sf)__a, (__v4sf)__b); } /// \brief Performs an unordered comparison of two 32-bit float values using @@ -1242,7 +1242,7 @@ _mm_ucomige_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_ucomineq_ss(__m128 __a, __m128 __b) { - return __builtin_ia32_ucomineq(__a, __b); + return __builtin_ia32_ucomineq((__v4sf)__a, (__v4sf)__b); } /// \brief Converts a float value contained in the lower 32 bits of a vector of @@ -1259,7 +1259,7 @@ _mm_ucomineq_ss(__m128 __a, __m128 __b) static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtss_si32(__m128 __a) { - return __builtin_ia32_cvtss2si(__a); + return __builtin_ia32_cvtss2si((__v4sf)__a); } /// \brief Converts a float value contained in the lower 32 bits of a vector of @@ -1295,7 +1295,7 @@ _mm_cvt_ss2si(__m128 __a) static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvtss_si64(__m128 __a) { - return __builtin_ia32_cvtss2si64(__a); + return __builtin_ia32_cvtss2si64((__v4sf)__a); } #endif @@ -1313,7 +1313,7 @@ _mm_cvtss_si64(__m128 __a) static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cvtps_pi32(__m128 __a) { - return (__m64)__builtin_ia32_cvtps2pi(__a); + return (__m64)__builtin_ia32_cvtps2pi((__v4sf)__a); } /// \brief Converts two low-order float values in a 128-bit vector of @@ -1400,7 +1400,7 @@ _mm_cvttss_si64(__m128 __a) static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cvttps_pi32(__m128 __a) { - return (__m64)__builtin_ia32_cvttps2pi(__a); + return (__m64)__builtin_ia32_cvttps2pi((__v4sf)__a); } static __inline__ __m64 __DEFAULT_FN_ATTRS @@ -1436,7 +1436,7 @@ _mm_cvtsi64_ss(__m128 __a, long long __b) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_cvtpi32_ps(__m128 __a, __m64 __b) { - return __builtin_ia32_cvtpi2ps(__a, (__v2si)__b); + return __builtin_ia32_cvtpi2ps((__v4sf)__a, (__v2si)__b); } static __inline__ __m128 __DEFAULT_FN_ATTRS @@ -1516,7 +1516,7 @@ static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_loadr_ps(const float *__p) { __m128 __a = _mm_load_ps(__p); - return __builtin_shufflevector(__a, __a, 3, 2, 1, 0); + return __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 3, 2, 1, 0); } static __inline__ __m128 __DEFAULT_FN_ATTRS @@ -1565,13 +1565,13 @@ _mm_setzero_ps(void) static __inline__ void __DEFAULT_FN_ATTRS _mm_storeh_pi(__m64 *__p, __m128 __a) { - __builtin_ia32_storehps((__v2si *)__p, __a); + __builtin_ia32_storehps((__v2si *)__p, (__v4sf)__a); } static __inline__ void __DEFAULT_FN_ATTRS _mm_storel_pi(__m64 *__p, __m128 __a) { - __builtin_ia32_storelps((__v2si *)__p, __a); + __builtin_ia32_storelps((__v2si *)__p, (__v4sf)__a); } static __inline__ void __DEFAULT_FN_ATTRS @@ -1586,13 +1586,13 @@ _mm_store_ss(float *__p, __m128 __a) static __inline__ void __DEFAULT_FN_ATTRS _mm_storeu_ps(float *__p, __m128 __a) { - __builtin_ia32_storeups(__p, __a); + __builtin_ia32_storeups(__p, (__v4sf)__a); } static __inline__ void __DEFAULT_FN_ATTRS _mm_store1_ps(float *__p, __m128 __a) { - __a = __builtin_shufflevector(__a, __a, 0, 0, 0, 0); + __a = __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 0, 0, 0, 0); _mm_storeu_ps(__p, __a); } @@ -1611,7 +1611,7 @@ _mm_store_ps(float *__p, __m128 __a) static __inline__ void __DEFAULT_FN_ATTRS _mm_storer_ps(float *__p, __m128 __a) { - __a = __builtin_shufflevector(__a, __a, 3, 2, 1, 0); + __a = __builtin_shufflevector((__v4sf)__a, (__v4sf)__a, 3, 2, 1, 0); _mm_store_ps(__p, __a); } @@ -1636,7 +1636,7 @@ _mm_stream_pi(__m64 *__p, __m64 __a) static __inline__ void __DEFAULT_FN_ATTRS _mm_stream_ps(float *__p, __m128 __a) { - __builtin_ia32_movntps(__p, __a); + __builtin_ia32_movntps(__p, (__v4sf)__a); } static __inline__ void __DEFAULT_FN_ATTRS @@ -1744,31 +1744,31 @@ _mm_setcsr(unsigned int __i) static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_unpackhi_ps(__m128 __a, __m128 __b) { - return __builtin_shufflevector(__a, __b, 2, 6, 3, 7); + return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 2, 6, 3, 7); } static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_unpacklo_ps(__m128 __a, __m128 __b) { - return __builtin_shufflevector(__a, __b, 0, 4, 1, 5); + return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 4, 1, 5); } static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_move_ss(__m128 __a, __m128 __b) { - return __builtin_shufflevector(__a, __b, 4, 1, 2, 3); + return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 4, 1, 2, 3); } static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_movehl_ps(__m128 __a, __m128 __b) { - return __builtin_shufflevector(__a, __b, 6, 7, 2, 3); + return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 6, 7, 2, 3); } static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_movelh_ps(__m128 __a, __m128 __b) { - return __builtin_shufflevector(__a, __b, 0, 1, 4, 5); + return __builtin_shufflevector((__v4sf)__a, (__v4sf)__b, 0, 1, 4, 5); } static __inline__ __m128 __DEFAULT_FN_ATTRS @@ -1867,7 +1867,7 @@ _mm_cvtps_pi8(__m128 __a) static __inline__ int __DEFAULT_FN_ATTRS _mm_movemask_ps(__m128 __a) { - return __builtin_ia32_movmskps(__a); + return __builtin_ia32_movmskps((__v4sf)__a); } |

