diff options
Diffstat (limited to '3rdparty/bx/tests/simd_test.cpp')
-rw-r--r-- | 3rdparty/bx/tests/simd_test.cpp | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/3rdparty/bx/tests/simd_test.cpp b/3rdparty/bx/tests/simd_test.cpp index f40b009388f..0a361f4f7aa 100644 --- a/3rdparty/bx/tests/simd_test.cpp +++ b/3rdparty/bx/tests/simd_test.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2010-2016 Branimir Karadzic. All rights reserved. + * Copyright 2010-2017 Branimir Karadzic. All rights reserved. * License: https://github.com/bkaradzic/bx#license-bsd-2-clause */ @@ -11,11 +11,13 @@ #if 0 # define SIMD_DBG DBG #else -# define SIMD_DBG(_fmt, ...) BX_UNUSED(__VA_ARGS__); +# define SIMD_DBG unused #endif // 0 using namespace bx; +inline void unused(...) {} + union simd_cast { bx::simd256_t simd256; @@ -59,7 +61,6 @@ void simd_check_int32( REQUIRE(c.i[3] == _3); } -#if 0 void simd_check_int32( const char* _str , bx::simd256_t _a @@ -89,7 +90,6 @@ void simd_check_int32( REQUIRE(c.i[6] == _6); REQUIRE(c.i[7] == _7); } -#endif // 0 void simd_check_uint32( const char* _str @@ -114,7 +114,6 @@ void simd_check_uint32( REQUIRE(c.ui[3] == _3); } -#if 0 void simd_check_uint32( const char* _str , bx::simd256_t _a @@ -145,7 +144,6 @@ void simd_check_uint32( REQUIRE(c.ui[6] == _6); REQUIRE(c.ui[7] == _7); } -#endif // 0 void simd_check_float( const char* _str @@ -170,7 +168,6 @@ void simd_check_float( CHECK(bx::fequal(c.f[3], _3, 0.0001f) ); } -#if 0 void simd_check_float( const char* _str , bx::simd256_t _a @@ -201,7 +198,6 @@ void simd_check_float( CHECK(bx::fequal(c.f[6], _6, 0.0001f) ); CHECK(bx::fequal(c.f[7], _7, 0.0001f) ); } -#endif // 0 void simd_check_string(const char* _str, bx::simd128_t _a) { @@ -326,20 +322,20 @@ TEST_CASE("simd_load", "") , 0.0f, 1.0f, 2.0f, 3.0f ); -// simd_check_float("ld" -// , simd_ld<simd256_t>(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f) -// , 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f -// ); + simd_check_float("ld" + , simd_ld<simd256_t>(0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f) + , 0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f + ); simd_check_int32("ild" , simd_ild(uint32_t(-1), 0, 1, 2) , uint32_t(-1), 0, 1, 2 ); -// simd_check_int32("ild" -// , simd_ild<simd256_t>(uint32_t(-1), 0, 1, 2, 3, 4, 5, 6) -// , uint32_t(-1), 0, 1, 2, 3, 4, 5, 6 -// ); + simd_check_int32("ild" + , simd_ild<simd256_t>(uint32_t(-1), 0, 1, 2, 3, 4, 5, 6) + , uint32_t(-1), 0, 1, 2, 3, 4, 5, 6 + ); simd_check_int32("ild" , simd_ild(uint32_t(-1), uint32_t(-2), uint32_t(-3), uint32_t(-4) ) @@ -350,13 +346,21 @@ TEST_CASE("simd_load", "") , 0, 0, 0, 0 ); - simd_check_uint32("isplat", simd_isplat(0x80000001) + simd_check_uint32("isplat", simd_isplat<simd128_t>(0x80000001) , 0x80000001, 0x80000001, 0x80000001, 0x80000001 ); - simd_check_float("isplat", simd_splat(1.0f) + simd_check_float("splat", simd_splat<simd128_t>(1.0f) , 1.0f, 1.0f, 1.0f, 1.0f ); + + simd_check_uint32("isplat", simd_isplat<simd256_t>(0x80000001) + , 0x80000001, 0x80000001, 0x80000001, 0x80000001, 0x80000001, 0x80000001, 0x80000001, 0x80000001 + ); + + simd_check_float("splat", simd_splat<simd256_t>(1.0f) + , 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f + ); } TEST_CASE("simd_arithmetic", "") @@ -390,7 +394,7 @@ TEST_CASE("simd_sqrt", "") ); } -TEST_CASE("float4", "") +TEST_CASE("simd", "") { const simd128_t isplat = simd_isplat(0x80000001); simd_check_uint32("sll" |