summaryrefslogtreecommitdiffstats
path: root/clang/lib/Headers/xmmintrin.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Headers/xmmintrin.h')
-rw-r--r--clang/lib/Headers/xmmintrin.h144
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);
}
OpenPOWER on IntegriCloud