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
136
thirdparty/simde/test/arm/neon/qdmlal_high.c
vendored
Normal file
136
thirdparty/simde/test/arm/neon/qdmlal_high.c
vendored
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
#define SIMDE_TEST_ARM_NEON_INSN qdmlal_high
|
||||
|
||||
#include "test-neon.h"
|
||||
#include "../../../simde/arm/neon/qdmlal_high.h"
|
||||
|
||||
static int
|
||||
test_simde_vqdmlal_high_s16 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
static const struct {
|
||||
int32_t a[4];
|
||||
int16_t b[8];
|
||||
int16_t c[8];
|
||||
int32_t r[4];
|
||||
} test_vec[] = {
|
||||
{ { -INT32_C( 4008683), -INT32_C( 5028178), -INT32_C( 8962997), INT32_C( 2551757) },
|
||||
{ INT16_C( 5202), -INT16_C( 4550), -INT16_C( 5993), -INT16_C( 4270),
|
||||
-INT16_C( 1887), INT16_C( 3575), INT16_C( 5768), -INT16_C( 307) },
|
||||
{ INT16_C( 6131), -INT16_C( 5050), -INT16_C( 190), -INT16_C( 7932),
|
||||
INT16_C( 8515), INT16_C( 8459), -INT16_C( 6993), -INT16_C( 9367) },
|
||||
{ -INT32_C( 36144293), INT32_C( 55453672), -INT32_C( 89634245), INT32_C( 8303095) } },
|
||||
{ { -INT32_C( 2170289), -INT32_C( 281565), INT32_C( 3343964), -INT32_C( 2785758) },
|
||||
{ INT16_C( 4163), INT16_C( 8019), INT16_C( 3543), INT16_C( 72),
|
||||
INT16_C( 4500), -INT16_C( 4727), INT16_C( 1520), -INT16_C( 9563) },
|
||||
{ INT16_C( 8885), -INT16_C( 6877), -INT16_C( 685), -INT16_C( 5459),
|
||||
INT16_C( 5251), INT16_C( 2695), INT16_C( 5168), -INT16_C( 338) },
|
||||
{ INT32_C( 45088711), -INT32_C( 25760095), INT32_C( 19054684), INT32_C( 3678830) } },
|
||||
{ { -INT32_C( 4553302), INT32_C( 3125108), -INT32_C( 2065657), -INT32_C( 8992153) },
|
||||
{ INT16_C( 3431), -INT16_C( 7556), -INT16_C( 6557), -INT16_C( 6673),
|
||||
-INT16_C( 5314), INT16_C( 5325), INT16_C( 6866), -INT16_C( 2847) },
|
||||
{ -INT16_C( 3580), INT16_C( 1547), -INT16_C( 6342), INT16_C( 7251),
|
||||
INT16_C( 2064), INT16_C( 9316), -INT16_C( 6342), -INT16_C( 6417) },
|
||||
{ -INT32_C( 26489494), INT32_C( 102340508), -INT32_C( 89154001), INT32_C( 27546245) } },
|
||||
{ { -INT32_C( 484890), -INT32_C( 2201981), INT32_C( 3679408), INT32_C( 1853540) },
|
||||
{ INT16_C( 3856), INT16_C( 7814), -INT16_C( 1769), INT16_C( 1436),
|
||||
INT16_C( 3444), -INT16_C( 9841), -INT16_C( 3411), INT16_C( 8367) },
|
||||
{ INT16_C( 1142), INT16_C( 2589), INT16_C( 1678), INT16_C( 1142),
|
||||
-INT16_C( 5847), INT16_C( 6564), INT16_C( 7556), INT16_C( 3693) },
|
||||
{ -INT32_C( 40759026), -INT32_C( 131394629), -INT32_C( 47867624), INT32_C( 63652202) } },
|
||||
{ { INT32_C( 2121238), INT32_C( 9877268), -INT32_C( 1143534), -INT32_C( 9498808) },
|
||||
{ INT16_C( 5303), -INT16_C( 1950), -INT16_C( 9312), INT16_C( 5725),
|
||||
-INT16_C( 6481), -INT16_C( 780), INT16_C( 5191), -INT16_C( 563) },
|
||||
{ INT16_C( 8677), -INT16_C( 6810), -INT16_C( 8755), -INT16_C( 8531),
|
||||
INT16_C( 820), INT16_C( 2131), INT16_C( 5933), INT16_C( 2473) },
|
||||
{ -INT32_C( 8507602), INT32_C( 6552908), INT32_C( 60452872), -INT32_C( 12283406) } },
|
||||
{ { -INT32_C( 3147561), INT32_C( 5096455), -INT32_C( 7864011), -INT32_C( 8639771) },
|
||||
{ -INT16_C( 6393), -INT16_C( 6974), INT16_C( 1116), -INT16_C( 9693),
|
||||
INT16_C( 9938), -INT16_C( 8485), INT16_C( 9800), INT16_C( 2177) },
|
||||
{ INT16_C( 369), INT16_C( 3864), -INT16_C( 1403), INT16_C( 8739),
|
||||
INT16_C( 9358), INT16_C( 4743), -INT16_C( 9043), INT16_C( 9839) },
|
||||
{ INT32_C( 182852047), -INT32_C( 75392255), -INT32_C( 185106811), INT32_C( 34199235) } },
|
||||
{ { INT32_C( 2379833), INT32_C( 4584653), -INT32_C( 2621237), INT32_C( 775961) },
|
||||
{ INT16_C( 5859), INT16_C( 3035), -INT16_C( 5242), -INT16_C( 5764),
|
||||
INT16_C( 6220), INT16_C( 7190), -INT16_C( 6485), -INT16_C( 4729) },
|
||||
{ INT16_C( 3318), -INT16_C( 2580), -INT16_C( 7939), INT16_C( 6236),
|
||||
INT16_C( 1562), -INT16_C( 4136), INT16_C( 2163), -INT16_C( 4317) },
|
||||
{ INT32_C( 21811113), -INT32_C( 54891027), -INT32_C( 30675347), INT32_C( 41606147) } },
|
||||
{ { INT32_C( 6237148), -INT32_C( 9768512), -INT32_C( 6859928), INT32_C( 5368290) },
|
||||
{ -INT16_C( 9903), -INT16_C( 7336), INT16_C( 1785), INT16_C( 5751),
|
||||
-INT16_C( 7034), INT16_C( 5612), INT16_C( 5698), -INT16_C( 5535) },
|
||||
{ -INT16_C( 9269), -INT16_C( 5310), INT16_C( 5746), INT16_C( 4013),
|
||||
INT16_C( 5760), INT16_C( 4110), INT16_C( 8914), -INT16_C( 764) },
|
||||
{ -INT32_C( 74794532), INT32_C( 36362128), INT32_C( 94724016), INT32_C( 13825770) } },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_int32x4_t a = simde_vld1q_s32(test_vec[i].a);
|
||||
simde_int16x8_t b = simde_vld1q_s16(test_vec[i].b);
|
||||
simde_int16x8_t c = simde_vld1q_s16(test_vec[i].c);
|
||||
simde_int32x4_t r = simde_vqdmlal_high_s16(a, b, c);
|
||||
|
||||
simde_test_arm_neon_assert_equal_i32x4(r, simde_vld1q_s32(test_vec[i].r));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vqdmlal_high_s32 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
static const struct {
|
||||
int64_t a[2];
|
||||
int32_t b[4];
|
||||
int32_t c[4];
|
||||
int64_t r[2];
|
||||
} test_vec[] = {
|
||||
{ { INT64_C( 795560267), INT64_C( 507739276) },
|
||||
{ -INT32_C( 988690), INT32_C( 908701), -INT32_C( 284474), INT32_C( 671690) },
|
||||
{ INT32_C( 117297), INT32_C( 669124), -INT32_C( 739630), -INT32_C( 612370) },
|
||||
{ INT64_C( 421606569507), -INT64_C( 822137871324) } },
|
||||
{ { -INT64_C( 199701311), -INT64_C( 239264910) },
|
||||
{ INT32_C( 660536), INT32_C( 137005), -INT32_C( 440186), -INT32_C( 152398) },
|
||||
{ -INT32_C( 263430), INT32_C( 859419), INT32_C( 961341), INT32_C( 663492) },
|
||||
{ -INT64_C( 846537400163), -INT64_C( 202468972542) } },
|
||||
{ { INT64_C( 564059206), -INT64_C( 412362369) },
|
||||
{ -INT32_C( 654124), INT32_C( 670018), INT32_C( 286862), -INT32_C( 574625) },
|
||||
{ INT32_C( 7787), INT32_C( 752510), -INT32_C( 240056), INT32_C( 577510) },
|
||||
{ -INT64_C( 137161829338), -INT64_C( 664115729869) } },
|
||||
{ { -INT64_C( 167642734), INT64_C( 893273420) },
|
||||
{ -INT32_C( 169982), -INT32_C( 374407), -INT32_C( 45505), -INT32_C( 362726) },
|
||||
{ INT32_C( 241070), INT32_C( 122131), INT32_C( 491343), INT32_C( 110512) },
|
||||
{ -INT64_C( 44884769164), -INT64_C( 79277878004) } },
|
||||
{ { INT64_C( 227912254), INT64_C( 7129424) },
|
||||
{ -INT32_C( 292729), INT32_C( 461415), INT32_C( 188811), INT32_C( 891933) },
|
||||
{ -INT32_C( 15187), INT32_C( 143937), -INT32_C( 197341), INT32_C( 607886) },
|
||||
{ -INT64_C( 74292390848), INT64_C( 1084394296700) } },
|
||||
{ { -INT64_C( 237091799), -INT64_C( 400804847) },
|
||||
{ -INT32_C( 918731), -INT32_C( 765967), INT32_C( 862619), INT32_C( 190016) },
|
||||
{ INT32_C( 123092), -INT32_C( 647395), INT32_C( 880966), INT32_C( 285303) },
|
||||
{ INT64_C( 1519638928109), INT64_C( 108023464849) } },
|
||||
{ { -INT64_C( 64349374), -INT64_C( 521177021) },
|
||||
{ -INT32_C( 901925), -INT32_C( 429371), INT32_C( 953612), -INT32_C( 755979) },
|
||||
{ -INT32_C( 408089), -INT32_C( 658015), -INT32_C( 94549), INT32_C( 666792) },
|
||||
{ -INT64_C( 180390471350), -INT64_C( 1008682675757) } },
|
||||
{ { INT64_C( 185193827), -INT64_C( 1569354) },
|
||||
{ -INT32_C( 759050), -INT32_C( 437291), INT32_C( 207575), -INT32_C( 177006) },
|
||||
{ -INT32_C( 262650), INT32_C( 912777), INT32_C( 556302), -INT32_C( 41245) },
|
||||
{ INT64_C( 231133969127), INT64_C( 14599655586) } },
|
||||
};
|
||||
|
||||
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||||
simde_int64x2_t a = simde_vld1q_s64(test_vec[i].a);
|
||||
simde_int32x4_t b = simde_vld1q_s32(test_vec[i].b);
|
||||
simde_int32x4_t c = simde_vld1q_s32(test_vec[i].c);
|
||||
simde_int64x2_t r = simde_vqdmlal_high_s32(a, b, c);
|
||||
|
||||
simde_test_arm_neon_assert_equal_i64x2(r, simde_vld1q_s64(test_vec[i].r));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
SIMDE_TEST_FUNC_LIST_BEGIN
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vqdmlal_high_s16)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vqdmlal_high_s32)
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
#include "test-neon-footer.h"
|
||||
Loading…
Add table
Add a link
Reference in a new issue