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:
Ryan Henry 2026-09-24 14:30:19 -06:00
parent e4e666f459
commit 3f10e05176
912 changed files with 224964 additions and 11502 deletions

View file

@ -9,6 +9,38 @@
#include "../../../simde/arm/neon.h"
#endif
static int
test_simde_vclt_f16 (SIMDE_MUNIT_TEST_ARGS) {
struct {
simde_float16_t a[4];
simde_float16_t b[4];
uint16_t r[4];
} test_vec[] = {
{ { SIMDE_FLOAT16_VALUE( -259.46), SIMDE_FLOAT16_VALUE( -774.65), SIMDE_FLOAT16_VALUE( 628.16), SIMDE_FLOAT16_VALUE( -707.60) },
{ SIMDE_FLOAT16_VALUE( -259.46), SIMDE_FLOAT16_VALUE( -774.65), SIMDE_FLOAT16_VALUE( 628.16), SIMDE_FLOAT16_VALUE( -992.75) },
{ UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0) } },
{ { SIMDE_FLOAT16_VALUE( -215.26), SIMDE_FLOAT16_VALUE( -475.25), SIMDE_FLOAT16_VALUE( -570.04), SIMDE_FLOAT16_VALUE( -866.16) },
{ SIMDE_FLOAT16_VALUE( 466.70), SIMDE_FLOAT16_VALUE( 282.12), SIMDE_FLOAT16_VALUE( -570.04), SIMDE_FLOAT16_VALUE( -866.16) },
{ UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_C( 0) } },
{ { SIMDE_FLOAT16_VALUE( -190.21), SIMDE_FLOAT16_VALUE( 504.54), SIMDE_FLOAT16_VALUE( 219.24), SIMDE_FLOAT16_VALUE( -723.52) },
{ SIMDE_FLOAT16_VALUE( 342.57), SIMDE_FLOAT16_VALUE( 504.54), SIMDE_FLOAT16_VALUE( 219.24), SIMDE_FLOAT16_VALUE( -166.34) },
{ UINT16_MAX, UINT16_C( 0), UINT16_C( 0), UINT16_MAX } },
{ { SIMDE_FLOAT16_VALUE( 841.66), SIMDE_FLOAT16_VALUE( 110.40), SIMDE_FLOAT16_VALUE( 593.11), SIMDE_FLOAT16_VALUE( 184.23) },
{ SIMDE_FLOAT16_VALUE( 841.66), SIMDE_FLOAT16_VALUE( 572.39), SIMDE_FLOAT16_VALUE( 594.22), SIMDE_FLOAT16_VALUE( -491.55) },
{ UINT16_C( 0), UINT16_MAX, UINT16_MAX, UINT16_C( 0) } }
};
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_vclt_f16(a, b);
simde_test_arm_neon_assert_equal_u16x4(r, simde_vld1_u16(test_vec[i].r));
}
return 0;
}
static int
test_simde_vclt_f32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
@ -679,6 +711,50 @@ test_simde_vclt_u64 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}
static int
test_simde_vcltq_f16 (SIMDE_MUNIT_TEST_ARGS) {
struct {
simde_float16_t a[8];
simde_float16_t b[8];
uint16_t r[8];
} test_vec[] = {
{ { SIMDE_FLOAT16_VALUE( -259.46), SIMDE_FLOAT16_VALUE( -774.65), SIMDE_FLOAT16_VALUE( 628.16), SIMDE_FLOAT16_VALUE( -707.60),
SIMDE_FLOAT16_VALUE( 36.37), SIMDE_FLOAT16_VALUE( 73.30), SIMDE_FLOAT16_VALUE( 646.26), SIMDE_FLOAT16_VALUE( -31.51) },
{ SIMDE_FLOAT16_VALUE( -259.46), SIMDE_FLOAT16_VALUE( -774.65), SIMDE_FLOAT16_VALUE( 628.16), SIMDE_FLOAT16_VALUE( -992.75),
SIMDE_FLOAT16_VALUE( 127.08), SIMDE_FLOAT16_VALUE( 51.79), SIMDE_FLOAT16_VALUE( 966.55), SIMDE_FLOAT16_VALUE( -31.51) },
{ UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0),
UINT16_MAX, UINT16_C( 0), UINT16_MAX, UINT16_C( 0) } },
{ { SIMDE_FLOAT16_VALUE( -215.26), SIMDE_FLOAT16_VALUE( -475.25), SIMDE_FLOAT16_VALUE( -570.04), SIMDE_FLOAT16_VALUE( -866.16),
SIMDE_FLOAT16_VALUE( -574.22), SIMDE_FLOAT16_VALUE( -2.51), SIMDE_FLOAT16_VALUE( -697.28), SIMDE_FLOAT16_VALUE( 552.86) },
{ SIMDE_FLOAT16_VALUE( 466.70), SIMDE_FLOAT16_VALUE( 282.12), SIMDE_FLOAT16_VALUE( -570.04), SIMDE_FLOAT16_VALUE( -866.16),
SIMDE_FLOAT16_VALUE( -574.22), SIMDE_FLOAT16_VALUE( -2.51), SIMDE_FLOAT16_VALUE( -310.68), SIMDE_FLOAT16_VALUE( -504.85) },
{ UINT16_MAX, UINT16_MAX, UINT16_C( 0), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 0), UINT16_MAX, UINT16_C( 0) } },
{ { SIMDE_FLOAT16_VALUE( -190.21), SIMDE_FLOAT16_VALUE( 504.54), SIMDE_FLOAT16_VALUE( 219.24), SIMDE_FLOAT16_VALUE( -723.52),
SIMDE_FLOAT16_VALUE( -240.87), SIMDE_FLOAT16_VALUE( 846.33), SIMDE_FLOAT16_VALUE( -227.65), SIMDE_FLOAT16_VALUE( -225.48) },
{ SIMDE_FLOAT16_VALUE( 342.57), SIMDE_FLOAT16_VALUE( 504.54), SIMDE_FLOAT16_VALUE( 219.24), SIMDE_FLOAT16_VALUE( -166.34),
SIMDE_FLOAT16_VALUE( -280.95), SIMDE_FLOAT16_VALUE( -30.91), SIMDE_FLOAT16_VALUE( 705.25), SIMDE_FLOAT16_VALUE( -225.48) },
{ UINT16_MAX, UINT16_C( 0), UINT16_C( 0), UINT16_MAX,
UINT16_C( 0), UINT16_C( 0), UINT16_MAX, UINT16_C( 0) } },
{ { SIMDE_FLOAT16_VALUE( 841.66), SIMDE_FLOAT16_VALUE( 110.40), SIMDE_FLOAT16_VALUE( 593.11), SIMDE_FLOAT16_VALUE( 184.23),
SIMDE_FLOAT16_VALUE( 271.42), SIMDE_FLOAT16_VALUE( 898.23), SIMDE_FLOAT16_VALUE( 510.85), SIMDE_FLOAT16_VALUE( 990.47) },
{ SIMDE_FLOAT16_VALUE( 841.66), SIMDE_FLOAT16_VALUE( 572.39), SIMDE_FLOAT16_VALUE( 594.22), SIMDE_FLOAT16_VALUE( -491.55),
SIMDE_FLOAT16_VALUE( 152.78), SIMDE_FLOAT16_VALUE( 77.13), SIMDE_FLOAT16_VALUE( 510.85), SIMDE_FLOAT16_VALUE( 939.45) },
{ UINT16_C( 0), UINT16_MAX, UINT16_MAX, UINT16_C( 0),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0) } }
};
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_vcltq_f16(a, b);
simde_test_arm_neon_assert_equal_u16x8(r, simde_vld1q_u16(test_vec[i].r));
}
return 0;
}
static int
test_simde_vcltq_f32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
@ -1562,6 +1638,47 @@ test_simde_vcltd_u64 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}
static int
test_simde_vclth_f16 (SIMDE_MUNIT_TEST_ARGS) {
struct {
simde_float16_t a;
simde_float16_t b;
uint16_t r;
} test_vec[] = {
{ SIMDE_FLOAT16_VALUE( 167.25),
SIMDE_FLOAT16_VALUE( -952.00),
UINT16_C( 0) },
{ SIMDE_FLOAT16_VALUE( -942.50),
SIMDE_FLOAT16_VALUE( 623.50),
UINT16_MAX },
{ SIMDE_FLOAT16_VALUE( -1.52),
SIMDE_FLOAT16_VALUE( -118.88),
UINT16_C( 0) },
{ SIMDE_FLOAT16_VALUE( -734.00),
SIMDE_FLOAT16_VALUE( -63.38),
UINT16_MAX },
{ SIMDE_FLOAT16_VALUE( -352.00),
SIMDE_FLOAT16_VALUE( 409.00),
UINT16_MAX },
{ SIMDE_FLOAT16_VALUE( 191.75),
SIMDE_FLOAT16_VALUE( -388.75),
UINT16_C( 0) },
{ SIMDE_FLOAT16_VALUE( 835.50),
SIMDE_FLOAT16_VALUE( -550.50),
UINT16_C( 0) },
{ SIMDE_FLOAT16_VALUE( -529.00),
SIMDE_FLOAT16_VALUE( -873.50),
UINT16_C( 0) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
uint16_t r = simde_vclth_f16(test_vec[i].a, test_vec[i].b);
simde_assert_equal_u16(r, test_vec[i].r);
}
return 0;
}
static int
test_simde_vclts_f32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
@ -1618,6 +1735,7 @@ test_simde_vclts_f32 (SIMDE_MUNIT_TEST_ARGS) {
}
SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(vclt_f16)
SIMDE_TEST_FUNC_LIST_ENTRY(vclt_f32)
SIMDE_TEST_FUNC_LIST_ENTRY(vclt_f64)
SIMDE_TEST_FUNC_LIST_ENTRY(vclt_s8)
@ -1629,6 +1747,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vclt_u16)
SIMDE_TEST_FUNC_LIST_ENTRY(vclt_u32)
SIMDE_TEST_FUNC_LIST_ENTRY(vclt_u64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcltq_f16)
SIMDE_TEST_FUNC_LIST_ENTRY(vcltq_f32)
SIMDE_TEST_FUNC_LIST_ENTRY(vcltq_f64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcltq_s8)
@ -1644,6 +1763,7 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vcltd_f64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcltd_s64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcltd_u64)
SIMDE_TEST_FUNC_LIST_ENTRY(vclts_f32)
SIMDE_TEST_FUNC_LIST_ENTRY(vclth_f16)
SIMDE_TEST_FUNC_LIST_END
#include "test-neon-footer.h"