MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/OpenColorIO / sse2RGBATranspose_4x4

Function sse2RGBATranspose_4x4

src/OpenColorIO/SSE2.h:91–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89}
90
91static inline void sse2RGBATranspose_4x4(__m128 row0, __m128 row1, __m128 row2, __m128 row3,
92 __m128 &out_r, __m128 &out_g, __m128 &out_b, __m128 &out_a )
93{
94 __m128 tmp0 = _mm_unpacklo_ps(row0, row1);
95 __m128 tmp2 = _mm_unpacklo_ps(row2, row3);
96 __m128 tmp1 = _mm_unpackhi_ps(row0, row1);
97 __m128 tmp3 = _mm_unpackhi_ps(row2, row3);
98 out_r = _mm_movelh_ps(tmp0, tmp2);
99 out_g = _mm_movehl_ps(tmp2, tmp0); // Note movhlps swaps b with a which is different than unpckhpd
100 out_b = _mm_movelh_ps(tmp1, tmp3);
101 out_a = _mm_movehl_ps(tmp3, tmp1);
102}
103
104#if !OCIO_USE_SSE2NEON
105

Callers 6

LoadMethod · 0.85
LoadMethod · 0.85
LoadMethod · 0.85
StoreMethod · 0.85
LoadMethod · 0.85
StoreMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected