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
251
thirdparty/simde/test/arm/neon/minnmv.c
vendored
Normal file
251
thirdparty/simde/test/arm/neon/minnmv.c
vendored
Normal file
|
|
@ -0,0 +1,251 @@
|
|||
#define SIMDE_TEST_ARM_NEON_INSN minnmv
|
||||
|
||||
#include "test-neon.h"
|
||||
#include "../../../simde/arm/neon/minnmv.h"
|
||||
|
||||
static int
|
||||
test_simde_vminnmv_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16_t a[4];
|
||||
simde_float16_t r;
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( 20.218), SIMDE_FLOAT16_VALUE( -6.853), SIMDE_FLOAT16_VALUE( -5.794), SIMDE_FLOAT16_VALUE( 8.347) },
|
||||
SIMDE_FLOAT16_VALUE( -6.853) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -2.093), SIMDE_FLOAT16_VALUE( -3.578), SIMDE_FLOAT16_VALUE( -25.522), SIMDE_FLOAT16_VALUE( -21.689) },
|
||||
SIMDE_FLOAT16_VALUE( -25.522) },
|
||||
{ { SIMDE_FLOAT16_VALUE( 13.305), SIMDE_FLOAT16_VALUE( 15.886), SIMDE_FLOAT16_VALUE( -16.955), SIMDE_FLOAT16_VALUE( 14.481) },
|
||||
SIMDE_FLOAT16_VALUE( -16.955) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -18.484), SIMDE_FLOAT16_VALUE( 29.793), SIMDE_FLOAT16_VALUE( -0.842), SIMDE_FLOAT16_VALUE( 19.516) },
|
||||
SIMDE_FLOAT16_VALUE( -18.484) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -22.777), SIMDE_FLOAT16_VALUE( 4.641), SIMDE_FLOAT16_VALUE( -20.779), SIMDE_FLOAT16_VALUE( -21.506) },
|
||||
SIMDE_FLOAT16_VALUE( -22.777) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -28.388), SIMDE_FLOAT16_VALUE( -10.209), SIMDE_FLOAT16_VALUE( 17.384), SIMDE_FLOAT16_VALUE( 29.067) },
|
||||
SIMDE_FLOAT16_VALUE( -28.388) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -3.619), SIMDE_FLOAT16_VALUE( -13.964), SIMDE_FLOAT16_VALUE( 10.205), SIMDE_FLOAT16_VALUE( 26.305) },
|
||||
SIMDE_FLOAT16_VALUE( -13.964) },
|
||||
{ { SIMDE_FLOAT16_VALUE( 15.202), SIMDE_FLOAT16_VALUE( 15.144), SIMDE_FLOAT16_VALUE( 25.308), SIMDE_FLOAT16_VALUE( -28.303) },
|
||||
SIMDE_FLOAT16_VALUE( -28.303) },
|
||||
};
|
||||
|
||||
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_float16_t r = simde_vminnmv_f16(a);
|
||||
|
||||
simde_assert_equal_f16(r, test_vec[i].r, 1);
|
||||
}
|
||||
|
||||
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_float16_t r = simde_vminnmv_f16(a);
|
||||
|
||||
simde_test_arm_neon_write_f16x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f16(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vminnmv_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
simde_float32_t a[2];
|
||||
simde_float32_t r;
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT32_C( 453.38), SIMDE_FLOAT32_C( 453.38) },
|
||||
SIMDE_FLOAT32_C( 453.38) },
|
||||
{ { SIMDE_FLOAT32_C( -282.45), SIMDE_FLOAT32_C( -125.43) },
|
||||
SIMDE_FLOAT32_C( -282.45) },
|
||||
{ { SIMDE_FLOAT32_C( -15.54), SIMDE_FLOAT32_C( -221.82) },
|
||||
SIMDE_FLOAT32_C( -221.82) },
|
||||
{ { SIMDE_FLOAT32_C( -502.94), SIMDE_FLOAT32_C( -155.47) },
|
||||
SIMDE_FLOAT32_C( -502.94) },
|
||||
{ { SIMDE_FLOAT32_C( -806.84), SIMDE_FLOAT32_C( 615.87) },
|
||||
SIMDE_FLOAT32_C( -806.84) }
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float32x2_t a = simde_vld1_f32(test_vec[i].a);
|
||||
simde_float32_t r = simde_vminnmv_f32(a);
|
||||
|
||||
simde_assert_equal_f32(r, test_vec[i].r, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float32x2_t a = simde_test_arm_neon_random_f32x2(-1000.0f, 1000.0f);
|
||||
simde_float32_t r = simde_vminnmv_f32(a);
|
||||
|
||||
simde_test_arm_neon_write_f32x2(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f32(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vminnmvq_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16_t a[8];
|
||||
simde_float16_t r;
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( -11.968), SIMDE_FLOAT16_VALUE( 0.700), SIMDE_FLOAT16_VALUE( 1.342), SIMDE_FLOAT16_VALUE( 5.319),
|
||||
SIMDE_FLOAT16_VALUE( 1.058), SIMDE_FLOAT16_VALUE( -3.121), SIMDE_FLOAT16_VALUE( 9.615), SIMDE_FLOAT16_VALUE( -29.989) },
|
||||
SIMDE_FLOAT16_VALUE( -29.989) },
|
||||
{ { SIMDE_FLOAT16_VALUE( 18.972), SIMDE_FLOAT16_VALUE( -13.189), SIMDE_FLOAT16_VALUE( -24.616), SIMDE_FLOAT16_VALUE( -11.420),
|
||||
SIMDE_FLOAT16_VALUE( 29.006), SIMDE_FLOAT16_VALUE( 18.310), SIMDE_FLOAT16_VALUE( -2.603), SIMDE_FLOAT16_VALUE( 5.305) },
|
||||
SIMDE_FLOAT16_VALUE( -24.616) },
|
||||
{ { SIMDE_FLOAT16_VALUE( 25.793), SIMDE_FLOAT16_VALUE( -25.154), SIMDE_FLOAT16_VALUE( 16.638), SIMDE_FLOAT16_VALUE( -16.495),
|
||||
SIMDE_FLOAT16_VALUE( -26.285), SIMDE_FLOAT16_VALUE( 8.955), SIMDE_FLOAT16_VALUE( -23.971), SIMDE_FLOAT16_VALUE( -28.845) },
|
||||
SIMDE_FLOAT16_VALUE( -28.845) },
|
||||
{ { SIMDE_FLOAT16_VALUE( 9.945), SIMDE_FLOAT16_VALUE( 9.819), SIMDE_FLOAT16_VALUE( 7.833), SIMDE_FLOAT16_VALUE( -12.584),
|
||||
SIMDE_FLOAT16_VALUE( 2.684), SIMDE_FLOAT16_VALUE( -25.996), SIMDE_FLOAT16_VALUE( -12.605), SIMDE_FLOAT16_VALUE( 18.119) },
|
||||
SIMDE_FLOAT16_VALUE( -25.996) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -7.772), SIMDE_FLOAT16_VALUE( 22.902), SIMDE_FLOAT16_VALUE( 26.436), SIMDE_FLOAT16_VALUE( -20.216),
|
||||
SIMDE_FLOAT16_VALUE( 16.707), SIMDE_FLOAT16_VALUE( 5.188), SIMDE_FLOAT16_VALUE( -9.754), SIMDE_FLOAT16_VALUE( -28.714) },
|
||||
SIMDE_FLOAT16_VALUE( -28.714) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -19.900), SIMDE_FLOAT16_VALUE( 6.812), SIMDE_FLOAT16_VALUE( 18.439), SIMDE_FLOAT16_VALUE( 23.239),
|
||||
SIMDE_FLOAT16_VALUE( -21.049), SIMDE_FLOAT16_VALUE( -21.265), SIMDE_FLOAT16_VALUE( 7.079), SIMDE_FLOAT16_VALUE( 29.200) },
|
||||
SIMDE_FLOAT16_VALUE( -21.265) },
|
||||
{ { SIMDE_FLOAT16_VALUE( 19.055), SIMDE_FLOAT16_VALUE( -11.939), SIMDE_FLOAT16_VALUE( 22.429), SIMDE_FLOAT16_VALUE( 27.392),
|
||||
SIMDE_FLOAT16_VALUE( 0.849), SIMDE_FLOAT16_VALUE( 8.276), SIMDE_FLOAT16_VALUE( 15.737), SIMDE_FLOAT16_VALUE( 2.775) },
|
||||
SIMDE_FLOAT16_VALUE( -11.939) },
|
||||
{ { SIMDE_FLOAT16_VALUE( -25.103), SIMDE_FLOAT16_VALUE( -1.612), SIMDE_FLOAT16_VALUE( -16.030), SIMDE_FLOAT16_VALUE( -16.356),
|
||||
SIMDE_FLOAT16_VALUE( 15.013), SIMDE_FLOAT16_VALUE( -18.179), SIMDE_FLOAT16_VALUE( 11.449), SIMDE_FLOAT16_VALUE( -3.686) },
|
||||
SIMDE_FLOAT16_VALUE( -25.103) },
|
||||
};
|
||||
|
||||
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_float16_t r = simde_vminnmvq_f16(a);
|
||||
|
||||
simde_assert_equal_f16(r, test_vec[i].r, 1);
|
||||
}
|
||||
|
||||
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_float16_t r = simde_vminnmvq_f16(a);
|
||||
|
||||
simde_test_arm_neon_write_f16x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f16(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vminnmvq_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
simde_float32_t a[4];
|
||||
simde_float32_t r;
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT32_C( 947.343), -SIMDE_FLOAT32_C( 492.866), SIMDE_FLOAT32_C( 657.629), -SIMDE_FLOAT32_C( 369.464) },
|
||||
-SIMDE_FLOAT32_C( 492.866) },
|
||||
{ { -SIMDE_FLOAT32_C( 607.062), SIMDE_FLOAT32_C( 762.490), -SIMDE_FLOAT32_C( 503.820), SIMDE_FLOAT32_C( 757.954) },
|
||||
-SIMDE_FLOAT32_C( 607.062) },
|
||||
{ { SIMDE_FLOAT32_C( 504.835), -SIMDE_FLOAT32_C( 244.010), SIMDE_FLOAT32_C( 80.655), SIMDE_FLOAT32_C( 75.272) },
|
||||
-SIMDE_FLOAT32_C( 244.010) },
|
||||
{ { SIMDE_FLOAT32_C( 781.694), -SIMDE_FLOAT32_C( 539.025), SIMDE_FLOAT32_C( 704.302), -SIMDE_FLOAT32_C( 260.335) },
|
||||
-SIMDE_FLOAT32_C( 539.025) },
|
||||
{ { SIMDE_FLOAT32_C( 402.321), SIMDE_FLOAT32_C( 437.528), SIMDE_FLOAT32_C( 797.358), SIMDE_FLOAT32_C( 905.556) },
|
||||
SIMDE_FLOAT32_C( 402.321) },
|
||||
{ { -SIMDE_FLOAT32_C( 169.841), SIMDE_FLOAT32_C( 153.516), -SIMDE_FLOAT32_C( 589.051), SIMDE_FLOAT32_C( 82.098) },
|
||||
-SIMDE_FLOAT32_C( 589.051) },
|
||||
{ { -SIMDE_FLOAT32_C( 547.491), -SIMDE_FLOAT32_C( 621.393), SIMDE_FLOAT32_C( 732.052), -SIMDE_FLOAT32_C( 116.706) },
|
||||
-SIMDE_FLOAT32_C( 621.393) },
|
||||
{ { -SIMDE_FLOAT32_C( 511.376), SIMDE_FLOAT32_C( 429.828), SIMDE_FLOAT32_C( 694.590), -SIMDE_FLOAT32_C( 183.004) },
|
||||
-SIMDE_FLOAT32_C( 511.376) },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float32x4_t a = simde_vld1q_f32(test_vec[i].a);
|
||||
simde_float32_t r = simde_vminnmvq_f32(a);
|
||||
|
||||
simde_assert_equal_f32(r, test_vec[i].r, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float32x4_t a = simde_test_arm_neon_random_f32x4(-1000.0f, 1000.0f);
|
||||
simde_float32_t r = simde_vminnmvq_f32(a);
|
||||
|
||||
simde_test_arm_neon_write_f32x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f32(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vminnmvq_f64 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
simde_float64_t a[2];
|
||||
simde_float64_t r;
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT64_C( 901.508), -SIMDE_FLOAT64_C( 897.632) },
|
||||
-SIMDE_FLOAT64_C( 897.632) },
|
||||
{ { SIMDE_FLOAT64_C( 404.184), SIMDE_FLOAT64_C( 271.741) },
|
||||
SIMDE_FLOAT64_C( 271.741) },
|
||||
{ { SIMDE_FLOAT64_C( 10.848), SIMDE_FLOAT64_C( 877.595) },
|
||||
SIMDE_FLOAT64_C( 10.848) },
|
||||
{ { -SIMDE_FLOAT64_C( 253.723), -SIMDE_FLOAT64_C( 399.728) },
|
||||
-SIMDE_FLOAT64_C( 399.728) },
|
||||
{ { -SIMDE_FLOAT64_C( 45.876), -SIMDE_FLOAT64_C( 859.553) },
|
||||
-SIMDE_FLOAT64_C( 859.553) },
|
||||
{ { -SIMDE_FLOAT64_C( 676.066), SIMDE_FLOAT64_C( 259.907) },
|
||||
-SIMDE_FLOAT64_C( 676.066) },
|
||||
{ { -SIMDE_FLOAT64_C( 677.086), -SIMDE_FLOAT64_C( 656.352) },
|
||||
-SIMDE_FLOAT64_C( 677.086) },
|
||||
{ { -SIMDE_FLOAT64_C( 372.201), -SIMDE_FLOAT64_C( 499.493) },
|
||||
-SIMDE_FLOAT64_C( 499.493) },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float64x2_t a = simde_vld1q_f64(test_vec[i].a);
|
||||
simde_float64_t r = simde_vminnmvq_f64(a);
|
||||
|
||||
simde_assert_equal_f64(r, test_vec[i].r, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
#else
|
||||
fputc('\n', stdout);
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_float64x2_t a = simde_test_arm_neon_random_f64x2(SIMDE_FLOAT64_C(-1000.0), SIMDE_FLOAT64_C(1000.0));
|
||||
simde_float64_t r = simde_vminnmvq_f64(a);
|
||||
|
||||
simde_test_arm_neon_write_f64x2(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f64(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vminnmv_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vminnmv_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vminnmvq_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vminnmvq_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vminnmvq_f64)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
#include "test-neon-footer.h"
|
||||
Loading…
Add table
Add a link
Reference in a new issue