summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bx/tests/simd_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bx/tests/simd_test.cpp')
-rw-r--r--3rdparty/bx/tests/simd_test.cpp42
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"