47 _mm_castsi128_ps(_mm_cvttps_epi32(v)),
48 _mm_castsi128_ps(_mm_add_epi32(_mm_cvttps_epi32(_mm_sub_ps(v, _mm_set1_ps(1u << 31))), _mm_set1_epi32(1 << 31))),
49 _mm_cmpge_ps(v, _mm_set1_ps(1u << 31))
62 _mm_add_ps(_mm_cvtepi32_ps(_mm_sub_epi32(v, _mm_set1_epi32(1 << 31))), _mm_set1_ps(1u << 31)),
63 _mm_castsi128_ps(_mm_cmplt_epi32(v, _mm_setzero_si128()))
72 return M256::create(_mm_cvtepi32_ps(_mm_unpacklo_epi16(v, _mm_setzero_si128())),
73 _mm_cvtepi32_ps(_mm_unpackhi_epi16(v, _mm_setzero_si128())));
76 const _M128I neg = _mm_cmplt_epi16(v, _mm_setzero_si128());
77 return M256::create(_mm_cvtepi32_ps(_mm_unpacklo_epi16(v, neg)),
78 _mm_cvtepi32_ps(_mm_unpackhi_epi16(v, neg)));
85 return _mm_add_epi16(_mm_set1_epi16(-32768),
87 _mm_add_epi32(_mm_set1_epi32(-32768), _mm_cvttps_epi32(v[0])),
88 _mm_add_epi32(_mm_set1_epi32(-32768), _mm_cvttps_epi32(v[1]))
104 #endif // SSE_CASTS_H
static Vc_ALWAYS_INLINE _M128I cast(const _M128D &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128 cast(const _M128 &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128 &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128 &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_INTRINSIC Vc_CONST M256 create(_M128 a, _M128 b)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128D cast(const _M128 &v)
static Vc_ALWAYS_INLINE M256 cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128 &v)
#define VC_ALIGNED_PARAMETER(_Type)
static Vc_ALWAYS_INLINE _M128 cast(const _M128D &v)
static Vc_ALWAYS_INLINE M256 cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128I cast(const M256 &v)
static Vc_ALWAYS_INLINE To Vc_CONST sse_cast(VC_ALIGNED_PARAMETER(From) v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128D &v)
static Vc_ALWAYS_INLINE _M128D cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128D cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128I cast(const M256 &v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128 cast(const _M128I &v)
static Vc_ALWAYS_INLINE _M128 cast(const _M128I &v)
static Vc_INTRINSIC __m128 mm_blendv_ps(__m128 a, __m128 b, __m128 c)
static Vc_ALWAYS_INLINE _M128D cast(const _M128D &v)
static Vc_ALWAYS_INLINE To Vc_CONST mm128_reinterpret_cast(VC_ALIGNED_PARAMETER(From) v)
static Vc_ALWAYS_INLINE _M128I cast(const _M128 &v)