MCPcopy Create free account
hub / github.com/EricLengyel/Terathon-Math-Library / VecInt16Deinterleave

Function VecInt16Deinterleave

TSSimd.h:2353–2367  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2351 }
2352
2353 inline vec_int16 VecInt16Deinterleave(const vec_int16& v)
2354 {
2355 #if defined(TERATHON_SSE)
2356
2357 vec_int16 i = _mm_shufflelo_epi16(v, _MM_SHUFFLE(3, 1, 2, 0));
2358 i = _mm_shufflehi_epi16(i, _MM_SHUFFLE(3, 1, 2, 0));
2359 return (_mm_shuffle_epi32(i, _MM_SHUFFLE(3, 1, 2, 0)));
2360
2361 #elif defined(TERATHON_NEON)
2362
2363 int16x4x2_t r = vuzp_s16(vget_low_s16(v), vget_high_s16(v));
2364 return (vcombine_s16(r.val[0], r.val[1]));
2365
2366 #endif
2367 }
2368
2369 inline vec_float VecInt32ConvertFloat(const vec_int32& v)
2370 {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected