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

@ -407,6 +407,208 @@ test_simde_vrev32q_u16 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}
static int
test_simde_vrev32_p8 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly8_t a[8];
simde_poly8_t r[8];
} test_vec[] = {
{ { SIMDE_POLY8_C( 11), SIMDE_POLY8_C(159), SIMDE_POLY8_C(143), SIMDE_POLY8_C(167), SIMDE_POLY8_C(185), SIMDE_POLY8_C(247), SIMDE_POLY8_C( 63), SIMDE_POLY8_C(210) },
{ SIMDE_POLY8_C(167), SIMDE_POLY8_C(143), SIMDE_POLY8_C(159), SIMDE_POLY8_C( 11), SIMDE_POLY8_C(210), SIMDE_POLY8_C( 63), SIMDE_POLY8_C(247), SIMDE_POLY8_C(185) } },
{ { SIMDE_POLY8_C(126), SIMDE_POLY8_C(187), SIMDE_POLY8_C( 97), SIMDE_POLY8_C( 34), SIMDE_POLY8_C( 33), SIMDE_POLY8_C( 88), SIMDE_POLY8_C( 12), SIMDE_POLY8_C(158) },
{ SIMDE_POLY8_C( 34), SIMDE_POLY8_C( 97), SIMDE_POLY8_C(187), SIMDE_POLY8_C(126), SIMDE_POLY8_C(158), SIMDE_POLY8_C( 12), SIMDE_POLY8_C( 88), SIMDE_POLY8_C( 33) } },
{ { SIMDE_POLY8_C(120), SIMDE_POLY8_C(219), SIMDE_POLY8_C( 2), SIMDE_POLY8_C( 23), SIMDE_POLY8_C(244), SIMDE_POLY8_C( 23), SIMDE_POLY8_C( 40), SIMDE_POLY8_C(164) },
{ SIMDE_POLY8_C( 23), SIMDE_POLY8_C( 2), SIMDE_POLY8_C(219), SIMDE_POLY8_C(120), SIMDE_POLY8_C(164), SIMDE_POLY8_C( 40), SIMDE_POLY8_C( 23), SIMDE_POLY8_C(244) } },
{ { SIMDE_POLY8_C(213), SIMDE_POLY8_C( 66), SIMDE_POLY8_C(210), SIMDE_POLY8_C(230), SIMDE_POLY8_C( 51), SIMDE_POLY8_C(148), SIMDE_POLY8_C(224), SIMDE_POLY8_C( 63) },
{ SIMDE_POLY8_C(230), SIMDE_POLY8_C(210), SIMDE_POLY8_C( 66), SIMDE_POLY8_C(213), SIMDE_POLY8_C( 63), SIMDE_POLY8_C(224), SIMDE_POLY8_C(148), SIMDE_POLY8_C( 51) } },
{ { SIMDE_POLY8_C( 51), SIMDE_POLY8_C(111), SIMDE_POLY8_C(230), SIMDE_POLY8_C(236), SIMDE_POLY8_C(102), SIMDE_POLY8_C( 37), SIMDE_POLY8_C(191), SIMDE_POLY8_C(228) },
{ SIMDE_POLY8_C(236), SIMDE_POLY8_C(230), SIMDE_POLY8_C(111), SIMDE_POLY8_C( 51), SIMDE_POLY8_C(228), SIMDE_POLY8_C(191), SIMDE_POLY8_C( 37), SIMDE_POLY8_C(102) } },
{ { SIMDE_POLY8_C(225), SIMDE_POLY8_C( 32), SIMDE_POLY8_C( 7), SIMDE_POLY8_C( 2), SIMDE_POLY8_C(120), SIMDE_POLY8_C( 19), SIMDE_POLY8_C(160), SIMDE_POLY8_C(240) },
{ SIMDE_POLY8_C( 2), SIMDE_POLY8_C( 7), SIMDE_POLY8_C( 32), SIMDE_POLY8_C(225), SIMDE_POLY8_C(240), SIMDE_POLY8_C(160), SIMDE_POLY8_C( 19), SIMDE_POLY8_C(120) } },
{ { SIMDE_POLY8_C(239), SIMDE_POLY8_C(162), SIMDE_POLY8_C( 8), SIMDE_POLY8_C(227), SIMDE_POLY8_C(186), SIMDE_POLY8_C( 48), SIMDE_POLY8_C(135), SIMDE_POLY8_C(143) },
{ SIMDE_POLY8_C(227), SIMDE_POLY8_C( 8), SIMDE_POLY8_C(162), SIMDE_POLY8_C(239), SIMDE_POLY8_C(143), SIMDE_POLY8_C(135), SIMDE_POLY8_C( 48), SIMDE_POLY8_C(186) } },
{ { SIMDE_POLY8_C(114), SIMDE_POLY8_C( 90), SIMDE_POLY8_C(118), SIMDE_POLY8_C(165), SIMDE_POLY8_C(238), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(228), SIMDE_POLY8_C( 33) },
{ SIMDE_POLY8_C(165), SIMDE_POLY8_C(118), SIMDE_POLY8_C( 90), SIMDE_POLY8_C(114), SIMDE_POLY8_C( 33), SIMDE_POLY8_C(228), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(238) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_poly8x8_t a = simde_vld1_p8(test_vec[i].a);
simde_poly8x8_t r = simde_vrev32_p8(a);
simde_test_arm_neon_assert_equal_p8x8(r, simde_vld1_p8(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_poly8x8_t a = simde_test_arm_neon_random_p8x8();
simde_poly8x8_t r = simde_vrev32_p8(a);
simde_test_arm_neon_write_p8x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_p8x8(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vrev32_p16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly16_t a[4];
simde_poly16_t r[4];
} test_vec[] = {
{ { SIMDE_POLY16_C(28484), SIMDE_POLY16_C(36729), SIMDE_POLY16_C(20702), SIMDE_POLY16_C(17090) },
{ SIMDE_POLY16_C(36729), SIMDE_POLY16_C(28484), SIMDE_POLY16_C(17090), SIMDE_POLY16_C(20702) } },
{ { SIMDE_POLY16_C( 5558), SIMDE_POLY16_C(16791), SIMDE_POLY16_C( 863), SIMDE_POLY16_C(34542) },
{ SIMDE_POLY16_C(16791), SIMDE_POLY16_C( 5558), SIMDE_POLY16_C(34542), SIMDE_POLY16_C( 863) } },
{ { SIMDE_POLY16_C(65329), SIMDE_POLY16_C(53465), SIMDE_POLY16_C(26394), SIMDE_POLY16_C(35387) },
{ SIMDE_POLY16_C(53465), SIMDE_POLY16_C(65329), SIMDE_POLY16_C(35387), SIMDE_POLY16_C(26394) } },
{ { SIMDE_POLY16_C(32028), SIMDE_POLY16_C( 8342), SIMDE_POLY16_C(52300), SIMDE_POLY16_C(36878) },
{ SIMDE_POLY16_C( 8342), SIMDE_POLY16_C(32028), SIMDE_POLY16_C(36878), SIMDE_POLY16_C(52300) } },
{ { SIMDE_POLY16_C(34619), SIMDE_POLY16_C( 6688), SIMDE_POLY16_C(58071), SIMDE_POLY16_C(36188) },
{ SIMDE_POLY16_C( 6688), SIMDE_POLY16_C(34619), SIMDE_POLY16_C(36188), SIMDE_POLY16_C(58071) } },
{ { SIMDE_POLY16_C(62455), SIMDE_POLY16_C(22222), SIMDE_POLY16_C(48631), SIMDE_POLY16_C(10460) },
{ SIMDE_POLY16_C(22222), SIMDE_POLY16_C(62455), SIMDE_POLY16_C(10460), SIMDE_POLY16_C(48631) } },
{ { SIMDE_POLY16_C(46524), SIMDE_POLY16_C(55288), SIMDE_POLY16_C(13085), SIMDE_POLY16_C(14689) },
{ SIMDE_POLY16_C(55288), SIMDE_POLY16_C(46524), SIMDE_POLY16_C(14689), SIMDE_POLY16_C(13085) } },
{ { SIMDE_POLY16_C(63408), SIMDE_POLY16_C(64601), SIMDE_POLY16_C(26564), SIMDE_POLY16_C(65420) },
{ SIMDE_POLY16_C(64601), SIMDE_POLY16_C(63408), SIMDE_POLY16_C(65420), SIMDE_POLY16_C(26564) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_poly16x4_t a = simde_vld1_p16(test_vec[i].a);
simde_poly16x4_t r = simde_vrev32_p16(a);
simde_test_arm_neon_assert_equal_p16x4(r, simde_vld1_p16(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_poly16x4_t a = simde_test_arm_neon_random_p16x4();
simde_poly16x4_t r = simde_vrev32_p16(a);
simde_test_arm_neon_write_p16x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_p16x4(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vrev32q_p8 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly8_t a[16];
simde_poly8_t r[16];
} test_vec[] = {
{ { SIMDE_POLY8_C(161), SIMDE_POLY8_C( 83), SIMDE_POLY8_C(223), SIMDE_POLY8_C(188), SIMDE_POLY8_C( 0), SIMDE_POLY8_C( 2), SIMDE_POLY8_C(160), SIMDE_POLY8_C( 92),
SIMDE_POLY8_C(226), SIMDE_POLY8_C(198), SIMDE_POLY8_C( 48), SIMDE_POLY8_C(190), SIMDE_POLY8_C( 11), SIMDE_POLY8_C( 36), SIMDE_POLY8_C(224), SIMDE_POLY8_C(212) },
{ SIMDE_POLY8_C(188), SIMDE_POLY8_C(223), SIMDE_POLY8_C( 83), SIMDE_POLY8_C(161), SIMDE_POLY8_C( 92), SIMDE_POLY8_C(160), SIMDE_POLY8_C( 2), SIMDE_POLY8_C( 0),
SIMDE_POLY8_C(190), SIMDE_POLY8_C( 48), SIMDE_POLY8_C(198), SIMDE_POLY8_C(226), SIMDE_POLY8_C(212), SIMDE_POLY8_C(224), SIMDE_POLY8_C( 36), SIMDE_POLY8_C( 11) } },
{ { SIMDE_POLY8_C(151), SIMDE_POLY8_C(142), SIMDE_POLY8_C(141), SIMDE_POLY8_C(201), SIMDE_POLY8_C(166), SIMDE_POLY8_C(146), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(151),
SIMDE_POLY8_C(121), SIMDE_POLY8_C(173), SIMDE_POLY8_C( 52), SIMDE_POLY8_C(209), SIMDE_POLY8_C(112), SIMDE_POLY8_C( 40), SIMDE_POLY8_C(201), SIMDE_POLY8_C( 17) },
{ SIMDE_POLY8_C(201), SIMDE_POLY8_C(141), SIMDE_POLY8_C(142), SIMDE_POLY8_C(151), SIMDE_POLY8_C(151), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(146), SIMDE_POLY8_C(166),
SIMDE_POLY8_C(209), SIMDE_POLY8_C( 52), SIMDE_POLY8_C(173), SIMDE_POLY8_C(121), SIMDE_POLY8_C( 17), SIMDE_POLY8_C(201), SIMDE_POLY8_C( 40), SIMDE_POLY8_C(112) } },
{ { SIMDE_POLY8_C(123), SIMDE_POLY8_C(169), SIMDE_POLY8_C(205), SIMDE_POLY8_C(124), SIMDE_POLY8_C(171), SIMDE_POLY8_C(109), SIMDE_POLY8_C(216), SIMDE_POLY8_C(141),
SIMDE_POLY8_C( 51), SIMDE_POLY8_C( 9), SIMDE_POLY8_C( 76), SIMDE_POLY8_C( 62), SIMDE_POLY8_C( 45), SIMDE_POLY8_C( 44), SIMDE_POLY8_C( 19), SIMDE_POLY8_C(196) },
{ SIMDE_POLY8_C(124), SIMDE_POLY8_C(205), SIMDE_POLY8_C(169), SIMDE_POLY8_C(123), SIMDE_POLY8_C(141), SIMDE_POLY8_C(216), SIMDE_POLY8_C(109), SIMDE_POLY8_C(171),
SIMDE_POLY8_C( 62), SIMDE_POLY8_C( 76), SIMDE_POLY8_C( 9), SIMDE_POLY8_C( 51), SIMDE_POLY8_C(196), SIMDE_POLY8_C( 19), SIMDE_POLY8_C( 44), SIMDE_POLY8_C( 45) } },
{ { SIMDE_POLY8_C(186), SIMDE_POLY8_C(160), SIMDE_POLY8_C(141), SIMDE_POLY8_C( 97), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(191), SIMDE_POLY8_C(248), SIMDE_POLY8_C(171),
SIMDE_POLY8_C(108), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(124), SIMDE_POLY8_C(220), SIMDE_POLY8_C( 85), SIMDE_POLY8_C( 69), SIMDE_POLY8_C(238), SIMDE_POLY8_C(208) },
{ SIMDE_POLY8_C( 97), SIMDE_POLY8_C(141), SIMDE_POLY8_C(160), SIMDE_POLY8_C(186), SIMDE_POLY8_C(171), SIMDE_POLY8_C(248), SIMDE_POLY8_C(191), SIMDE_POLY8_C( 50),
SIMDE_POLY8_C(220), SIMDE_POLY8_C(124), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(108), SIMDE_POLY8_C(208), SIMDE_POLY8_C(238), SIMDE_POLY8_C( 69), SIMDE_POLY8_C( 85) } },
{ { SIMDE_POLY8_C(238), SIMDE_POLY8_C(187), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(153), SIMDE_POLY8_C( 41), SIMDE_POLY8_C( 37), SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 92),
SIMDE_POLY8_C( 46), SIMDE_POLY8_C(115), SIMDE_POLY8_C(155), SIMDE_POLY8_C( 91), SIMDE_POLY8_C(159), SIMDE_POLY8_C(174), SIMDE_POLY8_C( 31), SIMDE_POLY8_C( 89) },
{ SIMDE_POLY8_C(153), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(187), SIMDE_POLY8_C(238), SIMDE_POLY8_C( 92), SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 37), SIMDE_POLY8_C( 41),
SIMDE_POLY8_C( 91), SIMDE_POLY8_C(155), SIMDE_POLY8_C(115), SIMDE_POLY8_C( 46), SIMDE_POLY8_C( 89), SIMDE_POLY8_C( 31), SIMDE_POLY8_C(174), SIMDE_POLY8_C(159) } },
{ { SIMDE_POLY8_C( 78), SIMDE_POLY8_C(172), SIMDE_POLY8_C(186), SIMDE_POLY8_C(128), SIMDE_POLY8_C(108), SIMDE_POLY8_C(179), SIMDE_POLY8_C( 43), SIMDE_POLY8_C(216),
SIMDE_POLY8_C(223), SIMDE_POLY8_C(167), SIMDE_POLY8_C(181), SIMDE_POLY8_C( 52), SIMDE_POLY8_C(236), SIMDE_POLY8_C(163), SIMDE_POLY8_C( 5), SIMDE_POLY8_C(219) },
{ SIMDE_POLY8_C(128), SIMDE_POLY8_C(186), SIMDE_POLY8_C(172), SIMDE_POLY8_C( 78), SIMDE_POLY8_C(216), SIMDE_POLY8_C( 43), SIMDE_POLY8_C(179), SIMDE_POLY8_C(108),
SIMDE_POLY8_C( 52), SIMDE_POLY8_C(181), SIMDE_POLY8_C(167), SIMDE_POLY8_C(223), SIMDE_POLY8_C(219), SIMDE_POLY8_C( 5), SIMDE_POLY8_C(163), SIMDE_POLY8_C(236) } },
{ { SIMDE_POLY8_C( 94), SIMDE_POLY8_C( 81), SIMDE_POLY8_C(116), SIMDE_POLY8_C(135), SIMDE_POLY8_C(118), SIMDE_POLY8_C(155), SIMDE_POLY8_C(228), SIMDE_POLY8_C(164),
SIMDE_POLY8_C( 14), SIMDE_POLY8_C(127), SIMDE_POLY8_C(UINT8_MAX), SIMDE_POLY8_C(173), SIMDE_POLY8_C( 45), SIMDE_POLY8_C( 30), SIMDE_POLY8_C( 7), SIMDE_POLY8_C(123) },
{ SIMDE_POLY8_C(135), SIMDE_POLY8_C(116), SIMDE_POLY8_C( 81), SIMDE_POLY8_C( 94), SIMDE_POLY8_C(164), SIMDE_POLY8_C(228), SIMDE_POLY8_C(155), SIMDE_POLY8_C(118),
SIMDE_POLY8_C(173), SIMDE_POLY8_C(UINT8_MAX), SIMDE_POLY8_C(127), SIMDE_POLY8_C( 14), SIMDE_POLY8_C(123), SIMDE_POLY8_C( 7), SIMDE_POLY8_C( 30), SIMDE_POLY8_C( 45) } },
{ { SIMDE_POLY8_C(203), SIMDE_POLY8_C(193), SIMDE_POLY8_C(251), SIMDE_POLY8_C( 55), SIMDE_POLY8_C(116), SIMDE_POLY8_C( 38), SIMDE_POLY8_C( 15), SIMDE_POLY8_C( 84),
SIMDE_POLY8_C(205), SIMDE_POLY8_C(196), SIMDE_POLY8_C(136), SIMDE_POLY8_C(185), SIMDE_POLY8_C(103), SIMDE_POLY8_C(141), SIMDE_POLY8_C(148), SIMDE_POLY8_C(198) },
{ SIMDE_POLY8_C( 55), SIMDE_POLY8_C(251), SIMDE_POLY8_C(193), SIMDE_POLY8_C(203), SIMDE_POLY8_C( 84), SIMDE_POLY8_C( 15), SIMDE_POLY8_C( 38), SIMDE_POLY8_C(116),
SIMDE_POLY8_C(185), SIMDE_POLY8_C(136), SIMDE_POLY8_C(196), SIMDE_POLY8_C(205), SIMDE_POLY8_C(198), SIMDE_POLY8_C(148), SIMDE_POLY8_C(141), SIMDE_POLY8_C(103) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_poly8x16_t a = simde_vld1q_p8(test_vec[i].a);
simde_poly8x16_t r = simde_vrev32q_p8(a);
simde_test_arm_neon_assert_equal_p8x16(r, simde_vld1q_p8(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_poly8x16_t a = simde_test_arm_neon_random_p8x16();
simde_poly8x16_t r = simde_vrev32q_p8(a);
simde_test_arm_neon_write_p8x16(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_p8x16(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vrev32q_p16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly16_t a[8];
simde_poly16_t r[8];
} test_vec[] = {
{ { SIMDE_POLY16_C(42975), SIMDE_POLY16_C(62484), SIMDE_POLY16_C(10015), SIMDE_POLY16_C(42627), SIMDE_POLY16_C(64639), SIMDE_POLY16_C(55475), SIMDE_POLY16_C(16695), SIMDE_POLY16_C(29054) },
{ SIMDE_POLY16_C(62484), SIMDE_POLY16_C(42975), SIMDE_POLY16_C(42627), SIMDE_POLY16_C(10015), SIMDE_POLY16_C(55475), SIMDE_POLY16_C(64639), SIMDE_POLY16_C(29054), SIMDE_POLY16_C(16695) } },
{ { SIMDE_POLY16_C(44679), SIMDE_POLY16_C(21448), SIMDE_POLY16_C(49234), SIMDE_POLY16_C(30812), SIMDE_POLY16_C( 245), SIMDE_POLY16_C(47171), SIMDE_POLY16_C(12985), SIMDE_POLY16_C(39011) },
{ SIMDE_POLY16_C(21448), SIMDE_POLY16_C(44679), SIMDE_POLY16_C(30812), SIMDE_POLY16_C(49234), SIMDE_POLY16_C(47171), SIMDE_POLY16_C( 245), SIMDE_POLY16_C(39011), SIMDE_POLY16_C(12985) } },
{ { SIMDE_POLY16_C(30938), SIMDE_POLY16_C(63884), SIMDE_POLY16_C( 4255), SIMDE_POLY16_C( 7839), SIMDE_POLY16_C(21004), SIMDE_POLY16_C(17398), SIMDE_POLY16_C(30099), SIMDE_POLY16_C( 7092) },
{ SIMDE_POLY16_C(63884), SIMDE_POLY16_C(30938), SIMDE_POLY16_C( 7839), SIMDE_POLY16_C( 4255), SIMDE_POLY16_C(17398), SIMDE_POLY16_C(21004), SIMDE_POLY16_C( 7092), SIMDE_POLY16_C(30099) } },
{ { SIMDE_POLY16_C(32035), SIMDE_POLY16_C(30062), SIMDE_POLY16_C(52029), SIMDE_POLY16_C(13293), SIMDE_POLY16_C(12747), SIMDE_POLY16_C(34027), SIMDE_POLY16_C(20067), SIMDE_POLY16_C(15644) },
{ SIMDE_POLY16_C(30062), SIMDE_POLY16_C(32035), SIMDE_POLY16_C(13293), SIMDE_POLY16_C(52029), SIMDE_POLY16_C(34027), SIMDE_POLY16_C(12747), SIMDE_POLY16_C(15644), SIMDE_POLY16_C(20067) } },
{ { SIMDE_POLY16_C(43206), SIMDE_POLY16_C(26166), SIMDE_POLY16_C(54712), SIMDE_POLY16_C(50308), SIMDE_POLY16_C(31527), SIMDE_POLY16_C(47880), SIMDE_POLY16_C(48368), SIMDE_POLY16_C( 5078) },
{ SIMDE_POLY16_C(26166), SIMDE_POLY16_C(43206), SIMDE_POLY16_C(50308), SIMDE_POLY16_C(54712), SIMDE_POLY16_C(47880), SIMDE_POLY16_C(31527), SIMDE_POLY16_C( 5078), SIMDE_POLY16_C(48368) } },
{ { SIMDE_POLY16_C(17465), SIMDE_POLY16_C(30600), SIMDE_POLY16_C(30223), SIMDE_POLY16_C(55978), SIMDE_POLY16_C(38311), SIMDE_POLY16_C( 2654), SIMDE_POLY16_C(31459), SIMDE_POLY16_C(43592) },
{ SIMDE_POLY16_C(30600), SIMDE_POLY16_C(17465), SIMDE_POLY16_C(55978), SIMDE_POLY16_C(30223), SIMDE_POLY16_C( 2654), SIMDE_POLY16_C(38311), SIMDE_POLY16_C(43592), SIMDE_POLY16_C(31459) } },
{ { SIMDE_POLY16_C(32291), SIMDE_POLY16_C(56080), SIMDE_POLY16_C(37972), SIMDE_POLY16_C(31648), SIMDE_POLY16_C(43023), SIMDE_POLY16_C(65334), SIMDE_POLY16_C( 3172), SIMDE_POLY16_C(40466) },
{ SIMDE_POLY16_C(56080), SIMDE_POLY16_C(32291), SIMDE_POLY16_C(31648), SIMDE_POLY16_C(37972), SIMDE_POLY16_C(65334), SIMDE_POLY16_C(43023), SIMDE_POLY16_C(40466), SIMDE_POLY16_C( 3172) } },
{ { SIMDE_POLY16_C(39761), SIMDE_POLY16_C(24597), SIMDE_POLY16_C(48913), SIMDE_POLY16_C(47163), SIMDE_POLY16_C(39252), SIMDE_POLY16_C(14274), SIMDE_POLY16_C( 2580), SIMDE_POLY16_C(14305) },
{ SIMDE_POLY16_C(24597), SIMDE_POLY16_C(39761), SIMDE_POLY16_C(47163), SIMDE_POLY16_C(48913), SIMDE_POLY16_C(14274), SIMDE_POLY16_C(39252), SIMDE_POLY16_C(14305), SIMDE_POLY16_C( 2580) } },
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
simde_poly16x8_t a = simde_vld1q_p16(test_vec[i].a);
simde_poly16x8_t r = simde_vrev32q_p16(a);
simde_test_arm_neon_assert_equal_p16x8(r, simde_vld1q_p16(test_vec[i].r));
}
return 0;
#else
fputc('\n', stdout);
for (int i = 0 ; i < 8 ; i++) {
simde_poly16x8_t a = simde_test_arm_neon_random_p16x8();
simde_poly16x8_t r = simde_vrev32q_p16(a);
simde_test_arm_neon_write_p16x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
simde_test_arm_neon_write_p16x8(2, r, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32_s8)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32_s16)
@ -417,6 +619,11 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vrev32q_s8)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32q_s16)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32q_u8)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32q_u16)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32_p8)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32_p16)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32q_p8)
SIMDE_TEST_FUNC_LIST_ENTRY(vrev32q_p16)
SIMDE_TEST_FUNC_LIST_END
#include "test-neon-footer.h"