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
185
thirdparty/simde/test/arm/neon/fma.c
vendored
185
thirdparty/simde/test/arm/neon/fma.c
vendored
|
|
@ -73,6 +73,186 @@ test_simde_vfma_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vfmah_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_float16_t a;
|
||||
simde_float16_t b;
|
||||
simde_float16_t c;
|
||||
simde_float16_t r;
|
||||
} test_vec[] = {
|
||||
{ SIMDE_FLOAT16_VALUE(31.59),
|
||||
SIMDE_FLOAT16_VALUE(4.50),
|
||||
SIMDE_FLOAT16_VALUE(-3.60),
|
||||
SIMDE_FLOAT16_VALUE(15.39) },
|
||||
{ SIMDE_FLOAT16_VALUE(18.30),
|
||||
SIMDE_FLOAT16_VALUE(1.00),
|
||||
SIMDE_FLOAT16_VALUE(0.40),
|
||||
SIMDE_FLOAT16_VALUE(18.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(-27.00),
|
||||
SIMDE_FLOAT16_VALUE(-4.80),
|
||||
SIMDE_FLOAT16_VALUE(1.70),
|
||||
SIMDE_FLOAT16_VALUE(-35.16) },
|
||||
{ SIMDE_FLOAT16_VALUE(-24.30),
|
||||
SIMDE_FLOAT16_VALUE(1.90),
|
||||
SIMDE_FLOAT16_VALUE(-2.40),
|
||||
SIMDE_FLOAT16_VALUE(-28.86) },
|
||||
{ SIMDE_FLOAT16_VALUE(32.19),
|
||||
SIMDE_FLOAT16_VALUE(1.10),
|
||||
SIMDE_FLOAT16_VALUE(0.80),
|
||||
SIMDE_FLOAT16_VALUE(33.06) },
|
||||
{ SIMDE_FLOAT16_VALUE(-16.59),
|
||||
SIMDE_FLOAT16_VALUE(-0.20),
|
||||
SIMDE_FLOAT16_VALUE(1.60),
|
||||
SIMDE_FLOAT16_VALUE(-16.91) },
|
||||
{ SIMDE_FLOAT16_VALUE(34.59),
|
||||
SIMDE_FLOAT16_VALUE(1.60),
|
||||
SIMDE_FLOAT16_VALUE(-0.40),
|
||||
SIMDE_FLOAT16_VALUE(33.97) },
|
||||
{ SIMDE_FLOAT16_VALUE(18.09),
|
||||
SIMDE_FLOAT16_VALUE(5.00),
|
||||
SIMDE_FLOAT16_VALUE(2.80),
|
||||
SIMDE_FLOAT16_VALUE(32.09) },
|
||||
{ SIMDE_FLOAT16_VALUE(21.30),
|
||||
SIMDE_FLOAT16_VALUE(-2.50),
|
||||
SIMDE_FLOAT16_VALUE(-0.10),
|
||||
SIMDE_FLOAT16_VALUE(21.55) },
|
||||
{ SIMDE_FLOAT16_VALUE(22.20),
|
||||
SIMDE_FLOAT16_VALUE(-3.10),
|
||||
SIMDE_FLOAT16_VALUE(-4.60),
|
||||
SIMDE_FLOAT16_VALUE(36.47) },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_float16_t r = simde_vfmah_f16(test_vec[i].a, test_vec[i].b, test_vec[i].c);
|
||||
simde_assert_equal_f16(r, test_vec[i].r, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vfma_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_float16_t a[4];
|
||||
simde_float16_t b[4];
|
||||
simde_float16_t c[4];
|
||||
simde_float16_t r[4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(31.59), SIMDE_FLOAT16_VALUE(4.80), SIMDE_FLOAT16_VALUE(4.80), SIMDE_FLOAT16_VALUE(25.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(4.50), SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(3.00), SIMDE_FLOAT16_VALUE(-2.20) } ,
|
||||
{ SIMDE_FLOAT16_VALUE(-3.60), SIMDE_FLOAT16_VALUE(-1.80), SIMDE_FLOAT16_VALUE(4.00), SIMDE_FLOAT16_VALUE(-4.70) } ,
|
||||
{ SIMDE_FLOAT16_VALUE(15.39), SIMDE_FLOAT16_VALUE(3.00), SIMDE_FLOAT16_VALUE(16.80), SIMDE_FLOAT16_VALUE(35.34) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(18.30), SIMDE_FLOAT16_VALUE(-39.00), SIMDE_FLOAT16_VALUE(-47.69), SIMDE_FLOAT16_VALUE(-43.50) } ,
|
||||
{ SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(-2.00), SIMDE_FLOAT16_VALUE(-2.30), SIMDE_FLOAT16_VALUE(-2.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.40), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(-0.30), SIMDE_FLOAT16_VALUE(-4.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(18.70), SIMDE_FLOAT16_VALUE(-48.81), SIMDE_FLOAT16_VALUE(-47.00), SIMDE_FLOAT16_VALUE(-30.91) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-27.00), SIMDE_FLOAT16_VALUE(-35.59), SIMDE_FLOAT16_VALUE(-37.59), SIMDE_FLOAT16_VALUE(31.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(-4.80), SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(3.10), SIMDE_FLOAT16_VALUE(-3.10) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.70), SIMDE_FLOAT16_VALUE(-4.70), SIMDE_FLOAT16_VALUE(2.20), SIMDE_FLOAT16_VALUE(3.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(-35.16), SIMDE_FLOAT16_VALUE(-15.86), SIMDE_FLOAT16_VALUE(-30.78), SIMDE_FLOAT16_VALUE(20.66) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-24.30), SIMDE_FLOAT16_VALUE(-8.70), SIMDE_FLOAT16_VALUE(-2.70), SIMDE_FLOAT16_VALUE(-7.60) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.90), SIMDE_FLOAT16_VALUE(0.40), SIMDE_FLOAT16_VALUE(1.80), SIMDE_FLOAT16_VALUE(1.60) },
|
||||
{ SIMDE_FLOAT16_VALUE(-2.40), SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(-1.10), SIMDE_FLOAT16_VALUE(-2.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(-28.86), SIMDE_FLOAT16_VALUE(-8.74), SIMDE_FLOAT16_VALUE(-4.68), SIMDE_FLOAT16_VALUE(-11.92) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(32.19), SIMDE_FLOAT16_VALUE(0.70), SIMDE_FLOAT16_VALUE(10.60), SIMDE_FLOAT16_VALUE(47.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.10), SIMDE_FLOAT16_VALUE(2.90), SIMDE_FLOAT16_VALUE(-2.80), SIMDE_FLOAT16_VALUE(5.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.80), SIMDE_FLOAT16_VALUE(-4.30), SIMDE_FLOAT16_VALUE(-3.30), SIMDE_FLOAT16_VALUE(1.40) },
|
||||
{ SIMDE_FLOAT16_VALUE(33.06), SIMDE_FLOAT16_VALUE(-11.77), SIMDE_FLOAT16_VALUE(19.84), SIMDE_FLOAT16_VALUE(54.50) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-16.59), SIMDE_FLOAT16_VALUE(4.30), SIMDE_FLOAT16_VALUE(45.59), SIMDE_FLOAT16_VALUE(-28.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.20), SIMDE_FLOAT16_VALUE(2.60), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(4.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.60), SIMDE_FLOAT16_VALUE(-4.90), SIMDE_FLOAT16_VALUE(-4.10), SIMDE_FLOAT16_VALUE(-2.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(-16.91), SIMDE_FLOAT16_VALUE(-8.44), SIMDE_FLOAT16_VALUE(25.50), SIMDE_FLOAT16_VALUE(-41.44) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(34.59), SIMDE_FLOAT16_VALUE(47.00), SIMDE_FLOAT16_VALUE(-23.30), SIMDE_FLOAT16_VALUE(-23.59) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.60), SIMDE_FLOAT16_VALUE(-4.90), SIMDE_FLOAT16_VALUE(3.30), SIMDE_FLOAT16_VALUE(-2.60) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.40), SIMDE_FLOAT16_VALUE(-4.50), SIMDE_FLOAT16_VALUE(-4.10), SIMDE_FLOAT16_VALUE(0.30) },
|
||||
{ SIMDE_FLOAT16_VALUE(33.97), SIMDE_FLOAT16_VALUE(69.06), SIMDE_FLOAT16_VALUE(-36.84), SIMDE_FLOAT16_VALUE(-24.38) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(18.09), SIMDE_FLOAT16_VALUE(2.60), SIMDE_FLOAT16_VALUE(-42.81), SIMDE_FLOAT16_VALUE(34.59) },
|
||||
{ SIMDE_FLOAT16_VALUE(5.00), SIMDE_FLOAT16_VALUE(-3.50), SIMDE_FLOAT16_VALUE(1.90), SIMDE_FLOAT16_VALUE(-0.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(2.80), SIMDE_FLOAT16_VALUE(-4.00), SIMDE_FLOAT16_VALUE(-3.50), SIMDE_FLOAT16_VALUE(3.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(32.09), SIMDE_FLOAT16_VALUE(16.59), SIMDE_FLOAT16_VALUE(-49.47), SIMDE_FLOAT16_VALUE(34.00) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(21.30), SIMDE_FLOAT16_VALUE(31.59), SIMDE_FLOAT16_VALUE(7.20), SIMDE_FLOAT16_VALUE(45.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(-2.50), SIMDE_FLOAT16_VALUE(3.90), SIMDE_FLOAT16_VALUE(-1.70), SIMDE_FLOAT16_VALUE(-0.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(-4.10), SIMDE_FLOAT16_VALUE(3.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(21.55), SIMDE_FLOAT16_VALUE(15.22), SIMDE_FLOAT16_VALUE(14.17), SIMDE_FLOAT16_VALUE(43.09) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(22.20), SIMDE_FLOAT16_VALUE(-18.09), SIMDE_FLOAT16_VALUE(12.90), SIMDE_FLOAT16_VALUE(-21.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(-3.10), SIMDE_FLOAT16_VALUE(3.20), SIMDE_FLOAT16_VALUE(0.30), SIMDE_FLOAT16_VALUE(-4.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(-4.60), SIMDE_FLOAT16_VALUE(-3.00), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(3.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(36.47), SIMDE_FLOAT16_VALUE(-27.69), SIMDE_FLOAT16_VALUE(14.37), SIMDE_FLOAT16_VALUE(-36.75) } },
|
||||
};
|
||||
|
||||
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_float16x4_t c = simde_vld1_f16(test_vec[i].c);
|
||||
simde_float16x4_t r = simde_vfma_f16(a, b, c);
|
||||
simde_test_arm_neon_assert_equal_f16x4(r, simde_vld1_f16(test_vec[i].r), 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vfmaq_f16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_float16_t a[8];
|
||||
simde_float16_t b[8];
|
||||
simde_float16_t c[8];
|
||||
simde_float16_t r[8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(31.59), SIMDE_FLOAT16_VALUE(4.80), SIMDE_FLOAT16_VALUE(4.80), SIMDE_FLOAT16_VALUE(25.00), SIMDE_FLOAT16_VALUE(-8.30), SIMDE_FLOAT16_VALUE(23.00), SIMDE_FLOAT16_VALUE(-12.00), SIMDE_FLOAT16_VALUE(19.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(4.50), SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(3.00), SIMDE_FLOAT16_VALUE(-2.20), SIMDE_FLOAT16_VALUE(0.60), SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(4.20), SIMDE_FLOAT16_VALUE(0.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(-3.60), SIMDE_FLOAT16_VALUE(-1.80), SIMDE_FLOAT16_VALUE(4.00), SIMDE_FLOAT16_VALUE(-4.70), SIMDE_FLOAT16_VALUE(-2.70), SIMDE_FLOAT16_VALUE(0.00), SIMDE_FLOAT16_VALUE(-1.30), SIMDE_FLOAT16_VALUE(-0.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(15.39), SIMDE_FLOAT16_VALUE(3.00), SIMDE_FLOAT16_VALUE(16.80), SIMDE_FLOAT16_VALUE(35.34), SIMDE_FLOAT16_VALUE(-9.91), SIMDE_FLOAT16_VALUE(23.00), SIMDE_FLOAT16_VALUE(-17.45), SIMDE_FLOAT16_VALUE(19.80) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(18.30), SIMDE_FLOAT16_VALUE(-39.00), SIMDE_FLOAT16_VALUE(-47.69), SIMDE_FLOAT16_VALUE(-43.50), SIMDE_FLOAT16_VALUE(24.20), SIMDE_FLOAT16_VALUE(11.80), SIMDE_FLOAT16_VALUE(-18.20), SIMDE_FLOAT16_VALUE(27.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(-2.00), SIMDE_FLOAT16_VALUE(-2.30), SIMDE_FLOAT16_VALUE(-2.80), SIMDE_FLOAT16_VALUE(3.50), SIMDE_FLOAT16_VALUE(-2.40), SIMDE_FLOAT16_VALUE(3.70), SIMDE_FLOAT16_VALUE(3.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.40), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(-0.30), SIMDE_FLOAT16_VALUE(-4.50), SIMDE_FLOAT16_VALUE(-4.10), SIMDE_FLOAT16_VALUE(2.70), SIMDE_FLOAT16_VALUE(-0.00), SIMDE_FLOAT16_VALUE(-3.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(18.70), SIMDE_FLOAT16_VALUE(-48.81), SIMDE_FLOAT16_VALUE(-47.00), SIMDE_FLOAT16_VALUE(-30.91), SIMDE_FLOAT16_VALUE(9.84), SIMDE_FLOAT16_VALUE(5.32), SIMDE_FLOAT16_VALUE(-18.20), SIMDE_FLOAT16_VALUE(15.87) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-27.00), SIMDE_FLOAT16_VALUE(-35.59), SIMDE_FLOAT16_VALUE(-37.59), SIMDE_FLOAT16_VALUE(31.50), SIMDE_FLOAT16_VALUE(1.00), SIMDE_FLOAT16_VALUE(-26.59), SIMDE_FLOAT16_VALUE(13.80), SIMDE_FLOAT16_VALUE(-5.40) },
|
||||
{ SIMDE_FLOAT16_VALUE(-4.80), SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(3.10), SIMDE_FLOAT16_VALUE(-3.10), SIMDE_FLOAT16_VALUE(2.80), SIMDE_FLOAT16_VALUE(0.50), SIMDE_FLOAT16_VALUE(-0.20), SIMDE_FLOAT16_VALUE(1.60) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.70), SIMDE_FLOAT16_VALUE(-4.70), SIMDE_FLOAT16_VALUE(2.20), SIMDE_FLOAT16_VALUE(3.50), SIMDE_FLOAT16_VALUE(2.50), SIMDE_FLOAT16_VALUE(1.40), SIMDE_FLOAT16_VALUE(-1.90), SIMDE_FLOAT16_VALUE(-3.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(-35.16), SIMDE_FLOAT16_VALUE(-15.86), SIMDE_FLOAT16_VALUE(-30.78), SIMDE_FLOAT16_VALUE(20.66), SIMDE_FLOAT16_VALUE(8.00), SIMDE_FLOAT16_VALUE(-25.89), SIMDE_FLOAT16_VALUE(14.18), SIMDE_FLOAT16_VALUE(-11.31) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-24.30), SIMDE_FLOAT16_VALUE(-8.70), SIMDE_FLOAT16_VALUE(-2.70), SIMDE_FLOAT16_VALUE(-7.60), SIMDE_FLOAT16_VALUE(-3.10), SIMDE_FLOAT16_VALUE(10.10), SIMDE_FLOAT16_VALUE(-49.41), SIMDE_FLOAT16_VALUE(49.59) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.90), SIMDE_FLOAT16_VALUE(0.40), SIMDE_FLOAT16_VALUE(1.80), SIMDE_FLOAT16_VALUE(1.60), SIMDE_FLOAT16_VALUE(-4.50), SIMDE_FLOAT16_VALUE(1.30), SIMDE_FLOAT16_VALUE(-4.00), SIMDE_FLOAT16_VALUE(-3.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(-2.40), SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(-1.10), SIMDE_FLOAT16_VALUE(-2.70), SIMDE_FLOAT16_VALUE(4.60), SIMDE_FLOAT16_VALUE(0.30), SIMDE_FLOAT16_VALUE(-1.50), SIMDE_FLOAT16_VALUE(-3.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(-28.86), SIMDE_FLOAT16_VALUE(-8.74), SIMDE_FLOAT16_VALUE(-4.68), SIMDE_FLOAT16_VALUE(-11.92), SIMDE_FLOAT16_VALUE(-23.80), SIMDE_FLOAT16_VALUE(10.49), SIMDE_FLOAT16_VALUE(-43.41), SIMDE_FLOAT16_VALUE(59.19) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(32.19), SIMDE_FLOAT16_VALUE(0.70), SIMDE_FLOAT16_VALUE(10.60), SIMDE_FLOAT16_VALUE(47.50), SIMDE_FLOAT16_VALUE(-22.59), SIMDE_FLOAT16_VALUE(-47.59), SIMDE_FLOAT16_VALUE(38.91), SIMDE_FLOAT16_VALUE(-10.10) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.10), SIMDE_FLOAT16_VALUE(2.90), SIMDE_FLOAT16_VALUE(-2.80), SIMDE_FLOAT16_VALUE(5.00), SIMDE_FLOAT16_VALUE(1.10), SIMDE_FLOAT16_VALUE(3.30), SIMDE_FLOAT16_VALUE(2.40), SIMDE_FLOAT16_VALUE(2.10) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.80), SIMDE_FLOAT16_VALUE(-4.30), SIMDE_FLOAT16_VALUE(-3.30), SIMDE_FLOAT16_VALUE(1.40), SIMDE_FLOAT16_VALUE(2.20), SIMDE_FLOAT16_VALUE(-0.30), SIMDE_FLOAT16_VALUE(-2.00), SIMDE_FLOAT16_VALUE(-0.90) },
|
||||
{ SIMDE_FLOAT16_VALUE(33.06), SIMDE_FLOAT16_VALUE(-11.77), SIMDE_FLOAT16_VALUE(19.84), SIMDE_FLOAT16_VALUE(54.50), SIMDE_FLOAT16_VALUE(-20.17), SIMDE_FLOAT16_VALUE(-48.59), SIMDE_FLOAT16_VALUE(34.09), SIMDE_FLOAT16_VALUE(-11.99) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-16.59), SIMDE_FLOAT16_VALUE(4.30), SIMDE_FLOAT16_VALUE(45.59), SIMDE_FLOAT16_VALUE(-28.00), SIMDE_FLOAT16_VALUE(-14.90), SIMDE_FLOAT16_VALUE(-45.59), SIMDE_FLOAT16_VALUE(22.20), SIMDE_FLOAT16_VALUE(30.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.20), SIMDE_FLOAT16_VALUE(2.60), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(4.80), SIMDE_FLOAT16_VALUE(-3.00), SIMDE_FLOAT16_VALUE(-2.70), SIMDE_FLOAT16_VALUE(3.70), SIMDE_FLOAT16_VALUE(4.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.60), SIMDE_FLOAT16_VALUE(-4.90), SIMDE_FLOAT16_VALUE(-4.10), SIMDE_FLOAT16_VALUE(-2.80), SIMDE_FLOAT16_VALUE(0.60), SIMDE_FLOAT16_VALUE(-3.20), SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(2.20) },
|
||||
{ SIMDE_FLOAT16_VALUE(-16.91), SIMDE_FLOAT16_VALUE(-8.44), SIMDE_FLOAT16_VALUE(25.50), SIMDE_FLOAT16_VALUE(-41.44), SIMDE_FLOAT16_VALUE(-16.70), SIMDE_FLOAT16_VALUE(-36.97), SIMDE_FLOAT16_VALUE(6.67), SIMDE_FLOAT16_VALUE(41.34) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(34.59), SIMDE_FLOAT16_VALUE(47.00), SIMDE_FLOAT16_VALUE(-23.30), SIMDE_FLOAT16_VALUE(-23.59), SIMDE_FLOAT16_VALUE(34.81), SIMDE_FLOAT16_VALUE(14.20), SIMDE_FLOAT16_VALUE(27.20), SIMDE_FLOAT16_VALUE(16.91) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.60), SIMDE_FLOAT16_VALUE(-4.90), SIMDE_FLOAT16_VALUE(3.30), SIMDE_FLOAT16_VALUE(-2.60), SIMDE_FLOAT16_VALUE(-0.70), SIMDE_FLOAT16_VALUE(1.10), SIMDE_FLOAT16_VALUE(1.60), SIMDE_FLOAT16_VALUE(0.40) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.40), SIMDE_FLOAT16_VALUE(-4.50), SIMDE_FLOAT16_VALUE(-4.10), SIMDE_FLOAT16_VALUE(0.30), SIMDE_FLOAT16_VALUE(0.20), SIMDE_FLOAT16_VALUE(1.20), SIMDE_FLOAT16_VALUE(3.20), SIMDE_FLOAT16_VALUE(4.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(33.97), SIMDE_FLOAT16_VALUE(69.06), SIMDE_FLOAT16_VALUE(-36.84), SIMDE_FLOAT16_VALUE(-24.38), SIMDE_FLOAT16_VALUE(34.69), SIMDE_FLOAT16_VALUE(15.52), SIMDE_FLOAT16_VALUE(32.31), SIMDE_FLOAT16_VALUE(18.78) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(18.09), SIMDE_FLOAT16_VALUE(2.60), SIMDE_FLOAT16_VALUE(-42.81), SIMDE_FLOAT16_VALUE(34.59), SIMDE_FLOAT16_VALUE(4.00), SIMDE_FLOAT16_VALUE(6.60), SIMDE_FLOAT16_VALUE(29.80), SIMDE_FLOAT16_VALUE(-46.09) },
|
||||
{ SIMDE_FLOAT16_VALUE(5.00), SIMDE_FLOAT16_VALUE(-3.50), SIMDE_FLOAT16_VALUE(1.90), SIMDE_FLOAT16_VALUE(-0.20), SIMDE_FLOAT16_VALUE(1.20), SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(1.50), SIMDE_FLOAT16_VALUE(-0.70) },
|
||||
{ SIMDE_FLOAT16_VALUE(2.80), SIMDE_FLOAT16_VALUE(-4.00), SIMDE_FLOAT16_VALUE(-3.50), SIMDE_FLOAT16_VALUE(3.00), SIMDE_FLOAT16_VALUE(2.80), SIMDE_FLOAT16_VALUE(-4.70), SIMDE_FLOAT16_VALUE(-2.90), SIMDE_FLOAT16_VALUE(3.50) },
|
||||
{ SIMDE_FLOAT16_VALUE(32.09), SIMDE_FLOAT16_VALUE(16.59), SIMDE_FLOAT16_VALUE(-49.47), SIMDE_FLOAT16_VALUE(34.00), SIMDE_FLOAT16_VALUE(7.36), SIMDE_FLOAT16_VALUE(7.07), SIMDE_FLOAT16_VALUE(25.44), SIMDE_FLOAT16_VALUE(-48.53) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(21.30), SIMDE_FLOAT16_VALUE(31.59), SIMDE_FLOAT16_VALUE(7.20), SIMDE_FLOAT16_VALUE(45.00), SIMDE_FLOAT16_VALUE(-30.59), SIMDE_FLOAT16_VALUE(-22.91), SIMDE_FLOAT16_VALUE(-26.20), SIMDE_FLOAT16_VALUE(10.00) },
|
||||
{ SIMDE_FLOAT16_VALUE(-2.50), SIMDE_FLOAT16_VALUE(3.90), SIMDE_FLOAT16_VALUE(-1.70), SIMDE_FLOAT16_VALUE(-0.50), SIMDE_FLOAT16_VALUE(2.90), SIMDE_FLOAT16_VALUE(0.60), SIMDE_FLOAT16_VALUE(-2.60), SIMDE_FLOAT16_VALUE(-1.90) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.10), SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(-4.10), SIMDE_FLOAT16_VALUE(3.80), SIMDE_FLOAT16_VALUE(-1.40), SIMDE_FLOAT16_VALUE(-1.80), SIMDE_FLOAT16_VALUE(-0.70), SIMDE_FLOAT16_VALUE(-0.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(21.55), SIMDE_FLOAT16_VALUE(15.22), SIMDE_FLOAT16_VALUE(14.17), SIMDE_FLOAT16_VALUE(43.09), SIMDE_FLOAT16_VALUE(-34.66), SIMDE_FLOAT16_VALUE(-23.98), SIMDE_FLOAT16_VALUE(-24.38), SIMDE_FLOAT16_VALUE(11.52) } },
|
||||
{ { SIMDE_FLOAT16_VALUE(22.20), SIMDE_FLOAT16_VALUE(-18.09), SIMDE_FLOAT16_VALUE(12.90), SIMDE_FLOAT16_VALUE(-21.20), SIMDE_FLOAT16_VALUE(1.70), SIMDE_FLOAT16_VALUE(-48.00), SIMDE_FLOAT16_VALUE(10.00), SIMDE_FLOAT16_VALUE(1.60) },
|
||||
{ SIMDE_FLOAT16_VALUE(-3.10), SIMDE_FLOAT16_VALUE(3.20), SIMDE_FLOAT16_VALUE(0.30), SIMDE_FLOAT16_VALUE(-4.20), SIMDE_FLOAT16_VALUE(-0.80), SIMDE_FLOAT16_VALUE(-2.40), SIMDE_FLOAT16_VALUE(2.90), SIMDE_FLOAT16_VALUE(0.90) },
|
||||
{ SIMDE_FLOAT16_VALUE(-4.60), SIMDE_FLOAT16_VALUE(-3.00), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(3.70), SIMDE_FLOAT16_VALUE(3.80), SIMDE_FLOAT16_VALUE(2.30), SIMDE_FLOAT16_VALUE(4.90), SIMDE_FLOAT16_VALUE(0.80) },
|
||||
{ SIMDE_FLOAT16_VALUE(36.47), SIMDE_FLOAT16_VALUE(-27.69), SIMDE_FLOAT16_VALUE(14.37), SIMDE_FLOAT16_VALUE(-36.75), SIMDE_FLOAT16_VALUE(-1.34), SIMDE_FLOAT16_VALUE(-53.53), SIMDE_FLOAT16_VALUE(24.22), SIMDE_FLOAT16_VALUE(2.32) } },
|
||||
};
|
||||
|
||||
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_float16x8_t c = simde_vld1q_f16(test_vec[i].c);
|
||||
simde_float16x8_t r = simde_vfmaq_f16(a, b, c);
|
||||
simde_test_arm_neon_assert_equal_f16x8(r, simde_vld1q_f16(test_vec[i].r), 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vfmaq_f32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -282,9 +462,12 @@ test_simde_vfmaq_f64 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
}
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmah_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfma_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfma_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmaq_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfma_f64)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmaq_f16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmaq_f32)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vfmaq_f64)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue