| 1986 | } |
| 1987 | |
| 1988 | CPPSPMD_FORCE_INLINE vint table_lookup6_8(const vint& a, const vint& table_0, const vint& table_1, const vint& table_2, const vint& table_3) |
| 1989 | { |
| 1990 | __m128i m_0 = _mm_slli_epi32(a.m_value, 31 - 4); |
| 1991 | |
| 1992 | __m128 av_0; |
| 1993 | { |
| 1994 | __m128i al_0 = shuffle_epi8(table_0.m_value, a.m_value); |
| 1995 | __m128i ah_0 = shuffle_epi8(table_1.m_value, a.m_value); |
| 1996 | av_0 = blendv_ps(_mm_castsi128_ps(al_0), _mm_castsi128_ps(ah_0), _mm_castsi128_ps(m_0)); |
| 1997 | } |
| 1998 | |
| 1999 | __m128 bv_0; |
| 2000 | { |
| 2001 | __m128i bl_0 = shuffle_epi8(table_2.m_value, a.m_value); |
| 2002 | __m128i bh_0 = shuffle_epi8(table_3.m_value, a.m_value); |
| 2003 | bv_0 = blendv_ps(_mm_castsi128_ps(bl_0), _mm_castsi128_ps(bh_0), _mm_castsi128_ps(m_0)); |
| 2004 | } |
| 2005 | |
| 2006 | __m128i m2_0 = _mm_slli_epi32(a.m_value, 31 - 5); |
| 2007 | __m128 v2_0 = blendv_ps(av_0, bv_0, _mm_castsi128_ps(m2_0)); |
| 2008 | |
| 2009 | return vint{ _mm_castps_si128(v2_0) }; |
| 2010 | } |
| 2011 | |
| 2012 | #if 0 |
| 2013 | template<typename SPMDKernel, typename... Args> |
nothing calls this directly
no test coverage detected