From f9dcd60e79700b6038924b3a4c9289e327e47806 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Wed, 6 May 2026 23:07:55 -0700 Subject: [PATCH] Fixed tests. (#393) --- include/bx/inline/simd_ni.inl | 4 ++-- tests/simd_test.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/include/bx/inline/simd_ni.inl b/include/bx/inline/simd_ni.inl index 1fff1fc..651173e 100644 --- a/include/bx/inline/simd_ni.inl +++ b/include/bx/inline/simd_ni.inl @@ -715,7 +715,7 @@ namespace bx const Ty tmp0 = simd_x32_srl(_a, 31); const Ty tmp1 = simd128_x32_swiz_yzwx(tmp0); const Ty tmp2 = simd_or(tmp0, tmp1); - const Ty tmp3 = simd128_x32_swiz_zwxy(tmp0); + const Ty tmp3 = simd128_x32_swiz_zwxy(tmp2); const Ty tmp4 = simd_or(tmp2, tmp3); int32_t ii; @@ -730,7 +730,7 @@ namespace bx const Ty tmp0 = simd_x32_srl(_a, 31); const Ty tmp1 = simd128_x32_swiz_yzwx(tmp0); const Ty tmp2 = simd_and(tmp0, tmp1); - const Ty tmp3 = simd128_x32_swiz_zwxy(tmp0); + const Ty tmp3 = simd128_x32_swiz_zwxy(tmp2); const Ty tmp4 = simd_and(tmp2, tmp3); int32_t ii; diff --git a/tests/simd_test.cpp b/tests/simd_test.cpp index 85d4569..930c2e1 100644 --- a/tests/simd_test.cpp +++ b/tests/simd_test.cpp @@ -824,11 +824,22 @@ TEST_CASE("simd128_test_any_all", "[simd]") const simd128_t all_set = simd128_ld(0x80000000u, 0x80000000u, 0x80000000u, 0x80000000u); const simd128_t none_set = simd128_zero(); const simd128_t x_set = simd128_ld(0x80000000u, 0u, 0u, 0u); + const simd128_t y_set = simd128_ld(0u, 0x80000000u, 0u, 0u); + const simd128_t z_set = simd128_ld(0u, 0u, 0x80000000u, 0u); + const simd128_t w_set = simd128_ld(0u, 0u, 0u, 0x80000000u); REQUIRE( simd128_test_any_xyzw(all_set)); REQUIRE( simd128_test_all_xyzw(all_set)); REQUIRE(!simd128_test_any_xyzw(none_set)); REQUIRE(!simd128_test_all_xyzw(none_set)); + REQUIRE( simd128_test_any_xyzw(x_set)); + REQUIRE( simd128_test_any_xyzw(y_set)); + REQUIRE( simd128_test_any_xyzw(z_set)); + REQUIRE( simd128_test_any_xyzw(w_set)); + REQUIRE(!simd128_test_all_xyzw(x_set)); + REQUIRE(!simd128_test_all_xyzw(y_set)); + REQUIRE(!simd128_test_all_xyzw(z_set)); + REQUIRE(!simd128_test_all_xyzw(w_set)); REQUIRE( simd128_test_any_x(x_set)); REQUIRE(!simd128_test_any_y(x_set)); REQUIRE( simd128_test_all_x(x_set));