Changes to SLEEF for Issue 1893

This commit is contained in:
Ingo
2013-06-06 18:41:49 +02:00
parent 881298e477
commit 4d9ada77eb
2 changed files with 10 additions and 0 deletions

View File

@@ -27,6 +27,8 @@ typedef __m128i vint2;
//
#define LVFU(x) _mm_loadu_ps(&x)
#define LC2VFU(a) _mm_shuffle_ps( LVFU(a), _mm_loadu_ps( (&a) + 4 ), _MM_SHUFFLE( 2,0,2,0 ) )
static INLINE vint vrint_vi_vd(vdouble vd) { return _mm_cvtpd_epi32(vd); }
static INLINE vint vtruncate_vi_vd(vdouble vd) { return _mm_cvttpd_epi32(vd); }

View File

@@ -1292,6 +1292,14 @@ static INLINE vfloat xcbrtf(vfloat d) {
return y;
}
static INLINE vfloat LIMV( vfloat a, vfloat b, vfloat c ) {
return _mm_max_ps( b, _mm_min_ps(a,c));
}
static INLINE vfloat ULIMV( vfloat a, vfloat b, vfloat c ){
return vself( vmaskf_lt(b,c), LIMV(a,b,c), LIMV(a,c,b));
}
static INLINE vfloat SQRV(vfloat a){
return _mm_mul_ps( a,a );
}