Beispiel #1
0
 BOOST_FORCEINLINE
 __m256 shuffle_pairs(__m256 const lower, __m256 const upper)
 {
   return _mm256_castpd_ps(
     _mm256_shuffle_pd( _mm256_castps_pd(lower),  _mm256_castps_pd(upper)
                      , BOOST_SIMD_MM_SHUFFLE_PD(i3, i2, i1, i0)
                      )
   );
 }
Beispiel #2
0
template<> INLINE avxb shuffle<0,1,0,1>(const avxb& b) {
  return _mm256_castpd_ps(_mm256_movedup_pd(_mm256_castps_pd(b)));
}
Beispiel #3
0
template<> INLINE const avxi shuffle<0, 1, 0, 1>( const avxi& b ) { return _mm256_castps_si256(_mm256_castpd_ps(_mm256_movedup_pd(_mm256_castps_pd(_mm256_castsi256_ps(b))))); }