mirror of
https://github.com/bkaradzic/bx.git
synced 2026-02-18 04:53:06 +01:00
Fixed SIMD intrisic yBxA -> AxBy.
This commit is contained in:
@@ -112,7 +112,7 @@ BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf);
|
||||
}
|
||||
|
||||
template<>
|
||||
BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_yBxA(simd128_langext_t _a, simd128_langext_t _b)
|
||||
BX_SIMD_FORCE_INLINE simd128_langext_t simd_shuf_AxBy(simd128_langext_t _a, simd128_langext_t _b)
|
||||
{
|
||||
simd128_langext_t result;
|
||||
result.vf = __builtin_shufflevector(_a.vf, _b.vf, 1, 5, 0, 4);
|
||||
|
||||
@@ -102,7 +102,7 @@ BX_SIMD128_IMPLEMENT_TEST(yzw, yzww);
|
||||
}
|
||||
|
||||
template<>
|
||||
BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_yBxA(simd128_neon_t _a, simd128_neon_t _b)
|
||||
BX_SIMD_FORCE_INLINE simd128_neon_t simd_shuf_AxBy(simd128_neon_t _a, simd128_neon_t _b)
|
||||
{
|
||||
return __builtin_shuffle(_a, _b, (uint32x4_t){ 1, 5, 0, 4 });
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf);
|
||||
}
|
||||
|
||||
template<>
|
||||
BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_yBxA(simd128_ref_t _a, simd128_ref_t _b)
|
||||
BX_SIMD_FORCE_INLINE simd128_ref_t simd_shuf_AxBy(simd128_ref_t _a, simd128_ref_t _b)
|
||||
{
|
||||
simd128_ref_t result;
|
||||
result.uxyzw[0] = _a.uxyzw[1];
|
||||
|
||||
@@ -90,7 +90,7 @@ BX_SIMD128_IMPLEMENT_TEST(xyzw , 0xf);
|
||||
}
|
||||
|
||||
template<>
|
||||
BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_yBxA(simd128_sse_t _a, simd128_sse_t _b)
|
||||
BX_SIMD_FORCE_INLINE simd128_sse_t simd_shuf_AxBy(simd128_sse_t _a, simd128_sse_t _b)
|
||||
{
|
||||
return _mm_unpacklo_ps(_b, _a);
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ BX_SIMD128_IMPLEMENT_TEST(xyzw);
|
||||
Ty simd_shuf_xAyB(Ty _a, Ty _b);
|
||||
|
||||
template<typename Ty>
|
||||
Ty simd_shuf_yBxA(Ty _a, Ty _b);
|
||||
Ty simd_shuf_AxBy(Ty _a, Ty _b);
|
||||
|
||||
template<typename Ty>
|
||||
Ty simd_shuf_zCwD(Ty _a, Ty _b);
|
||||
|
||||
@@ -235,13 +235,14 @@ TEST_CASE("simd_shuffle", "")
|
||||
const simd128_t ABCD = simd_ild(0x41414141, 0x42424242, 0x43434343, 0x44444444);
|
||||
simd_check_string("xyAB", simd_shuf_xyAB(xyzw, ABCD) );
|
||||
simd_check_string("ABxy", simd_shuf_ABxy(xyzw, ABCD) );
|
||||
simd_check_string("zwCD", simd_shuf_zwCD(xyzw, ABCD) );
|
||||
simd_check_string("CDzw", simd_shuf_CDzw(xyzw, ABCD) );
|
||||
simd_check_string("zwCD", simd_shuf_zwCD(xyzw, ABCD) );
|
||||
simd_check_string("xAyB", simd_shuf_xAyB(xyzw, ABCD) );
|
||||
simd_check_string("AxBy", simd_shuf_AxBy(xyzw, ABCD) );
|
||||
simd_check_string("zCwD", simd_shuf_zCwD(xyzw, ABCD) );
|
||||
simd_check_string("CzDw", simd_shuf_CzDw(xyzw, ABCD) );
|
||||
simd_check_string("xAzC", simd_shuf_xAzC(xyzw, ABCD) );
|
||||
simd_check_string("yBwD", simd_shuf_yBwD(xyzw, ABCD) );
|
||||
simd_check_string("CzDw", simd_shuf_CzDw(xyzw, ABCD) );
|
||||
}
|
||||
|
||||
TEST_CASE("simd_compare", "")
|
||||
|
||||
Reference in New Issue
Block a user