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

@ -22,8 +22,8 @@
*/
#define SIMDE_TESTS_CURRENT_ISAX sse
#include <simde/x86/sse2.h>
#include <test/x86/test-sse2.h>
// for simde_test_x86_assert_equal_u32x4, simde_mm_castps_si128 and others
#if defined(HEDLEY_MSVC_VERSION)
# pragma warning(disable:4223)
@ -2184,13 +2184,13 @@ test_simde_mm_cvt_ss2si (SIMDE_MUNIT_TEST_ARGS) {
#endif
#if !defined(SIMDE_FAST_CONVERSION_RANGE)
{ { HEDLEY_STATIC_CAST(float, INT32_MAX), SIMDE_FLOAT32_C( 264.19), SIMDE_FLOAT32_C( -247.70), SIMDE_FLOAT32_C( -466.34) },
INT32_MIN },
INT32_MIN },
{ { HEDLEY_STATIC_CAST(float, INT32_MIN), SIMDE_FLOAT32_C( -656.10), SIMDE_FLOAT32_C( 528.97), SIMDE_FLOAT32_C( -664.65) },
-INT32_C( 2147483648) },
INT32_MIN },
{ { HEDLEY_STATIC_CAST(float, INT32_MAX - 100), SIMDE_FLOAT32_C( -572.40), SIMDE_FLOAT32_C( 986.43), SIMDE_FLOAT32_C( 789.86) },
INT32_C( 2147483520) },
{ { HEDLEY_STATIC_CAST(float, INT32_MIN + 100), SIMDE_FLOAT32_C( -226.55), SIMDE_FLOAT32_C( -926.20), SIMDE_FLOAT32_C( 130.01) },
-INT32_C( 2147483520) },
INT32_C( -2147483520) },
#endif
{ { SIMDE_FLOAT32_C( 555.67), SIMDE_FLOAT32_C( 330.04), SIMDE_FLOAT32_C( -110.18), SIMDE_FLOAT32_C( 679.85) },
INT32_C( 556) },
@ -2325,11 +2325,11 @@ test_simde_mm_cvtpi32x2_ps(SIMDE_MUNIT_TEST_ARGS) {
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde__m64 a, b;
simde__m128 e;
simde__m128 e, r;
simde_memcpy(&a, test_vec[i].a, sizeof(a));
simde_memcpy(&b, test_vec[i].b, sizeof(a));
simde_memcpy(&e, test_vec[i].r, sizeof(e));
simde__m128 r = simde_mm_cvtpi32x2_ps(a, b);
r = simde_mm_cvtpi32x2_ps(a, b);
simde_test_x86_assert_equal_f32x4(r, e, 1);
}
@ -2798,11 +2798,11 @@ test_simde_mm_cvtt_ss2si (SIMDE_MUNIT_TEST_ARGS) {
{ { HEDLEY_STATIC_CAST(float, INT32_MAX), SIMDE_FLOAT32_C( 264.19), SIMDE_FLOAT32_C( -247.70), SIMDE_FLOAT32_C( -466.34) },
INT32_MIN },
{ { HEDLEY_STATIC_CAST(float, INT32_MIN), SIMDE_FLOAT32_C( -656.10), SIMDE_FLOAT32_C( 528.97), SIMDE_FLOAT32_C( -664.65) },
-INT32_C( 2147483648) },
INT32_MIN },
{ { HEDLEY_STATIC_CAST(float, INT32_MAX - 100), SIMDE_FLOAT32_C( -572.40), SIMDE_FLOAT32_C( 986.43), SIMDE_FLOAT32_C( 789.86) },
INT32_C( 2147483520) },
{ { HEDLEY_STATIC_CAST(float, INT32_MIN + 100), SIMDE_FLOAT32_C( -226.55), SIMDE_FLOAT32_C( -926.20), SIMDE_FLOAT32_C( 130.01) },
-INT32_C( 2147483520) },
INT32_C( -2147483520) },
#endif
{ { SIMDE_FLOAT32_C( 555.67), SIMDE_FLOAT32_C( 330.04), SIMDE_FLOAT32_C( -110.18), SIMDE_FLOAT32_C( 679.85) },
INT32_C( 555) },
@ -5766,6 +5766,67 @@ test_simde_MM_TRANSPOSE4_PS (SIMDE_MUNIT_TEST_ARGS) {
#endif
}
static int
test_simde_MXCSR (SIMDE_MUNIT_TEST_ARGS) {
uint32_t original_mxcsr = simde_mm_getcsr();
uint32_t mask_rm_fzm = SIMDE_MM_ROUND_MASK | SIMDE_MM_FLUSH_ZERO_MASK;
uint32_t masked_mxcsr = original_mxcsr & ~mask_rm_fzm;
uint32_t rm_nearest_off, fzm_nearest_off, rm_nearest_on, fzm_nearest_on;
uint32_t rm_down_off, fzm_down_off, rm_down_on, fzm_down_on;
uint32_t rm_up_off, fzm_up_off, rm_up_on, fzm_up_on;
uint32_t rm_zero_off, fzm_zero_off, rm_zero_on, fzm_zero_on;
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_NEAREST | SIMDE_MM_FLUSH_ZERO_OFF);
rm_nearest_off = SIMDE_MM_GET_ROUNDING_MODE();
fzm_nearest_off = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_NEAREST | SIMDE_MM_FLUSH_ZERO_ON);
rm_nearest_on = SIMDE_MM_GET_ROUNDING_MODE();
fzm_nearest_on = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_DOWN | SIMDE_MM_FLUSH_ZERO_OFF);
rm_down_off = SIMDE_MM_GET_ROUNDING_MODE();
fzm_down_off = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_DOWN | SIMDE_MM_FLUSH_ZERO_ON);
rm_down_on = SIMDE_MM_GET_ROUNDING_MODE();
fzm_down_on = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_UP | SIMDE_MM_FLUSH_ZERO_OFF);
rm_up_off = SIMDE_MM_GET_ROUNDING_MODE();
fzm_up_off = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_UP | SIMDE_MM_FLUSH_ZERO_ON);
rm_up_on = SIMDE_MM_GET_ROUNDING_MODE();
fzm_up_on = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_TOWARD_ZERO | SIMDE_MM_FLUSH_ZERO_OFF);
rm_zero_off = SIMDE_MM_GET_ROUNDING_MODE();
fzm_zero_off = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(masked_mxcsr | SIMDE_MM_ROUND_TOWARD_ZERO | SIMDE_MM_FLUSH_ZERO_ON);
rm_zero_on = SIMDE_MM_GET_ROUNDING_MODE();
fzm_zero_on = SIMDE_MM_GET_FLUSH_ZERO_MODE();
simde_mm_setcsr(original_mxcsr);
simde_assert_equal_u32(rm_nearest_off, rm_nearest_on);
simde_assert_equal_u32(rm_down_off, rm_down_on);
simde_assert_equal_u32(rm_up_off, rm_up_on);
simde_assert_equal_u32(rm_zero_off, rm_zero_on);
simde_assert_equal_u32(fzm_nearest_off, fzm_down_off);
simde_assert_equal_u32(fzm_nearest_off, fzm_up_off);
simde_assert_equal_u32(fzm_nearest_off, fzm_zero_off);
simde_assert_equal_u32(fzm_nearest_on, fzm_down_on);
simde_assert_equal_u32(fzm_nearest_on, fzm_up_on);
simde_assert_equal_u32(fzm_nearest_on, fzm_zero_on);
return 0;
}
SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(mm_set_ps)
SIMDE_TEST_FUNC_LIST_ENTRY(mm_set_ps1)
@ -5915,6 +5976,7 @@ SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(mm_stream_ps)
SIMDE_TEST_FUNC_LIST_ENTRY(mm_prefetch)
SIMDE_TEST_FUNC_LIST_ENTRY(MM_TRANSPOSE4_PS)
SIMDE_TEST_FUNC_LIST_ENTRY(MXCSR)
SIMDE_TEST_FUNC_LIST_END
#include <test/x86/test-x86-footer.h>