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

@ -365,6 +365,52 @@ test_simde_vcreate_u64 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}
static int
test_simde_vcreate_f16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
uint64_t a;
uint64_t r[1];
} test_vec[] = {
{ UINT64_C(14121171741695809290),
{ UINT64_C(14121171741695809290) } },
{ UINT64_C(14036155041624243569),
{ UINT64_C(14036155041624243569) } },
{ UINT64_C( 4933549844381694689),
{ UINT64_C( 4933549844381694689) } },
{ UINT64_C( 4721956654897595679),
{ UINT64_C( 4721956654897595679) } },
{ UINT64_C( 4794791124775457096),
{ UINT64_C( 4794791124775457096) } },
{ UINT64_C(14142503323827870106),
{ UINT64_C(14142503323827870106) } },
{ UINT64_C(14093049577892322181),
{ UINT64_C(14093049577892322181) } },
{ UINT64_C( 4932300799177322332),
{ UINT64_C( 4932300799177322332) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_float16x4_t r = simde_vcreate_f16(test_vec[i].a);
simde_test_arm_neon_assert_equal_u64x1(simde_vreinterpret_u64_f16(r), simde_vld1_u64(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_uint64_t a = simde_test_codegen_random_u64();
simde_uint64x1_t r = simde_vcreate_f16(a);
simde_test_codegen_write_u64(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_u64x1(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vcreate_f32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
@ -455,6 +501,186 @@ test_simde_vcreate_f64 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}
static int
test_simde_vcreate_p8 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly64_t a;
simde_poly64_t r[1];
} test_vec[] = {
{ UINT64_C( 9524461125136957834),
{ UINT64_C( 9524461125136957834) } },
{ UINT64_C( 5681877711578043306),
{ UINT64_C( 5681877711578043306) } },
{ UINT64_C( 2605432708141052716),
{ UINT64_C( 2605432708141052716) } },
{ UINT64_C( 3195240861471437814),
{ UINT64_C( 3195240861471437814) } },
{ UINT64_C( 9113757135495505160),
{ UINT64_C( 9113757135495505160) } },
{ UINT64_C(10096533119189207844),
{ UINT64_C(10096533119189207844) } },
{ UINT64_C( 6840162342001118346),
{ UINT64_C( 6840162342001118346) } },
{ UINT64_C(10188299615527616150),
{ UINT64_C(10188299615527616150) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_poly8x8_t r = simde_vcreate_p8(test_vec[i].a);
simde_test_arm_neon_assert_equal_p64x1(simde_vreinterpret_p64_p8(r), simde_vld1_p64(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_poly64_t a = simde_test_codegen_random_p64();
simde_poly64x1_t r = simde_vcreate_p8(a);
simde_test_codegen_write_p64(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_p64x1(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vcreate_p16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly64_t a;
simde_poly64_t r[1];
} test_vec[] = {
{ UINT64_C(10724469750478909377),
{ UINT64_C(10724469750478909377) } },
{ UINT64_C( 2531916720399834289),
{ UINT64_C( 2531916720399834289) } },
{ UINT64_C(13290330643019436200),
{ UINT64_C(13290330643019436200) } },
{ UINT64_C( 5364678349457749890),
{ UINT64_C( 5364678349457749890) } },
{ UINT64_C(15337281361360988890),
{ UINT64_C(15337281361360988890) } },
{ UINT64_C(18072566328191100628),
{ UINT64_C(18072566328191100628) } },
{ UINT64_C(13203823162098677815),
{ UINT64_C(13203823162098677815) } },
{ UINT64_C(16911653288486692574),
{ UINT64_C(16911653288486692574) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_poly16x4_t r = simde_vcreate_p16(test_vec[i].a);
simde_test_arm_neon_assert_equal_p64x1(simde_vreinterpret_p64_p16(r), simde_vld1_p64(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_poly64_t a = simde_test_codegen_random_p64();
simde_poly64x1_t r = simde_vcreate_p16(a);
simde_test_codegen_write_p64(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_p64x1(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vcreate_p64 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly64_t a;
simde_poly64_t r[1];
} test_vec[] = {
{ UINT64_C( 9581747805669338544),
{ UINT64_C( 9581747805669338544) } },
{ UINT64_C( 2636195106661380572),
{ UINT64_C( 2636195106661380572) } },
{ UINT64_C( 338359284805175101),
{ UINT64_C( 338359284805175101) } },
{ UINT64_C(18243733878740660141),
{ UINT64_C(18243733878740660141) } },
{ UINT64_C(10003026585137609329),
{ UINT64_C(10003026585137609329) } },
{ UINT64_C(16155708883640647060),
{ UINT64_C(16155708883640647060) } },
{ UINT64_C( 4404981749918038306),
{ UINT64_C( 4404981749918038306) } },
{ UINT64_C( 7970543397987432786),
{ UINT64_C( 7970543397987432786) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_poly64x1_t r = simde_vcreate_p64(test_vec[i].a);
simde_test_arm_neon_assert_equal_p64x1(r, simde_vld1_p64(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_poly64_t a = simde_test_codegen_random_p64();
simde_poly64x1_t r = simde_vcreate_p64(a);
simde_test_codegen_write_p64(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_p64x1(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vcreate_bf16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
uint64_t a;
uint64_t r[1];
} test_vec[] = {
{ UINT64_C(14121171741695809290),
{ UINT64_C(14121171741695809290) } },
{ UINT64_C(14036155041624243569),
{ UINT64_C(14036155041624243569) } },
{ UINT64_C( 4933549844381694689),
{ UINT64_C( 4933549844381694689) } },
{ UINT64_C( 4721956654897595679),
{ UINT64_C( 4721956654897595679) } },
{ UINT64_C( 4794791124775457096),
{ UINT64_C( 4794791124775457096) } },
{ UINT64_C(14142503323827870106),
{ UINT64_C(14142503323827870106) } },
{ UINT64_C(14093049577892322181),
{ UINT64_C(14093049577892322181) } },
{ UINT64_C( 4932300799177322332),
{ UINT64_C( 4932300799177322332) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_bfloat16x4_t r = simde_vcreate_bf16(test_vec[i].a);
simde_test_arm_neon_assert_equal_u64x1(simde_vreinterpret_u64_bf16(r), simde_vld1_u64(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_uint64_t a = simde_test_codegen_random_u64();
simde_uint64x1_t r = simde_vcreate_bf16(a);
simde_test_codegen_write_u64(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_u64x1(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_s8)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_s16)
@ -466,8 +692,15 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_u16)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_u32)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_u64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_f16)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_f32)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_f64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_p8)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_p16)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_p64)
SIMDE_TEST_FUNC_LIST_ENTRY(vcreate_bf16)
SIMDE_TEST_FUNC_LIST_END
#include "test-neon-footer.h"