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
143
thirdparty/simde/test/arm/neon/mulx_n.c
vendored
Normal file
143
thirdparty/simde/test/arm/neon/mulx_n.c
vendored
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
#define SIMDE_TEST_ARM_NEON_INSN mulx_n
|
||||
|
||||
#include "test-neon.h"
|
||||
#include "../../../simde/arm/neon/mulx_n.h"
|
||||
|
||||
static int
|
||||
test_simde_vmulx_n_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16 a[4];
|
||||
simde_float16 b;
|
||||
simde_float16 r[4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( 6.147), SIMDE_FLOAT16_VALUE( 8.026), SIMDE_FLOAT16_VALUE( 8.205), SIMDE_FLOAT16_VALUE( -4.372) },
|
||||
SIMDE_FLOAT16_VALUE( 10.677),
|
||||
{ SIMDE_FLOAT16_VALUE( 65.632), SIMDE_FLOAT16_VALUE( 85.694), SIMDE_FLOAT16_VALUE( 87.605), SIMDE_FLOAT16_VALUE( -46.680) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -8.080), SIMDE_FLOAT16_VALUE( -2.013), SIMDE_FLOAT16_VALUE( -2.635), SIMDE_FLOAT16_VALUE( 9.062) },
|
||||
SIMDE_FLOAT16_VALUE( -8.726),
|
||||
{ SIMDE_FLOAT16_VALUE( 70.506), SIMDE_FLOAT16_VALUE( 17.565), SIMDE_FLOAT16_VALUE( 22.993), SIMDE_FLOAT16_VALUE( -79.075) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -2.635), SIMDE_FLOAT16_VALUE( -5.732), SIMDE_FLOAT16_VALUE( -12.813), SIMDE_FLOAT16_VALUE( 14.355) },
|
||||
SIMDE_FLOAT16_VALUE( -7.538),
|
||||
{ SIMDE_FLOAT16_VALUE( 19.863), SIMDE_FLOAT16_VALUE( 43.208), SIMDE_FLOAT16_VALUE( 96.584), SIMDE_FLOAT16_VALUE( -108.208) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 9.770), SIMDE_FLOAT16_VALUE( 3.322), SIMDE_FLOAT16_VALUE( 14.353), SIMDE_FLOAT16_VALUE( -10.374) },
|
||||
SIMDE_FLOAT16_VALUE( -1.829),
|
||||
{ SIMDE_FLOAT16_VALUE( -17.869), SIMDE_FLOAT16_VALUE( -6.076), SIMDE_FLOAT16_VALUE( -26.252), SIMDE_FLOAT16_VALUE( 18.974) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 12.353), SIMDE_FLOAT16_VALUE( 4.352), SIMDE_FLOAT16_VALUE( 9.042), SIMDE_FLOAT16_VALUE( -8.456) },
|
||||
SIMDE_FLOAT16_VALUE( 0.593),
|
||||
{ SIMDE_FLOAT16_VALUE( 7.325), SIMDE_FLOAT16_VALUE( 2.581), SIMDE_FLOAT16_VALUE( 5.362), SIMDE_FLOAT16_VALUE( -5.014) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 10.085), SIMDE_FLOAT16_VALUE( 5.073), SIMDE_FLOAT16_VALUE( -13.995), SIMDE_FLOAT16_VALUE( -3.692) },
|
||||
SIMDE_FLOAT16_VALUE( -6.356),
|
||||
{ SIMDE_FLOAT16_VALUE( -64.100), SIMDE_FLOAT16_VALUE( -32.244), SIMDE_FLOAT16_VALUE( 88.952), SIMDE_FLOAT16_VALUE( 23.466) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 2.616), SIMDE_FLOAT16_VALUE( 13.510), SIMDE_FLOAT16_VALUE( -10.555), SIMDE_FLOAT16_VALUE( 5.012) },
|
||||
SIMDE_FLOAT16_VALUE( 3.524),
|
||||
{ SIMDE_FLOAT16_VALUE( 9.219), SIMDE_FLOAT16_VALUE( 47.609), SIMDE_FLOAT16_VALUE( -37.196), SIMDE_FLOAT16_VALUE( 17.662) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 1.775), SIMDE_FLOAT16_VALUE( -14.567), SIMDE_FLOAT16_VALUE( 0.614), SIMDE_FLOAT16_VALUE( -11.430) },
|
||||
SIMDE_FLOAT16_VALUE( 7.777),
|
||||
{ SIMDE_FLOAT16_VALUE( 13.804), SIMDE_FLOAT16_VALUE( -113.288), SIMDE_FLOAT16_VALUE( 4.775), SIMDE_FLOAT16_VALUE( -88.891) } },
|
||||
};
|
||||
|
||||
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 b = test_vec[i].b;
|
||||
simde_float16x4_t r = simde_vmulx_n_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_assert_equal_f16x4(r, simde_vld1_f16(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 b = simde_test_codegen_random_f16(-100.0f, 100.0f);
|
||||
simde_float16x4_t r = simde_vmulx_n_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_write_f16x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f16(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
|
||||
simde_test_arm_neon_write_f16x4(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vmulxq_n_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
struct {
|
||||
simde_float16 a[8];
|
||||
simde_float16 b;
|
||||
simde_float16 r[8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE( -0.208), SIMDE_FLOAT16_VALUE( 9.608), SIMDE_FLOAT16_VALUE( -10.786), SIMDE_FLOAT16_VALUE( -4.477),
|
||||
SIMDE_FLOAT16_VALUE( -5.752), SIMDE_FLOAT16_VALUE( 0.158), SIMDE_FLOAT16_VALUE( -0.915), SIMDE_FLOAT16_VALUE( -2.118) },
|
||||
SIMDE_FLOAT16_VALUE( 13.403),
|
||||
{ SIMDE_FLOAT16_VALUE( -2.788), SIMDE_FLOAT16_VALUE( 128.875), SIMDE_FLOAT16_VALUE( -144.565), SIMDE_FLOAT16_VALUE( -60.005),
|
||||
SIMDE_FLOAT16_VALUE( -77.094), SIMDE_FLOAT16_VALUE( 2.118), SIMDE_FLOAT16_VALUE( -12.264), SIMDE_FLOAT16_VALUE( -28.388) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -1.086), SIMDE_FLOAT16_VALUE( 9.971), SIMDE_FLOAT16_VALUE( 4.082), SIMDE_FLOAT16_VALUE( 1.330),
|
||||
SIMDE_FLOAT16_VALUE( -6.446), SIMDE_FLOAT16_VALUE( -9.402), SIMDE_FLOAT16_VALUE( 1.195), SIMDE_FLOAT16_VALUE( 9.305) },
|
||||
SIMDE_FLOAT16_VALUE( 2.399),
|
||||
{ SIMDE_FLOAT16_VALUE( -2.605), SIMDE_FLOAT16_VALUE( 23.920), SIMDE_FLOAT16_VALUE( 9.793), SIMDE_FLOAT16_VALUE( 3.191),
|
||||
SIMDE_FLOAT16_VALUE( -15.464), SIMDE_FLOAT16_VALUE( -22.555), SIMDE_FLOAT16_VALUE( 2.867), SIMDE_FLOAT16_VALUE( 22.323) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -13.930), SIMDE_FLOAT16_VALUE( -1.967), SIMDE_FLOAT16_VALUE( -10.269), SIMDE_FLOAT16_VALUE( 7.466),
|
||||
SIMDE_FLOAT16_VALUE( 5.053), SIMDE_FLOAT16_VALUE( -6.886), SIMDE_FLOAT16_VALUE( -3.365), SIMDE_FLOAT16_VALUE( -1.955) },
|
||||
SIMDE_FLOAT16_VALUE( -11.395),
|
||||
{ SIMDE_FLOAT16_VALUE( 158.732), SIMDE_FLOAT16_VALUE( 22.414), SIMDE_FLOAT16_VALUE( 117.015), SIMDE_FLOAT16_VALUE( -85.075),
|
||||
SIMDE_FLOAT16_VALUE( -57.579), SIMDE_FLOAT16_VALUE( 78.466), SIMDE_FLOAT16_VALUE( 38.344), SIMDE_FLOAT16_VALUE( 22.277) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 1.599), SIMDE_FLOAT16_VALUE( -5.262), SIMDE_FLOAT16_VALUE( 10.110), SIMDE_FLOAT16_VALUE( 6.774),
|
||||
SIMDE_FLOAT16_VALUE( 11.013), SIMDE_FLOAT16_VALUE( -9.229), SIMDE_FLOAT16_VALUE( -4.293), SIMDE_FLOAT16_VALUE( 13.202) },
|
||||
SIMDE_FLOAT16_VALUE( -8.516),
|
||||
{ SIMDE_FLOAT16_VALUE( -13.617), SIMDE_FLOAT16_VALUE( 44.811), SIMDE_FLOAT16_VALUE( -86.097), SIMDE_FLOAT16_VALUE( -57.687),
|
||||
SIMDE_FLOAT16_VALUE( -93.787), SIMDE_FLOAT16_VALUE( 78.594), SIMDE_FLOAT16_VALUE( 36.559), SIMDE_FLOAT16_VALUE( -112.428) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( -4.086), SIMDE_FLOAT16_VALUE( -8.122), SIMDE_FLOAT16_VALUE( -6.214), SIMDE_FLOAT16_VALUE( -0.827),
|
||||
SIMDE_FLOAT16_VALUE( 10.931), SIMDE_FLOAT16_VALUE( -4.143), SIMDE_FLOAT16_VALUE( 12.376), SIMDE_FLOAT16_VALUE( 13.925) },
|
||||
SIMDE_FLOAT16_VALUE( -0.114),
|
||||
{ SIMDE_FLOAT16_VALUE( 0.466), SIMDE_FLOAT16_VALUE( 0.926), SIMDE_FLOAT16_VALUE( 0.708), SIMDE_FLOAT16_VALUE( 0.094),
|
||||
SIMDE_FLOAT16_VALUE( -1.246), SIMDE_FLOAT16_VALUE( 0.472), SIMDE_FLOAT16_VALUE( -1.411), SIMDE_FLOAT16_VALUE( -1.587) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 1.958), SIMDE_FLOAT16_VALUE( 2.298), SIMDE_FLOAT16_VALUE( -4.675), SIMDE_FLOAT16_VALUE( -13.009),
|
||||
SIMDE_FLOAT16_VALUE( 7.319), SIMDE_FLOAT16_VALUE( 0.171), SIMDE_FLOAT16_VALUE( 2.135), SIMDE_FLOAT16_VALUE( -3.966) },
|
||||
SIMDE_FLOAT16_VALUE( -4.928),
|
||||
{ SIMDE_FLOAT16_VALUE( -9.649), SIMDE_FLOAT16_VALUE( -11.325), SIMDE_FLOAT16_VALUE( 23.038), SIMDE_FLOAT16_VALUE( 64.108),
|
||||
SIMDE_FLOAT16_VALUE( -36.068), SIMDE_FLOAT16_VALUE( -0.843), SIMDE_FLOAT16_VALUE( -10.521), SIMDE_FLOAT16_VALUE( 19.544) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 13.718), SIMDE_FLOAT16_VALUE( -10.061), SIMDE_FLOAT16_VALUE( 2.857), SIMDE_FLOAT16_VALUE( 3.005),
|
||||
SIMDE_FLOAT16_VALUE( 6.442), SIMDE_FLOAT16_VALUE( -2.565), SIMDE_FLOAT16_VALUE( -14.003), SIMDE_FLOAT16_VALUE( -4.137) },
|
||||
SIMDE_FLOAT16_VALUE( -0.792),
|
||||
{ SIMDE_FLOAT16_VALUE( -10.865), SIMDE_FLOAT16_VALUE( 7.968), SIMDE_FLOAT16_VALUE( -2.263), SIMDE_FLOAT16_VALUE( -2.380),
|
||||
SIMDE_FLOAT16_VALUE( -5.102), SIMDE_FLOAT16_VALUE( 2.031), SIMDE_FLOAT16_VALUE( 11.090), SIMDE_FLOAT16_VALUE( 3.277) } },
|
||||
{ { SIMDE_FLOAT16_VALUE( 6.022), SIMDE_FLOAT16_VALUE( -5.553), SIMDE_FLOAT16_VALUE( 0.441), SIMDE_FLOAT16_VALUE( -3.958),
|
||||
SIMDE_FLOAT16_VALUE( -4.461), SIMDE_FLOAT16_VALUE( 3.670), SIMDE_FLOAT16_VALUE( 5.103), SIMDE_FLOAT16_VALUE( 5.566) },
|
||||
SIMDE_FLOAT16_VALUE( -7.034),
|
||||
{ SIMDE_FLOAT16_VALUE( -42.359), SIMDE_FLOAT16_VALUE( 39.060), SIMDE_FLOAT16_VALUE( -3.102), SIMDE_FLOAT16_VALUE( 27.841),
|
||||
SIMDE_FLOAT16_VALUE( 31.379), SIMDE_FLOAT16_VALUE( -25.815), SIMDE_FLOAT16_VALUE( -35.895), SIMDE_FLOAT16_VALUE( -39.151) } },
|
||||
};
|
||||
|
||||
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 r = simde_vmulxq_n_f16(a, test_vec[i].b);
|
||||
simde_test_arm_neon_assert_equal_f16x8(r, simde_vld1q_f16(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 b = simde_test_codegen_random_f16(-100.0f, 100.0f);
|
||||
simde_float16x8_t r = simde_vmulxq_n_f16(a, b);
|
||||
|
||||
simde_test_arm_neon_write_f16x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||||
simde_test_codegen_write_f16(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
|
||||
simde_test_arm_neon_write_f16x8(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vmulx_n_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vmulxq_n_f16)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
#include "test-neon-footer.h"
|
||||
Loading…
Add table
Add a link
Reference in a new issue