Update googletest to 1.18.0 and SIMDe to 0.8.2.
Googletest 1.18 asks for CMake 3.13 or newer, so configuring the tests no longer warns that CMake compatibility below 3.10 is deprecated. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
e4e666f459
commit
3f10e05176
912 changed files with 224964 additions and 11502 deletions
201
thirdparty/simde/test/arm/neon/cle.c
vendored
201
thirdparty/simde/test/arm/neon/cle.c
vendored
|
|
@ -9,6 +9,65 @@
|
|||
#include "../../../simde/arm/neon.h"
|
||||
#endif
|
||||
|
||||
static int
|
||||
test_simde_vcle_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16_t a[4];
|
||||
simde_float16_t b[4];
|
||||
uint16_t r[4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( 8.447), SIMDE_FLOAT16_VALUE( - 8.659), SIMDE_FLOAT16_VALUE( - 2.615), SIMDE_FLOAT16_VALUE(11.602) },
|
||||
{ SIMDE_FLOAT16_VALUE(10.611), SIMDE_FLOAT16_VALUE( - 0.755), SIMDE_FLOAT16_VALUE( - 9.784), SIMDE_FLOAT16_VALUE(27.142) },
|
||||
{ UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_MAX } },
|
||||
{ { SIMDE_FLOAT16_VALUE(17.098), SIMDE_FLOAT16_VALUE(10.956), SIMDE_FLOAT16_VALUE( -28.072), SIMDE_FLOAT16_VALUE(29.289) },
|
||||
{ SIMDE_FLOAT16_VALUE( -19.728), SIMDE_FLOAT16_VALUE( 8.380), SIMDE_FLOAT16_VALUE( -11.126), SIMDE_FLOAT16_VALUE(16.167) },
|
||||
{ UINT16_C( 0), UINT16_C( 0), UINT16_MAX, UINT16_C( 0) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(21.932), SIMDE_FLOAT16_VALUE( 9.638), SIMDE_FLOAT16_VALUE( 4.463), SIMDE_FLOAT16_VALUE(20.865) },
|
||||
{ SIMDE_FLOAT16_VALUE( -11.698), SIMDE_FLOAT16_VALUE(18.815), SIMDE_FLOAT16_VALUE(15.699), SIMDE_FLOAT16_VALUE(13.508) },
|
||||
{ UINT16_C( 0), UINT16_MAX, UINT16_MAX, UINT16_C( 0) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -20.159), SIMDE_FLOAT16_VALUE(12.844), SIMDE_FLOAT16_VALUE( - 8.921), SIMDE_FLOAT16_VALUE( - 7.798) },
|
||||
{ SIMDE_FLOAT16_VALUE( - 1.258), SIMDE_FLOAT16_VALUE( -17.170), SIMDE_FLOAT16_VALUE(16.333), SIMDE_FLOAT16_VALUE( - 8.197) },
|
||||
{ UINT16_MAX, UINT16_C( 0), UINT16_MAX, UINT16_C( 0) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -11.632), SIMDE_FLOAT16_VALUE( - 8.390), SIMDE_FLOAT16_VALUE(20.714), SIMDE_FLOAT16_VALUE(24.154) },
|
||||
{ SIMDE_FLOAT16_VALUE(22.192), SIMDE_FLOAT16_VALUE(22.191), SIMDE_FLOAT16_VALUE( 6.143), SIMDE_FLOAT16_VALUE(20.987) },
|
||||
{ UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_C( 0) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( - 2.982), SIMDE_FLOAT16_VALUE( - 4.497), SIMDE_FLOAT16_VALUE( -15.911), SIMDE_FLOAT16_VALUE( -26.749) },
|
||||
{ SIMDE_FLOAT16_VALUE( 7.832), SIMDE_FLOAT16_VALUE(20.355), SIMDE_FLOAT16_VALUE( -18.865), SIMDE_FLOAT16_VALUE( - 8.786) },
|
||||
{ UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_MAX } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -19.847), SIMDE_FLOAT16_VALUE( -26.969), SIMDE_FLOAT16_VALUE( -14.823), SIMDE_FLOAT16_VALUE( -21.042) },
|
||||
{ SIMDE_FLOAT16_VALUE( -28.679), SIMDE_FLOAT16_VALUE( -22.401), SIMDE_FLOAT16_VALUE( -10.468), SIMDE_FLOAT16_VALUE( 1.884) },
|
||||
{ UINT16_C( 0), UINT16_MAX, UINT16_MAX, UINT16_MAX } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -13.976), SIMDE_FLOAT16_VALUE(16.503), SIMDE_FLOAT16_VALUE( -18.929), SIMDE_FLOAT16_VALUE( -21.485) },
|
||||
{ SIMDE_FLOAT16_VALUE(27.388), SIMDE_FLOAT16_VALUE(15.954), SIMDE_FLOAT16_VALUE( -18.157), SIMDE_FLOAT16_VALUE(27.831) },
|
||||
{ UINT16_MAX, UINT16_C( 0), UINT16_MAX, UINT16_MAX } },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float16x4_t a = simde_vld1_f16(test_vec[i].a);
|
||||
simde_float16x4_t b = simde_vld1_f16(test_vec[i].b);
|
||||
simde_uint16x4_t r = simde_vcle_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_assert_equal_u16x4(r, simde_vld1_u16(test_vec[i].r));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float16x4_t a = simde_test_arm_neon_random_f16x4(-100.0f, 100.0f);
|
||||
simde_float16x4_t b = simde_test_arm_neon_random_f16x4(-100.0f, 100.0f);
|
||||
simde_uint16x4_t r = simde_vcle_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_write_f16x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_arm_neon_write_f16x4(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
|
||||
simde_test_arm_neon_write_u16x4(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vcle_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -679,6 +738,89 @@ test_simde_vcle_u64 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vcleq_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16_t a[8];
|
||||
simde_float16_t b[8];
|
||||
uint16_t r[8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( 6.052), SIMDE_FLOAT16_VALUE( -21.631), SIMDE_FLOAT16_VALUE( -16.927), SIMDE_FLOAT16_VALUE(20.755),
|
||||
SIMDE_FLOAT16_VALUE( -15.631), SIMDE_FLOAT16_VALUE( - 6.240), SIMDE_FLOAT16_VALUE(23.509), SIMDE_FLOAT16_VALUE( -29.481) },
|
||||
{ SIMDE_FLOAT16_VALUE(16.025), SIMDE_FLOAT16_VALUE(24.334), SIMDE_FLOAT16_VALUE( - 6.508), SIMDE_FLOAT16_VALUE(17.524),
|
||||
SIMDE_FLOAT16_VALUE( -15.973), SIMDE_FLOAT16_VALUE( 0.216), SIMDE_FLOAT16_VALUE( - 7.741), SIMDE_FLOAT16_VALUE( 7.130) },
|
||||
{ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_C( 0),
|
||||
UINT16_C( 0), UINT16_MAX, UINT16_C( 0), UINT16_MAX } },
|
||||
{ { SIMDE_FLOAT16_VALUE( - 5.096), SIMDE_FLOAT16_VALUE( -10.602), SIMDE_FLOAT16_VALUE(27.999), SIMDE_FLOAT16_VALUE( - 1.075),
|
||||
SIMDE_FLOAT16_VALUE( -23.145), SIMDE_FLOAT16_VALUE( -23.578), SIMDE_FLOAT16_VALUE(25.404), SIMDE_FLOAT16_VALUE( -25.074) },
|
||||
{ SIMDE_FLOAT16_VALUE( 8.365), SIMDE_FLOAT16_VALUE( -15.037), SIMDE_FLOAT16_VALUE( -16.985), SIMDE_FLOAT16_VALUE( 0.374),
|
||||
SIMDE_FLOAT16_VALUE(13.526), SIMDE_FLOAT16_VALUE( - 2.567), SIMDE_FLOAT16_VALUE(23.870), SIMDE_FLOAT16_VALUE( -27.272) },
|
||||
{ UINT16_MAX, UINT16_C( 0), UINT16_C( 0), UINT16_MAX,
|
||||
UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_C( 0) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(11.955), SIMDE_FLOAT16_VALUE( -21.297), SIMDE_FLOAT16_VALUE(19.909), SIMDE_FLOAT16_VALUE( 2.327),
|
||||
SIMDE_FLOAT16_VALUE(10.833), SIMDE_FLOAT16_VALUE( - 0.112), SIMDE_FLOAT16_VALUE(14.899), SIMDE_FLOAT16_VALUE( - 5.837) },
|
||||
{ SIMDE_FLOAT16_VALUE(11.019), SIMDE_FLOAT16_VALUE( - 3.706), SIMDE_FLOAT16_VALUE( -17.685), SIMDE_FLOAT16_VALUE( 3.519),
|
||||
SIMDE_FLOAT16_VALUE( - 9.207), SIMDE_FLOAT16_VALUE(10.370), SIMDE_FLOAT16_VALUE( -11.560), SIMDE_FLOAT16_VALUE( - 2.552) },
|
||||
{ UINT16_C( 0), UINT16_MAX, UINT16_C( 0), UINT16_MAX,
|
||||
UINT16_C( 0), UINT16_MAX, UINT16_C( 0), UINT16_MAX } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -25.799), SIMDE_FLOAT16_VALUE( -16.301), SIMDE_FLOAT16_VALUE( -15.560), SIMDE_FLOAT16_VALUE( -12.832),
|
||||
SIMDE_FLOAT16_VALUE( -18.070), SIMDE_FLOAT16_VALUE( -26.679), SIMDE_FLOAT16_VALUE(29.328), SIMDE_FLOAT16_VALUE( 5.986) },
|
||||
{ SIMDE_FLOAT16_VALUE(15.847), SIMDE_FLOAT16_VALUE(27.710), SIMDE_FLOAT16_VALUE( - 7.357), SIMDE_FLOAT16_VALUE( 8.789),
|
||||
SIMDE_FLOAT16_VALUE( 9.556), SIMDE_FLOAT16_VALUE(26.672), SIMDE_FLOAT16_VALUE( - 7.994), SIMDE_FLOAT16_VALUE( 7.517) },
|
||||
{ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_MAX,
|
||||
UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_MAX } },
|
||||
{ { SIMDE_FLOAT16_VALUE( - 5.306), SIMDE_FLOAT16_VALUE( - 0.813), SIMDE_FLOAT16_VALUE( 6.000), SIMDE_FLOAT16_VALUE( -23.238),
|
||||
SIMDE_FLOAT16_VALUE(29.249), SIMDE_FLOAT16_VALUE(25.928), SIMDE_FLOAT16_VALUE( -25.742), SIMDE_FLOAT16_VALUE(28.893) },
|
||||
{ SIMDE_FLOAT16_VALUE(19.282), SIMDE_FLOAT16_VALUE(14.169), SIMDE_FLOAT16_VALUE( - 8.290), SIMDE_FLOAT16_VALUE(17.378),
|
||||
SIMDE_FLOAT16_VALUE( - 1.797), SIMDE_FLOAT16_VALUE( 1.777), SIMDE_FLOAT16_VALUE( 5.564), SIMDE_FLOAT16_VALUE(28.078) },
|
||||
{ UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_MAX,
|
||||
UINT16_C( 0), UINT16_C( 0), UINT16_MAX, UINT16_C( 0) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -20.592), SIMDE_FLOAT16_VALUE(20.779), SIMDE_FLOAT16_VALUE(10.541), SIMDE_FLOAT16_VALUE( -21.060),
|
||||
SIMDE_FLOAT16_VALUE(23.945), SIMDE_FLOAT16_VALUE(24.970), SIMDE_FLOAT16_VALUE( -28.557), SIMDE_FLOAT16_VALUE(22.210) },
|
||||
{ SIMDE_FLOAT16_VALUE(23.015), SIMDE_FLOAT16_VALUE( -29.722), SIMDE_FLOAT16_VALUE( -20.947), SIMDE_FLOAT16_VALUE( -10.237),
|
||||
SIMDE_FLOAT16_VALUE(14.317), SIMDE_FLOAT16_VALUE( -23.364), SIMDE_FLOAT16_VALUE( - 2.156), SIMDE_FLOAT16_VALUE( 6.988) },
|
||||
{ UINT16_MAX, UINT16_C( 0), UINT16_C( 0), UINT16_MAX,
|
||||
UINT16_C( 0), UINT16_C( 0), UINT16_MAX, UINT16_C( 0) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -16.548), SIMDE_FLOAT16_VALUE( -18.913), SIMDE_FLOAT16_VALUE( 5.054), SIMDE_FLOAT16_VALUE(16.187),
|
||||
SIMDE_FLOAT16_VALUE(20.355), SIMDE_FLOAT16_VALUE( -12.692), SIMDE_FLOAT16_VALUE( - 8.127), SIMDE_FLOAT16_VALUE( -29.320) },
|
||||
{ SIMDE_FLOAT16_VALUE( - 3.252), SIMDE_FLOAT16_VALUE( 7.592), SIMDE_FLOAT16_VALUE(14.255), SIMDE_FLOAT16_VALUE( -25.319),
|
||||
SIMDE_FLOAT16_VALUE( -11.153), SIMDE_FLOAT16_VALUE(29.563), SIMDE_FLOAT16_VALUE(11.098), SIMDE_FLOAT16_VALUE( -18.346) },
|
||||
{ UINT16_MAX, UINT16_MAX, UINT16_MAX, UINT16_C( 0),
|
||||
UINT16_C( 0), UINT16_MAX, UINT16_MAX, UINT16_MAX } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 6.142), SIMDE_FLOAT16_VALUE( -16.113), SIMDE_FLOAT16_VALUE( -25.442), SIMDE_FLOAT16_VALUE(10.388),
|
||||
SIMDE_FLOAT16_VALUE( 9.547), SIMDE_FLOAT16_VALUE( -26.224), SIMDE_FLOAT16_VALUE( - 2.331), SIMDE_FLOAT16_VALUE( -14.642) },
|
||||
{ SIMDE_FLOAT16_VALUE( - 8.097), SIMDE_FLOAT16_VALUE( 5.808), SIMDE_FLOAT16_VALUE(19.975), SIMDE_FLOAT16_VALUE(28.291),
|
||||
SIMDE_FLOAT16_VALUE( 1.823), SIMDE_FLOAT16_VALUE(25.174), SIMDE_FLOAT16_VALUE(23.571), SIMDE_FLOAT16_VALUE( - 7.197) },
|
||||
{ UINT16_C( 0), UINT16_MAX, UINT16_MAX, UINT16_MAX,
|
||||
UINT16_C( 0), UINT16_MAX, UINT16_MAX, UINT16_MAX } },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float16x8_t a = simde_vld1q_f16(test_vec[i].a);
|
||||
simde_float16x8_t b = simde_vld1q_f16(test_vec[i].b);
|
||||
simde_uint16x8_t r = simde_vcleq_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_assert_equal_u16x8(r, simde_vld1q_u16(test_vec[i].r));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float16x8_t a = simde_test_arm_neon_random_f16x8(-100.0f, 100.0f);
|
||||
simde_float16x8_t b = simde_test_arm_neon_random_f16x8(-100.0f, 100.0f);
|
||||
simde_uint16x8_t r = simde_vcleq_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_write_f16x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_arm_neon_write_f16x8(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
|
||||
simde_test_arm_neon_write_u16x8(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vcleq_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -1617,7 +1759,64 @@ test_simde_vcles_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vcleh_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16_t a;
|
||||
simde_float16_t b;
|
||||
uint16_t r;
|
||||
} test_vec[] = {
|
||||
{ SIMDE_FLOAT16_VALUE(17.427),
|
||||
SIMDE_FLOAT16_VALUE( -29.394),
|
||||
UINT16_C( 0) },
|
||||
{ SIMDE_FLOAT16_VALUE( -19.443),
|
||||
SIMDE_FLOAT16_VALUE(14.852),
|
||||
UINT16_MAX },
|
||||
{ SIMDE_FLOAT16_VALUE(19.083),
|
||||
SIMDE_FLOAT16_VALUE(16.002),
|
||||
UINT16_C( 0) },
|
||||
{ SIMDE_FLOAT16_VALUE( - 2.002),
|
||||
SIMDE_FLOAT16_VALUE(28.082),
|
||||
UINT16_MAX },
|
||||
{ SIMDE_FLOAT16_VALUE(11.500),
|
||||
SIMDE_FLOAT16_VALUE( - 4.960),
|
||||
UINT16_C( 0) },
|
||||
{ SIMDE_FLOAT16_VALUE( 0.968),
|
||||
SIMDE_FLOAT16_VALUE(14.557),
|
||||
UINT16_MAX },
|
||||
{ SIMDE_FLOAT16_VALUE( -25.518),
|
||||
SIMDE_FLOAT16_VALUE( -16.212),
|
||||
UINT16_MAX },
|
||||
{ SIMDE_FLOAT16_VALUE( -26.015),
|
||||
SIMDE_FLOAT16_VALUE(16.100),
|
||||
UINT16_MAX },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
uint16_t r = simde_vcleh_f16(test_vec[i].a, test_vec[i].b);
|
||||
simde_assert_equal_u16(r, test_vec[i].r);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float16_t a = simde_test_arm_neon_random_f16(-100.0f, 100.0f);
|
||||
simde_float16_t b = simde_test_arm_neon_random_f16(-100.0f, 100.0f);
|
||||
simde_uint16_t r = simde_vcleh_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_write_f16(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_arm_neon_write_f16(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
|
||||
simde_test_arm_neon_write_u16(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcle_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcle_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcle_f64)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcle_s8)
|
||||
|
|
@ -1629,6 +1828,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vcle_u16)
|
|||
SIMDE_TEST_FUNC_LIST_ENTRY(vcle_u32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcle_u64)
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcleq_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcleq_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcleq_f64)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcleq_s8)
|
||||
|
|
@ -1644,6 +1844,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vcled_f64)
|
|||
SIMDE_TEST_FUNC_LIST_ENTRY(vcled_s64)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcled_u64)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcles_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vcleh_f16)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
#include "test-neon-footer.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue