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

@ -6,6 +6,87 @@
#if !defined(SIMDE_BUG_INTEL_857088)
static int
test_simde_vld1q_f16_x3 (SIMDE_MUNIT_TEST_ARGS) {
struct {
simde_float16_t buf[24];
simde_float16_t expected[3][8];
} test_vec[] = {
{ { SIMDE_FLOAT16_VALUE(5.77), SIMDE_FLOAT16_VALUE(3.40), SIMDE_FLOAT16_VALUE(8.52), SIMDE_FLOAT16_VALUE(-8.12),
SIMDE_FLOAT16_VALUE(9.75), SIMDE_FLOAT16_VALUE(4.58), SIMDE_FLOAT16_VALUE(-8.12), SIMDE_FLOAT16_VALUE(-0.21),
SIMDE_FLOAT16_VALUE(-8.19), SIMDE_FLOAT16_VALUE(9.31), SIMDE_FLOAT16_VALUE(-3.36), SIMDE_FLOAT16_VALUE(6.68),
SIMDE_FLOAT16_VALUE(-4.82), SIMDE_FLOAT16_VALUE(-7.99), SIMDE_FLOAT16_VALUE(7.60), SIMDE_FLOAT16_VALUE(-5.32),
SIMDE_FLOAT16_VALUE(8.17), SIMDE_FLOAT16_VALUE(-2.82), SIMDE_FLOAT16_VALUE(-0.51), SIMDE_FLOAT16_VALUE(-8.15),
SIMDE_FLOAT16_VALUE(-5.44), SIMDE_FLOAT16_VALUE(8.44), SIMDE_FLOAT16_VALUE(-6.93), SIMDE_FLOAT16_VALUE(2.81) },
{ { SIMDE_FLOAT16_VALUE(5.77), SIMDE_FLOAT16_VALUE(3.40), SIMDE_FLOAT16_VALUE(8.52), SIMDE_FLOAT16_VALUE(-8.12),
SIMDE_FLOAT16_VALUE(9.75), SIMDE_FLOAT16_VALUE(4.58), SIMDE_FLOAT16_VALUE(-8.12), SIMDE_FLOAT16_VALUE(-0.21) },
{ SIMDE_FLOAT16_VALUE(-8.19), SIMDE_FLOAT16_VALUE(9.31), SIMDE_FLOAT16_VALUE(-3.36), SIMDE_FLOAT16_VALUE(6.68),
SIMDE_FLOAT16_VALUE(-4.82), SIMDE_FLOAT16_VALUE(-7.99), SIMDE_FLOAT16_VALUE(7.60), SIMDE_FLOAT16_VALUE(-5.32) },
{ SIMDE_FLOAT16_VALUE(8.17), SIMDE_FLOAT16_VALUE(-2.82), SIMDE_FLOAT16_VALUE(-0.51), SIMDE_FLOAT16_VALUE(-8.15),
SIMDE_FLOAT16_VALUE(-5.44), SIMDE_FLOAT16_VALUE(8.44), SIMDE_FLOAT16_VALUE(-6.93), SIMDE_FLOAT16_VALUE(2.81) } } },
{ { SIMDE_FLOAT16_VALUE(1.57), SIMDE_FLOAT16_VALUE(-2.73), SIMDE_FLOAT16_VALUE(-0.07), SIMDE_FLOAT16_VALUE(9.59),
SIMDE_FLOAT16_VALUE(5.25), SIMDE_FLOAT16_VALUE(-4.36), SIMDE_FLOAT16_VALUE(0.01), SIMDE_FLOAT16_VALUE(-7.95),
SIMDE_FLOAT16_VALUE(-7.48), SIMDE_FLOAT16_VALUE(5.11), SIMDE_FLOAT16_VALUE(2.89), SIMDE_FLOAT16_VALUE(4.88),
SIMDE_FLOAT16_VALUE(0.38), SIMDE_FLOAT16_VALUE(5.53), SIMDE_FLOAT16_VALUE(-1.66), SIMDE_FLOAT16_VALUE(4.24),
SIMDE_FLOAT16_VALUE(5.92), SIMDE_FLOAT16_VALUE(0.65), SIMDE_FLOAT16_VALUE(-9.00), SIMDE_FLOAT16_VALUE(9.26),
SIMDE_FLOAT16_VALUE(-0.65), SIMDE_FLOAT16_VALUE(3.52), SIMDE_FLOAT16_VALUE(8.37), SIMDE_FLOAT16_VALUE(-6.65) },
{ { SIMDE_FLOAT16_VALUE(1.57), SIMDE_FLOAT16_VALUE(-2.73), SIMDE_FLOAT16_VALUE(-0.07), SIMDE_FLOAT16_VALUE(9.59),
SIMDE_FLOAT16_VALUE(5.25), SIMDE_FLOAT16_VALUE(-4.36), SIMDE_FLOAT16_VALUE(0.01), SIMDE_FLOAT16_VALUE(-7.95) },
{ SIMDE_FLOAT16_VALUE(-7.48), SIMDE_FLOAT16_VALUE(5.11), SIMDE_FLOAT16_VALUE(2.89), SIMDE_FLOAT16_VALUE(4.88),
SIMDE_FLOAT16_VALUE(0.38), SIMDE_FLOAT16_VALUE(5.53), SIMDE_FLOAT16_VALUE(-1.66), SIMDE_FLOAT16_VALUE(4.24) },
{ SIMDE_FLOAT16_VALUE(5.92), SIMDE_FLOAT16_VALUE(0.65), SIMDE_FLOAT16_VALUE(-9.00), SIMDE_FLOAT16_VALUE(9.26),
SIMDE_FLOAT16_VALUE(-0.65), SIMDE_FLOAT16_VALUE(3.52), SIMDE_FLOAT16_VALUE(8.37), SIMDE_FLOAT16_VALUE(-6.65) } } },
{ { SIMDE_FLOAT16_VALUE(-1.37), SIMDE_FLOAT16_VALUE(-2.25), SIMDE_FLOAT16_VALUE(1.38), SIMDE_FLOAT16_VALUE(-0.69),
SIMDE_FLOAT16_VALUE(-0.74), SIMDE_FLOAT16_VALUE(-5.25), SIMDE_FLOAT16_VALUE(6.54), SIMDE_FLOAT16_VALUE(-9.57),
SIMDE_FLOAT16_VALUE(8.41), SIMDE_FLOAT16_VALUE(0.56), SIMDE_FLOAT16_VALUE(-3.33), SIMDE_FLOAT16_VALUE(0.61),
SIMDE_FLOAT16_VALUE(2.97), SIMDE_FLOAT16_VALUE(9.80), SIMDE_FLOAT16_VALUE(7.20), SIMDE_FLOAT16_VALUE(-1.70),
SIMDE_FLOAT16_VALUE(6.31), SIMDE_FLOAT16_VALUE(-7.33), SIMDE_FLOAT16_VALUE(8.80), SIMDE_FLOAT16_VALUE(5.75),
SIMDE_FLOAT16_VALUE(4.89), SIMDE_FLOAT16_VALUE(-5.85), SIMDE_FLOAT16_VALUE(-5.80), SIMDE_FLOAT16_VALUE(1.30) },
{ { SIMDE_FLOAT16_VALUE(-1.37), SIMDE_FLOAT16_VALUE(-2.25), SIMDE_FLOAT16_VALUE(1.38), SIMDE_FLOAT16_VALUE(-0.69),
SIMDE_FLOAT16_VALUE(-0.74), SIMDE_FLOAT16_VALUE(-5.25), SIMDE_FLOAT16_VALUE(6.54), SIMDE_FLOAT16_VALUE(-9.57) },
{ SIMDE_FLOAT16_VALUE(8.41), SIMDE_FLOAT16_VALUE(0.56), SIMDE_FLOAT16_VALUE(-3.33), SIMDE_FLOAT16_VALUE(0.61),
SIMDE_FLOAT16_VALUE(2.97), SIMDE_FLOAT16_VALUE(9.80), SIMDE_FLOAT16_VALUE(7.20), SIMDE_FLOAT16_VALUE(-1.70) },
{ SIMDE_FLOAT16_VALUE(6.31), SIMDE_FLOAT16_VALUE(-7.33), SIMDE_FLOAT16_VALUE(8.80), SIMDE_FLOAT16_VALUE(5.75),
SIMDE_FLOAT16_VALUE(4.89), SIMDE_FLOAT16_VALUE(-5.85), SIMDE_FLOAT16_VALUE(-5.80), SIMDE_FLOAT16_VALUE(1.30) } } },
{ { SIMDE_FLOAT16_VALUE(-1.53), SIMDE_FLOAT16_VALUE(1.62), SIMDE_FLOAT16_VALUE(-5.29), SIMDE_FLOAT16_VALUE(-4.50),
SIMDE_FLOAT16_VALUE(-9.77), SIMDE_FLOAT16_VALUE(1.79), SIMDE_FLOAT16_VALUE(4.79), SIMDE_FLOAT16_VALUE(6.77),
SIMDE_FLOAT16_VALUE(2.13), SIMDE_FLOAT16_VALUE(-4.49), SIMDE_FLOAT16_VALUE(-8.50), SIMDE_FLOAT16_VALUE(-4.17),
SIMDE_FLOAT16_VALUE(-7.82), SIMDE_FLOAT16_VALUE(8.62), SIMDE_FLOAT16_VALUE(-9.23), SIMDE_FLOAT16_VALUE(-8.30),
SIMDE_FLOAT16_VALUE(6.89), SIMDE_FLOAT16_VALUE(8.83), SIMDE_FLOAT16_VALUE(-8.78), SIMDE_FLOAT16_VALUE(-2.63),
SIMDE_FLOAT16_VALUE(-4.15), SIMDE_FLOAT16_VALUE(4.43), SIMDE_FLOAT16_VALUE(-1.23), SIMDE_FLOAT16_VALUE(-7.80) },
{ { SIMDE_FLOAT16_VALUE(-1.53), SIMDE_FLOAT16_VALUE(1.62), SIMDE_FLOAT16_VALUE(-5.29), SIMDE_FLOAT16_VALUE(-4.50),
SIMDE_FLOAT16_VALUE(-9.77), SIMDE_FLOAT16_VALUE(1.79), SIMDE_FLOAT16_VALUE(4.79), SIMDE_FLOAT16_VALUE(6.77) },
{ SIMDE_FLOAT16_VALUE(2.13), SIMDE_FLOAT16_VALUE(-4.49), SIMDE_FLOAT16_VALUE(-8.50), SIMDE_FLOAT16_VALUE(-4.17),
SIMDE_FLOAT16_VALUE(-7.82), SIMDE_FLOAT16_VALUE(8.62), SIMDE_FLOAT16_VALUE(-9.23), SIMDE_FLOAT16_VALUE(-8.30) },
{ SIMDE_FLOAT16_VALUE(6.89), SIMDE_FLOAT16_VALUE(8.83), SIMDE_FLOAT16_VALUE(-8.78), SIMDE_FLOAT16_VALUE(-2.63),
SIMDE_FLOAT16_VALUE(-4.15), SIMDE_FLOAT16_VALUE(4.43), SIMDE_FLOAT16_VALUE(-1.23), SIMDE_FLOAT16_VALUE(-7.80) } } },
{ { SIMDE_FLOAT16_VALUE(7.81), SIMDE_FLOAT16_VALUE(-8.12), SIMDE_FLOAT16_VALUE(-5.24), SIMDE_FLOAT16_VALUE(-7.34),
SIMDE_FLOAT16_VALUE(-5.07), SIMDE_FLOAT16_VALUE(8.42), SIMDE_FLOAT16_VALUE(-1.56), SIMDE_FLOAT16_VALUE(3.85),
SIMDE_FLOAT16_VALUE(1.08), SIMDE_FLOAT16_VALUE(-3.58), SIMDE_FLOAT16_VALUE(-1.71), SIMDE_FLOAT16_VALUE(-6.62),
SIMDE_FLOAT16_VALUE(3.82), SIMDE_FLOAT16_VALUE(-0.05), SIMDE_FLOAT16_VALUE(5.35), SIMDE_FLOAT16_VALUE(-4.41),
SIMDE_FLOAT16_VALUE(7.30), SIMDE_FLOAT16_VALUE(-7.74), SIMDE_FLOAT16_VALUE(-9.77), SIMDE_FLOAT16_VALUE(-9.07),
SIMDE_FLOAT16_VALUE(9.48), SIMDE_FLOAT16_VALUE(-2.73), SIMDE_FLOAT16_VALUE(-7.56), SIMDE_FLOAT16_VALUE(3.51) },
{ { SIMDE_FLOAT16_VALUE(7.81), SIMDE_FLOAT16_VALUE(-8.12), SIMDE_FLOAT16_VALUE(-5.24), SIMDE_FLOAT16_VALUE(-7.34),
SIMDE_FLOAT16_VALUE(-5.07), SIMDE_FLOAT16_VALUE(8.42), SIMDE_FLOAT16_VALUE(-1.56), SIMDE_FLOAT16_VALUE(3.85) },
{ SIMDE_FLOAT16_VALUE(1.08), SIMDE_FLOAT16_VALUE(-3.58), SIMDE_FLOAT16_VALUE(-1.71), SIMDE_FLOAT16_VALUE(-6.62),
SIMDE_FLOAT16_VALUE(3.82), SIMDE_FLOAT16_VALUE(-0.05), SIMDE_FLOAT16_VALUE(5.35), SIMDE_FLOAT16_VALUE(-4.41) },
{ SIMDE_FLOAT16_VALUE(7.30), SIMDE_FLOAT16_VALUE(-7.74), SIMDE_FLOAT16_VALUE(-9.77), SIMDE_FLOAT16_VALUE(-9.07),
SIMDE_FLOAT16_VALUE(9.48), SIMDE_FLOAT16_VALUE(-2.73), SIMDE_FLOAT16_VALUE(-7.56), SIMDE_FLOAT16_VALUE(3.51) } } },
};
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde_float16x8x3_t r = simde_vld1q_f16_x3(test_vec[i].buf);
simde_float16x8x3_t expected = {{
simde_vld1q_f16(test_vec[i].expected[0]),
simde_vld1q_f16(test_vec[i].expected[1]),
simde_vld1q_f16(test_vec[i].expected[2]),
}};
simde_test_arm_neon_assert_equal_f16x8x3(r, expected, 1);
}
return 0;
}
static int
test_simde_vld1q_f32_x3 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
@ -956,10 +1037,399 @@ test_simde_vld1q_u64_x3 (SIMDE_MUNIT_TEST_ARGS) {
#endif
}
static int
test_simde_vld1q_p8_x3 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly8_t buf[48];
simde_poly8_t expected[3][16];
} test_vec[] = {
{ { SIMDE_POLY8_C( 79), SIMDE_POLY8_C(180), SIMDE_POLY8_C(175), SIMDE_POLY8_C(252), SIMDE_POLY8_C(223), SIMDE_POLY8_C(175), SIMDE_POLY8_C(182), SIMDE_POLY8_C(217),
SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 94), SIMDE_POLY8_C(109), SIMDE_POLY8_C( 25), SIMDE_POLY8_C(252), SIMDE_POLY8_C( 59), SIMDE_POLY8_C(174), SIMDE_POLY8_C( 34),
SIMDE_POLY8_C(250), SIMDE_POLY8_C(199), SIMDE_POLY8_C( 7), SIMDE_POLY8_C( 31), SIMDE_POLY8_C( 36), SIMDE_POLY8_C(124), SIMDE_POLY8_C(166), SIMDE_POLY8_C( 79),
SIMDE_POLY8_C(247), SIMDE_POLY8_C( 57), SIMDE_POLY8_C(140), SIMDE_POLY8_C(237), SIMDE_POLY8_C(181), SIMDE_POLY8_C( 36), SIMDE_POLY8_C(243), SIMDE_POLY8_C( 4),
SIMDE_POLY8_C(216), SIMDE_POLY8_C(163), SIMDE_POLY8_C( 1), SIMDE_POLY8_C(183), SIMDE_POLY8_C( 82), SIMDE_POLY8_C(183), SIMDE_POLY8_C(144), SIMDE_POLY8_C(121),
SIMDE_POLY8_C( 22), SIMDE_POLY8_C(253), SIMDE_POLY8_C(146), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 57), SIMDE_POLY8_C( 64), SIMDE_POLY8_C( 53), SIMDE_POLY8_C( 51) },
{ { SIMDE_POLY8_C( 79), SIMDE_POLY8_C(180), SIMDE_POLY8_C(175), SIMDE_POLY8_C(252), SIMDE_POLY8_C(223), SIMDE_POLY8_C(175), SIMDE_POLY8_C(182), SIMDE_POLY8_C(217),
SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 94), SIMDE_POLY8_C(109), SIMDE_POLY8_C( 25), SIMDE_POLY8_C(252), SIMDE_POLY8_C( 59), SIMDE_POLY8_C(174), SIMDE_POLY8_C( 34) },
{ SIMDE_POLY8_C(250), SIMDE_POLY8_C(199), SIMDE_POLY8_C( 7), SIMDE_POLY8_C( 31), SIMDE_POLY8_C( 36), SIMDE_POLY8_C(124), SIMDE_POLY8_C(166), SIMDE_POLY8_C( 79),
SIMDE_POLY8_C(247), SIMDE_POLY8_C( 57), SIMDE_POLY8_C(140), SIMDE_POLY8_C(237), SIMDE_POLY8_C(181), SIMDE_POLY8_C( 36), SIMDE_POLY8_C(243), SIMDE_POLY8_C( 4) },
{ SIMDE_POLY8_C(216), SIMDE_POLY8_C(163), SIMDE_POLY8_C( 1), SIMDE_POLY8_C(183), SIMDE_POLY8_C( 82), SIMDE_POLY8_C(183), SIMDE_POLY8_C(144), SIMDE_POLY8_C(121),
SIMDE_POLY8_C( 22), SIMDE_POLY8_C(253), SIMDE_POLY8_C(146), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 57), SIMDE_POLY8_C( 64), SIMDE_POLY8_C( 53), SIMDE_POLY8_C( 51) } },
},
{ { SIMDE_POLY8_C( 8), SIMDE_POLY8_C( 60), SIMDE_POLY8_C( 82), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(184), SIMDE_POLY8_C(248), SIMDE_POLY8_C(123), SIMDE_POLY8_C(175),
SIMDE_POLY8_C( 49), SIMDE_POLY8_C( 7), SIMDE_POLY8_C(156), SIMDE_POLY8_C(231), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(144), SIMDE_POLY8_C(235), SIMDE_POLY8_C( 4),
SIMDE_POLY8_C( 51), SIMDE_POLY8_C(236), SIMDE_POLY8_C(188), SIMDE_POLY8_C(133), SIMDE_POLY8_C(164), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(254), SIMDE_POLY8_C(186),
SIMDE_POLY8_C( 74), SIMDE_POLY8_C(145), SIMDE_POLY8_C(204), SIMDE_POLY8_C(131), SIMDE_POLY8_C(209), SIMDE_POLY8_C( 1), SIMDE_POLY8_C(182), SIMDE_POLY8_C(217),
SIMDE_POLY8_C( 61), SIMDE_POLY8_C( 8), SIMDE_POLY8_C( 5), SIMDE_POLY8_C(246), SIMDE_POLY8_C( 0), SIMDE_POLY8_C(129), SIMDE_POLY8_C(165), SIMDE_POLY8_C( 50),
SIMDE_POLY8_C(136), SIMDE_POLY8_C( 66), SIMDE_POLY8_C( 25), SIMDE_POLY8_C(180), SIMDE_POLY8_C(210), SIMDE_POLY8_C( 4), SIMDE_POLY8_C(185), SIMDE_POLY8_C( 5) },
{ { SIMDE_POLY8_C( 8), SIMDE_POLY8_C( 60), SIMDE_POLY8_C( 82), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(184), SIMDE_POLY8_C(248), SIMDE_POLY8_C(123), SIMDE_POLY8_C(175),
SIMDE_POLY8_C( 49), SIMDE_POLY8_C( 7), SIMDE_POLY8_C(156), SIMDE_POLY8_C(231), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(144), SIMDE_POLY8_C(235), SIMDE_POLY8_C( 4) },
{ SIMDE_POLY8_C( 51), SIMDE_POLY8_C(236), SIMDE_POLY8_C(188), SIMDE_POLY8_C(133), SIMDE_POLY8_C(164), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(254), SIMDE_POLY8_C(186),
SIMDE_POLY8_C( 74), SIMDE_POLY8_C(145), SIMDE_POLY8_C(204), SIMDE_POLY8_C(131), SIMDE_POLY8_C(209), SIMDE_POLY8_C( 1), SIMDE_POLY8_C(182), SIMDE_POLY8_C(217) },
{ SIMDE_POLY8_C( 61), SIMDE_POLY8_C( 8), SIMDE_POLY8_C( 5), SIMDE_POLY8_C(246), SIMDE_POLY8_C( 0), SIMDE_POLY8_C(129), SIMDE_POLY8_C(165), SIMDE_POLY8_C( 50),
SIMDE_POLY8_C(136), SIMDE_POLY8_C( 66), SIMDE_POLY8_C( 25), SIMDE_POLY8_C(180), SIMDE_POLY8_C(210), SIMDE_POLY8_C( 4), SIMDE_POLY8_C(185), SIMDE_POLY8_C( 5) } },
},
{ { SIMDE_POLY8_C(241), SIMDE_POLY8_C(117), SIMDE_POLY8_C(138), SIMDE_POLY8_C(149), SIMDE_POLY8_C(193), SIMDE_POLY8_C(136), SIMDE_POLY8_C( 79), SIMDE_POLY8_C( 11),
SIMDE_POLY8_C( 25), SIMDE_POLY8_C( 27), SIMDE_POLY8_C(142), SIMDE_POLY8_C(235), SIMDE_POLY8_C( 29), SIMDE_POLY8_C( 68), SIMDE_POLY8_C(196), SIMDE_POLY8_C( 90),
SIMDE_POLY8_C( 76), SIMDE_POLY8_C(202), SIMDE_POLY8_C( 80), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(246), SIMDE_POLY8_C(127), SIMDE_POLY8_C(211),
SIMDE_POLY8_C( 56), SIMDE_POLY8_C(152), SIMDE_POLY8_C(136), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(156), SIMDE_POLY8_C( 65), SIMDE_POLY8_C( 15), SIMDE_POLY8_C(141),
SIMDE_POLY8_C(182), SIMDE_POLY8_C(153), SIMDE_POLY8_C( 34), SIMDE_POLY8_C(119), SIMDE_POLY8_C( 33), SIMDE_POLY8_C(113), SIMDE_POLY8_C(131), SIMDE_POLY8_C( 59),
SIMDE_POLY8_C(141), SIMDE_POLY8_C( 17), SIMDE_POLY8_C( 38), SIMDE_POLY8_C(170), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(234), SIMDE_POLY8_C( 4), SIMDE_POLY8_C(162) },
{ { SIMDE_POLY8_C(241), SIMDE_POLY8_C(117), SIMDE_POLY8_C(138), SIMDE_POLY8_C(149), SIMDE_POLY8_C(193), SIMDE_POLY8_C(136), SIMDE_POLY8_C( 79), SIMDE_POLY8_C( 11),
SIMDE_POLY8_C( 25), SIMDE_POLY8_C( 27), SIMDE_POLY8_C(142), SIMDE_POLY8_C(235), SIMDE_POLY8_C( 29), SIMDE_POLY8_C( 68), SIMDE_POLY8_C(196), SIMDE_POLY8_C( 90) },
{ SIMDE_POLY8_C( 76), SIMDE_POLY8_C(202), SIMDE_POLY8_C( 80), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(246), SIMDE_POLY8_C(127), SIMDE_POLY8_C(211),
SIMDE_POLY8_C( 56), SIMDE_POLY8_C(152), SIMDE_POLY8_C(136), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(156), SIMDE_POLY8_C( 65), SIMDE_POLY8_C( 15), SIMDE_POLY8_C(141) },
{ SIMDE_POLY8_C(182), SIMDE_POLY8_C(153), SIMDE_POLY8_C( 34), SIMDE_POLY8_C(119), SIMDE_POLY8_C( 33), SIMDE_POLY8_C(113), SIMDE_POLY8_C(131), SIMDE_POLY8_C( 59),
SIMDE_POLY8_C(141), SIMDE_POLY8_C( 17), SIMDE_POLY8_C( 38), SIMDE_POLY8_C(170), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(234), SIMDE_POLY8_C( 4), SIMDE_POLY8_C(162) } },
},
{ { SIMDE_POLY8_C(180), SIMDE_POLY8_C( 85), SIMDE_POLY8_C(239), SIMDE_POLY8_C(UINT8_MAX), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(110), SIMDE_POLY8_C(211), SIMDE_POLY8_C(131),
SIMDE_POLY8_C( 6), SIMDE_POLY8_C( 91), SIMDE_POLY8_C(141), SIMDE_POLY8_C(163), SIMDE_POLY8_C(156), SIMDE_POLY8_C(156), SIMDE_POLY8_C( 48), SIMDE_POLY8_C( 82),
SIMDE_POLY8_C( 53), SIMDE_POLY8_C( 83), SIMDE_POLY8_C(201), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(196), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(145), SIMDE_POLY8_C( 81),
SIMDE_POLY8_C( 94), SIMDE_POLY8_C(183), SIMDE_POLY8_C(251), SIMDE_POLY8_C(180), SIMDE_POLY8_C(162), SIMDE_POLY8_C( 0), SIMDE_POLY8_C( 86), SIMDE_POLY8_C( 86),
SIMDE_POLY8_C( 85), SIMDE_POLY8_C( 70), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(160), SIMDE_POLY8_C(180), SIMDE_POLY8_C( 41), SIMDE_POLY8_C( 35), SIMDE_POLY8_C(187),
SIMDE_POLY8_C(132), SIMDE_POLY8_C(176), SIMDE_POLY8_C( 94), SIMDE_POLY8_C( 32), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(142), SIMDE_POLY8_C(114), SIMDE_POLY8_C(129) },
{ { SIMDE_POLY8_C(180), SIMDE_POLY8_C( 85), SIMDE_POLY8_C(239), SIMDE_POLY8_C(UINT8_MAX), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(110), SIMDE_POLY8_C(211), SIMDE_POLY8_C(131),
SIMDE_POLY8_C( 6), SIMDE_POLY8_C( 91), SIMDE_POLY8_C(141), SIMDE_POLY8_C(163), SIMDE_POLY8_C(156), SIMDE_POLY8_C(156), SIMDE_POLY8_C( 48), SIMDE_POLY8_C( 82) },
{ SIMDE_POLY8_C( 53), SIMDE_POLY8_C( 83), SIMDE_POLY8_C(201), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(196), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(145), SIMDE_POLY8_C( 81),
SIMDE_POLY8_C( 94), SIMDE_POLY8_C(183), SIMDE_POLY8_C(251), SIMDE_POLY8_C(180), SIMDE_POLY8_C(162), SIMDE_POLY8_C( 0), SIMDE_POLY8_C( 86), SIMDE_POLY8_C( 86) },
{ SIMDE_POLY8_C( 85), SIMDE_POLY8_C( 70), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(160), SIMDE_POLY8_C(180), SIMDE_POLY8_C( 41), SIMDE_POLY8_C( 35), SIMDE_POLY8_C(187),
SIMDE_POLY8_C(132), SIMDE_POLY8_C(176), SIMDE_POLY8_C( 94), SIMDE_POLY8_C( 32), SIMDE_POLY8_C( 76), SIMDE_POLY8_C(142), SIMDE_POLY8_C(114), SIMDE_POLY8_C(129) } },
},
{ { SIMDE_POLY8_C(225), SIMDE_POLY8_C( 59), SIMDE_POLY8_C(215), SIMDE_POLY8_C(166), SIMDE_POLY8_C(136), SIMDE_POLY8_C(105), SIMDE_POLY8_C(247), SIMDE_POLY8_C(230),
SIMDE_POLY8_C( 32), SIMDE_POLY8_C(243), SIMDE_POLY8_C(154), SIMDE_POLY8_C(194), SIMDE_POLY8_C(243), SIMDE_POLY8_C(240), SIMDE_POLY8_C( 25), SIMDE_POLY8_C( 72),
SIMDE_POLY8_C( 54), SIMDE_POLY8_C(111), SIMDE_POLY8_C(232), SIMDE_POLY8_C(235), SIMDE_POLY8_C(152), SIMDE_POLY8_C( 11), SIMDE_POLY8_C(166), SIMDE_POLY8_C( 28),
SIMDE_POLY8_C(187), SIMDE_POLY8_C( 4), SIMDE_POLY8_C( 60), SIMDE_POLY8_C( 7), SIMDE_POLY8_C(146), SIMDE_POLY8_C(174), SIMDE_POLY8_C(136), SIMDE_POLY8_C(116),
SIMDE_POLY8_C(233), SIMDE_POLY8_C( 95), SIMDE_POLY8_C( 26), SIMDE_POLY8_C(113), SIMDE_POLY8_C(200), SIMDE_POLY8_C( 17), SIMDE_POLY8_C( 87), SIMDE_POLY8_C(233),
SIMDE_POLY8_C( 4), SIMDE_POLY8_C(241), SIMDE_POLY8_C(171), SIMDE_POLY8_C(247), SIMDE_POLY8_C(226), SIMDE_POLY8_C(196), SIMDE_POLY8_C( 63), SIMDE_POLY8_C( 24) },
{ { SIMDE_POLY8_C(225), SIMDE_POLY8_C( 59), SIMDE_POLY8_C(215), SIMDE_POLY8_C(166), SIMDE_POLY8_C(136), SIMDE_POLY8_C(105), SIMDE_POLY8_C(247), SIMDE_POLY8_C(230),
SIMDE_POLY8_C( 32), SIMDE_POLY8_C(243), SIMDE_POLY8_C(154), SIMDE_POLY8_C(194), SIMDE_POLY8_C(243), SIMDE_POLY8_C(240), SIMDE_POLY8_C( 25), SIMDE_POLY8_C( 72) },
{ SIMDE_POLY8_C( 54), SIMDE_POLY8_C(111), SIMDE_POLY8_C(232), SIMDE_POLY8_C(235), SIMDE_POLY8_C(152), SIMDE_POLY8_C( 11), SIMDE_POLY8_C(166), SIMDE_POLY8_C( 28),
SIMDE_POLY8_C(187), SIMDE_POLY8_C( 4), SIMDE_POLY8_C( 60), SIMDE_POLY8_C( 7), SIMDE_POLY8_C(146), SIMDE_POLY8_C(174), SIMDE_POLY8_C(136), SIMDE_POLY8_C(116) },
{ SIMDE_POLY8_C(233), SIMDE_POLY8_C( 95), SIMDE_POLY8_C( 26), SIMDE_POLY8_C(113), SIMDE_POLY8_C(200), SIMDE_POLY8_C( 17), SIMDE_POLY8_C( 87), SIMDE_POLY8_C(233),
SIMDE_POLY8_C( 4), SIMDE_POLY8_C(241), SIMDE_POLY8_C(171), SIMDE_POLY8_C(247), SIMDE_POLY8_C(226), SIMDE_POLY8_C(196), SIMDE_POLY8_C( 63), SIMDE_POLY8_C( 24) } },
},
{ { SIMDE_POLY8_C( 51), SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 3), SIMDE_POLY8_C(203), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(169), SIMDE_POLY8_C(231), SIMDE_POLY8_C(237),
SIMDE_POLY8_C(173), SIMDE_POLY8_C( 35), SIMDE_POLY8_C(244), SIMDE_POLY8_C( 64), SIMDE_POLY8_C(209), SIMDE_POLY8_C(124), SIMDE_POLY8_C(180), SIMDE_POLY8_C(187),
SIMDE_POLY8_C(220), SIMDE_POLY8_C(206), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(164), SIMDE_POLY8_C(223), SIMDE_POLY8_C(132), SIMDE_POLY8_C(141), SIMDE_POLY8_C(228),
SIMDE_POLY8_C(117), SIMDE_POLY8_C( 57), SIMDE_POLY8_C(219), SIMDE_POLY8_C( 87), SIMDE_POLY8_C(253), SIMDE_POLY8_C( 27), SIMDE_POLY8_C(112), SIMDE_POLY8_C( 49),
SIMDE_POLY8_C( 66), SIMDE_POLY8_C(115), SIMDE_POLY8_C(252), SIMDE_POLY8_C(117), SIMDE_POLY8_C( 29), SIMDE_POLY8_C(228), SIMDE_POLY8_C( 98), SIMDE_POLY8_C(202),
SIMDE_POLY8_C( 7), SIMDE_POLY8_C( 87), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(217), SIMDE_POLY8_C(211), SIMDE_POLY8_C(190), SIMDE_POLY8_C(148), SIMDE_POLY8_C(175) },
{ { SIMDE_POLY8_C( 51), SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 3), SIMDE_POLY8_C(203), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(169), SIMDE_POLY8_C(231), SIMDE_POLY8_C(237),
SIMDE_POLY8_C(173), SIMDE_POLY8_C( 35), SIMDE_POLY8_C(244), SIMDE_POLY8_C( 64), SIMDE_POLY8_C(209), SIMDE_POLY8_C(124), SIMDE_POLY8_C(180), SIMDE_POLY8_C(187) },
{ SIMDE_POLY8_C(220), SIMDE_POLY8_C(206), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(164), SIMDE_POLY8_C(223), SIMDE_POLY8_C(132), SIMDE_POLY8_C(141), SIMDE_POLY8_C(228),
SIMDE_POLY8_C(117), SIMDE_POLY8_C( 57), SIMDE_POLY8_C(219), SIMDE_POLY8_C( 87), SIMDE_POLY8_C(253), SIMDE_POLY8_C( 27), SIMDE_POLY8_C(112), SIMDE_POLY8_C( 49) },
{ SIMDE_POLY8_C( 66), SIMDE_POLY8_C(115), SIMDE_POLY8_C(252), SIMDE_POLY8_C(117), SIMDE_POLY8_C( 29), SIMDE_POLY8_C(228), SIMDE_POLY8_C( 98), SIMDE_POLY8_C(202),
SIMDE_POLY8_C( 7), SIMDE_POLY8_C( 87), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(217), SIMDE_POLY8_C(211), SIMDE_POLY8_C(190), SIMDE_POLY8_C(148), SIMDE_POLY8_C(175) } },
},
{ { SIMDE_POLY8_C(140), SIMDE_POLY8_C(192), SIMDE_POLY8_C( 84), SIMDE_POLY8_C(108), SIMDE_POLY8_C( 68), SIMDE_POLY8_C(225), SIMDE_POLY8_C( 80), SIMDE_POLY8_C(186),
SIMDE_POLY8_C( 26), SIMDE_POLY8_C( 43), SIMDE_POLY8_C( 17), SIMDE_POLY8_C( 24), SIMDE_POLY8_C( 70), SIMDE_POLY8_C(129), SIMDE_POLY8_C( 73), SIMDE_POLY8_C(137),
SIMDE_POLY8_C(245), SIMDE_POLY8_C( 69), SIMDE_POLY8_C(254), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 41), SIMDE_POLY8_C( 96), SIMDE_POLY8_C(220), SIMDE_POLY8_C( 49),
SIMDE_POLY8_C(183), SIMDE_POLY8_C(231), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(139), SIMDE_POLY8_C(165), SIMDE_POLY8_C(158), SIMDE_POLY8_C( 58), SIMDE_POLY8_C( 50),
SIMDE_POLY8_C( 94), SIMDE_POLY8_C(142), SIMDE_POLY8_C(158), SIMDE_POLY8_C(163), SIMDE_POLY8_C(112), SIMDE_POLY8_C(238), SIMDE_POLY8_C( 93), SIMDE_POLY8_C(138),
SIMDE_POLY8_C( 25), SIMDE_POLY8_C(110), SIMDE_POLY8_C(162), SIMDE_POLY8_C( 96), SIMDE_POLY8_C(240), SIMDE_POLY8_C(235), SIMDE_POLY8_C(233), SIMDE_POLY8_C(229) },
{ { SIMDE_POLY8_C(140), SIMDE_POLY8_C(192), SIMDE_POLY8_C( 84), SIMDE_POLY8_C(108), SIMDE_POLY8_C( 68), SIMDE_POLY8_C(225), SIMDE_POLY8_C( 80), SIMDE_POLY8_C(186),
SIMDE_POLY8_C( 26), SIMDE_POLY8_C( 43), SIMDE_POLY8_C( 17), SIMDE_POLY8_C( 24), SIMDE_POLY8_C( 70), SIMDE_POLY8_C(129), SIMDE_POLY8_C( 73), SIMDE_POLY8_C(137) },
{ SIMDE_POLY8_C(245), SIMDE_POLY8_C( 69), SIMDE_POLY8_C(254), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 41), SIMDE_POLY8_C( 96), SIMDE_POLY8_C(220), SIMDE_POLY8_C( 49),
SIMDE_POLY8_C(183), SIMDE_POLY8_C(231), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(139), SIMDE_POLY8_C(165), SIMDE_POLY8_C(158), SIMDE_POLY8_C( 58), SIMDE_POLY8_C( 50) },
{ SIMDE_POLY8_C( 94), SIMDE_POLY8_C(142), SIMDE_POLY8_C(158), SIMDE_POLY8_C(163), SIMDE_POLY8_C(112), SIMDE_POLY8_C(238), SIMDE_POLY8_C( 93), SIMDE_POLY8_C(138),
SIMDE_POLY8_C( 25), SIMDE_POLY8_C(110), SIMDE_POLY8_C(162), SIMDE_POLY8_C( 96), SIMDE_POLY8_C(240), SIMDE_POLY8_C(235), SIMDE_POLY8_C(233), SIMDE_POLY8_C(229) } },
},
{ { SIMDE_POLY8_C( 49), SIMDE_POLY8_C(231), SIMDE_POLY8_C(247), SIMDE_POLY8_C( 90), SIMDE_POLY8_C( 71), SIMDE_POLY8_C(211), SIMDE_POLY8_C(139), SIMDE_POLY8_C(UINT8_MAX),
SIMDE_POLY8_C(186), SIMDE_POLY8_C(149), SIMDE_POLY8_C(138), SIMDE_POLY8_C( 96), SIMDE_POLY8_C( 51), SIMDE_POLY8_C(196), SIMDE_POLY8_C(146), SIMDE_POLY8_C(146),
SIMDE_POLY8_C( 83), SIMDE_POLY8_C( 48), SIMDE_POLY8_C( 53), SIMDE_POLY8_C(195), SIMDE_POLY8_C( 30), SIMDE_POLY8_C(146), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 55),
SIMDE_POLY8_C( 0), SIMDE_POLY8_C(240), SIMDE_POLY8_C(151), SIMDE_POLY8_C(240), SIMDE_POLY8_C(219), SIMDE_POLY8_C(128), SIMDE_POLY8_C(213), SIMDE_POLY8_C( 12),
SIMDE_POLY8_C(103), SIMDE_POLY8_C(204), SIMDE_POLY8_C(103), SIMDE_POLY8_C(175), SIMDE_POLY8_C(160), SIMDE_POLY8_C(242), SIMDE_POLY8_C(174), SIMDE_POLY8_C( 90),
SIMDE_POLY8_C(136), SIMDE_POLY8_C( 56), SIMDE_POLY8_C(186), SIMDE_POLY8_C(187), SIMDE_POLY8_C(252), SIMDE_POLY8_C( 76), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 79) },
{ { SIMDE_POLY8_C( 49), SIMDE_POLY8_C(231), SIMDE_POLY8_C(247), SIMDE_POLY8_C( 90), SIMDE_POLY8_C( 71), SIMDE_POLY8_C(211), SIMDE_POLY8_C(139), SIMDE_POLY8_C(UINT8_MAX),
SIMDE_POLY8_C(186), SIMDE_POLY8_C(149), SIMDE_POLY8_C(138), SIMDE_POLY8_C( 96), SIMDE_POLY8_C( 51), SIMDE_POLY8_C(196), SIMDE_POLY8_C(146), SIMDE_POLY8_C(146) },
{ SIMDE_POLY8_C( 83), SIMDE_POLY8_C( 48), SIMDE_POLY8_C( 53), SIMDE_POLY8_C(195), SIMDE_POLY8_C( 30), SIMDE_POLY8_C(146), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 55),
SIMDE_POLY8_C( 0), SIMDE_POLY8_C(240), SIMDE_POLY8_C(151), SIMDE_POLY8_C(240), SIMDE_POLY8_C(219), SIMDE_POLY8_C(128), SIMDE_POLY8_C(213), SIMDE_POLY8_C( 12) },
{ SIMDE_POLY8_C(103), SIMDE_POLY8_C(204), SIMDE_POLY8_C(103), SIMDE_POLY8_C(175), SIMDE_POLY8_C(160), SIMDE_POLY8_C(242), SIMDE_POLY8_C(174), SIMDE_POLY8_C( 90),
SIMDE_POLY8_C(136), SIMDE_POLY8_C( 56), SIMDE_POLY8_C(186), SIMDE_POLY8_C(187), SIMDE_POLY8_C(252), SIMDE_POLY8_C( 76), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 79) } },
},
};
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde_poly8x16x3_t r = simde_vld1q_p8_x3(test_vec[i].buf);
simde_poly8x16x3_t expected = {{
simde_vld1q_p8(test_vec[i].expected[0]),
simde_vld1q_p8(test_vec[i].expected[1]),
simde_vld1q_p8(test_vec[i].expected[2]),
}};
simde_test_arm_neon_assert_equal_p8x16x3(r, expected);
}
return 0;
#else
for (int i = 0 ; i < 8 ; i++) {
simde_poly8_t buf[48];
simde_test_codegen_random_memory(48, (uint8_t*)buf);
simde_test_codegen_write_vp8(2, 48, buf, SIMDE_TEST_VEC_POS_FIRST);
simde_poly8x16x3_t val = simde_vld1q_p8_x3(buf);
simde_test_arm_neon_write_p8x16x3(2, val, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vld1q_p16_x3 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly16_t buf[24];
simde_poly16_t expected[3][8];
} test_vec[] = {
{ { SIMDE_POLY16_C(29307), SIMDE_POLY16_C(64420), SIMDE_POLY16_C( 1960), SIMDE_POLY16_C(55981), SIMDE_POLY16_C(65410), SIMDE_POLY16_C(54332), SIMDE_POLY16_C( 1633), SIMDE_POLY16_C(35676),
SIMDE_POLY16_C(25076), SIMDE_POLY16_C(27483), SIMDE_POLY16_C(13741), SIMDE_POLY16_C(55237), SIMDE_POLY16_C(39999), SIMDE_POLY16_C(44673), SIMDE_POLY16_C(43420), SIMDE_POLY16_C( 6117),
SIMDE_POLY16_C(35100), SIMDE_POLY16_C(50194), SIMDE_POLY16_C(49041), SIMDE_POLY16_C( 5022), SIMDE_POLY16_C(56255), SIMDE_POLY16_C( 8423), SIMDE_POLY16_C(17377), SIMDE_POLY16_C(54699) },
{ { SIMDE_POLY16_C(29307), SIMDE_POLY16_C(64420), SIMDE_POLY16_C( 1960), SIMDE_POLY16_C(55981), SIMDE_POLY16_C(65410), SIMDE_POLY16_C(54332), SIMDE_POLY16_C( 1633), SIMDE_POLY16_C(35676) },
{ SIMDE_POLY16_C(25076), SIMDE_POLY16_C(27483), SIMDE_POLY16_C(13741), SIMDE_POLY16_C(55237), SIMDE_POLY16_C(39999), SIMDE_POLY16_C(44673), SIMDE_POLY16_C(43420), SIMDE_POLY16_C( 6117) },
{ SIMDE_POLY16_C(35100), SIMDE_POLY16_C(50194), SIMDE_POLY16_C(49041), SIMDE_POLY16_C( 5022), SIMDE_POLY16_C(56255), SIMDE_POLY16_C( 8423), SIMDE_POLY16_C(17377), SIMDE_POLY16_C(54699) } },
},
{ { SIMDE_POLY16_C( 1700), SIMDE_POLY16_C(21057), SIMDE_POLY16_C( 1596), SIMDE_POLY16_C(31529), SIMDE_POLY16_C(43682), SIMDE_POLY16_C(16170), SIMDE_POLY16_C( 3923), SIMDE_POLY16_C(28502),
SIMDE_POLY16_C(27033), SIMDE_POLY16_C(10804), SIMDE_POLY16_C(53800), SIMDE_POLY16_C(59197), SIMDE_POLY16_C( 9645), SIMDE_POLY16_C(36615), SIMDE_POLY16_C(45928), SIMDE_POLY16_C( 3428),
SIMDE_POLY16_C(42425), SIMDE_POLY16_C(62815), SIMDE_POLY16_C(34987), SIMDE_POLY16_C(20081), SIMDE_POLY16_C(39730), SIMDE_POLY16_C(34189), SIMDE_POLY16_C(58282), SIMDE_POLY16_C(17397) },
{ { SIMDE_POLY16_C( 1700), SIMDE_POLY16_C(21057), SIMDE_POLY16_C( 1596), SIMDE_POLY16_C(31529), SIMDE_POLY16_C(43682), SIMDE_POLY16_C(16170), SIMDE_POLY16_C( 3923), SIMDE_POLY16_C(28502) },
{ SIMDE_POLY16_C(27033), SIMDE_POLY16_C(10804), SIMDE_POLY16_C(53800), SIMDE_POLY16_C(59197), SIMDE_POLY16_C( 9645), SIMDE_POLY16_C(36615), SIMDE_POLY16_C(45928), SIMDE_POLY16_C( 3428) },
{ SIMDE_POLY16_C(42425), SIMDE_POLY16_C(62815), SIMDE_POLY16_C(34987), SIMDE_POLY16_C(20081), SIMDE_POLY16_C(39730), SIMDE_POLY16_C(34189), SIMDE_POLY16_C(58282), SIMDE_POLY16_C(17397) } },
},
{ { SIMDE_POLY16_C(10572), SIMDE_POLY16_C(30061), SIMDE_POLY16_C(44027), SIMDE_POLY16_C(43356), SIMDE_POLY16_C(25808), SIMDE_POLY16_C(14392), SIMDE_POLY16_C(39959), SIMDE_POLY16_C(53317),
SIMDE_POLY16_C(42050), SIMDE_POLY16_C(60870), SIMDE_POLY16_C(14124), SIMDE_POLY16_C(24123), SIMDE_POLY16_C(51410), SIMDE_POLY16_C(31972), SIMDE_POLY16_C(55724), SIMDE_POLY16_C(63680),
SIMDE_POLY16_C(11522), SIMDE_POLY16_C(64877), SIMDE_POLY16_C(51928), SIMDE_POLY16_C(43174), SIMDE_POLY16_C(56878), SIMDE_POLY16_C(17889), SIMDE_POLY16_C( 9851), SIMDE_POLY16_C(48405) },
{ { SIMDE_POLY16_C(10572), SIMDE_POLY16_C(30061), SIMDE_POLY16_C(44027), SIMDE_POLY16_C(43356), SIMDE_POLY16_C(25808), SIMDE_POLY16_C(14392), SIMDE_POLY16_C(39959), SIMDE_POLY16_C(53317) },
{ SIMDE_POLY16_C(42050), SIMDE_POLY16_C(60870), SIMDE_POLY16_C(14124), SIMDE_POLY16_C(24123), SIMDE_POLY16_C(51410), SIMDE_POLY16_C(31972), SIMDE_POLY16_C(55724), SIMDE_POLY16_C(63680) },
{ SIMDE_POLY16_C(11522), SIMDE_POLY16_C(64877), SIMDE_POLY16_C(51928), SIMDE_POLY16_C(43174), SIMDE_POLY16_C(56878), SIMDE_POLY16_C(17889), SIMDE_POLY16_C( 9851), SIMDE_POLY16_C(48405) } },
},
{ { SIMDE_POLY16_C(56267), SIMDE_POLY16_C(63402), SIMDE_POLY16_C(58898), SIMDE_POLY16_C(58454), SIMDE_POLY16_C(15022), SIMDE_POLY16_C(23137), SIMDE_POLY16_C( 8467), SIMDE_POLY16_C( 5459),
SIMDE_POLY16_C(49230), SIMDE_POLY16_C(10002), SIMDE_POLY16_C(47498), SIMDE_POLY16_C(47311), SIMDE_POLY16_C(45207), SIMDE_POLY16_C( 4861), SIMDE_POLY16_C( 5079), SIMDE_POLY16_C(41679),
SIMDE_POLY16_C(31470), SIMDE_POLY16_C( 409), SIMDE_POLY16_C(61280), SIMDE_POLY16_C( 3813), SIMDE_POLY16_C(17961), SIMDE_POLY16_C(15465), SIMDE_POLY16_C(48231), SIMDE_POLY16_C(46673) },
{ { SIMDE_POLY16_C(56267), SIMDE_POLY16_C(63402), SIMDE_POLY16_C(58898), SIMDE_POLY16_C(58454), SIMDE_POLY16_C(15022), SIMDE_POLY16_C(23137), SIMDE_POLY16_C( 8467), SIMDE_POLY16_C( 5459) },
{ SIMDE_POLY16_C(49230), SIMDE_POLY16_C(10002), SIMDE_POLY16_C(47498), SIMDE_POLY16_C(47311), SIMDE_POLY16_C(45207), SIMDE_POLY16_C( 4861), SIMDE_POLY16_C( 5079), SIMDE_POLY16_C(41679) },
{ SIMDE_POLY16_C(31470), SIMDE_POLY16_C( 409), SIMDE_POLY16_C(61280), SIMDE_POLY16_C( 3813), SIMDE_POLY16_C(17961), SIMDE_POLY16_C(15465), SIMDE_POLY16_C(48231), SIMDE_POLY16_C(46673) } },
},
{ { SIMDE_POLY16_C(25724), SIMDE_POLY16_C( 2013), SIMDE_POLY16_C(44061), SIMDE_POLY16_C(46271), SIMDE_POLY16_C(48477), SIMDE_POLY16_C(13511), SIMDE_POLY16_C(38608), SIMDE_POLY16_C(48854),
SIMDE_POLY16_C(28432), SIMDE_POLY16_C(28863), SIMDE_POLY16_C(42335), SIMDE_POLY16_C(34943), SIMDE_POLY16_C(59627), SIMDE_POLY16_C(21445), SIMDE_POLY16_C( 5796), SIMDE_POLY16_C( 8201),
SIMDE_POLY16_C(59002), SIMDE_POLY16_C(38695), SIMDE_POLY16_C(59282), SIMDE_POLY16_C(61260), SIMDE_POLY16_C( 5028), SIMDE_POLY16_C(29731), SIMDE_POLY16_C(63913), SIMDE_POLY16_C(47666) },
{ { SIMDE_POLY16_C(25724), SIMDE_POLY16_C( 2013), SIMDE_POLY16_C(44061), SIMDE_POLY16_C(46271), SIMDE_POLY16_C(48477), SIMDE_POLY16_C(13511), SIMDE_POLY16_C(38608), SIMDE_POLY16_C(48854) },
{ SIMDE_POLY16_C(28432), SIMDE_POLY16_C(28863), SIMDE_POLY16_C(42335), SIMDE_POLY16_C(34943), SIMDE_POLY16_C(59627), SIMDE_POLY16_C(21445), SIMDE_POLY16_C( 5796), SIMDE_POLY16_C( 8201) },
{ SIMDE_POLY16_C(59002), SIMDE_POLY16_C(38695), SIMDE_POLY16_C(59282), SIMDE_POLY16_C(61260), SIMDE_POLY16_C( 5028), SIMDE_POLY16_C(29731), SIMDE_POLY16_C(63913), SIMDE_POLY16_C(47666) } },
},
{ { SIMDE_POLY16_C(62057), SIMDE_POLY16_C(51242), SIMDE_POLY16_C(43415), SIMDE_POLY16_C(33360), SIMDE_POLY16_C( 5521), SIMDE_POLY16_C(13781), SIMDE_POLY16_C(56876), SIMDE_POLY16_C(42582),
SIMDE_POLY16_C(32196), SIMDE_POLY16_C(22334), SIMDE_POLY16_C(35428), SIMDE_POLY16_C( 2118), SIMDE_POLY16_C(27293), SIMDE_POLY16_C(18044), SIMDE_POLY16_C(44899), SIMDE_POLY16_C(52224),
SIMDE_POLY16_C(11169), SIMDE_POLY16_C(14484), SIMDE_POLY16_C(58836), SIMDE_POLY16_C(26298), SIMDE_POLY16_C(37114), SIMDE_POLY16_C( 9883), SIMDE_POLY16_C(61806), SIMDE_POLY16_C(13261) },
{ { SIMDE_POLY16_C(62057), SIMDE_POLY16_C(51242), SIMDE_POLY16_C(43415), SIMDE_POLY16_C(33360), SIMDE_POLY16_C( 5521), SIMDE_POLY16_C(13781), SIMDE_POLY16_C(56876), SIMDE_POLY16_C(42582) },
{ SIMDE_POLY16_C(32196), SIMDE_POLY16_C(22334), SIMDE_POLY16_C(35428), SIMDE_POLY16_C( 2118), SIMDE_POLY16_C(27293), SIMDE_POLY16_C(18044), SIMDE_POLY16_C(44899), SIMDE_POLY16_C(52224) },
{ SIMDE_POLY16_C(11169), SIMDE_POLY16_C(14484), SIMDE_POLY16_C(58836), SIMDE_POLY16_C(26298), SIMDE_POLY16_C(37114), SIMDE_POLY16_C( 9883), SIMDE_POLY16_C(61806), SIMDE_POLY16_C(13261) } },
},
{ { SIMDE_POLY16_C( 2927), SIMDE_POLY16_C(54154), SIMDE_POLY16_C(53397), SIMDE_POLY16_C(13020), SIMDE_POLY16_C(22586), SIMDE_POLY16_C(40568), SIMDE_POLY16_C(30983), SIMDE_POLY16_C(43114),
SIMDE_POLY16_C(65444), SIMDE_POLY16_C(30944), SIMDE_POLY16_C(39908), SIMDE_POLY16_C(57054), SIMDE_POLY16_C(31275), SIMDE_POLY16_C(39173), SIMDE_POLY16_C(53867), SIMDE_POLY16_C(56012),
SIMDE_POLY16_C(22237), SIMDE_POLY16_C(29358), SIMDE_POLY16_C(35367), SIMDE_POLY16_C(24996), SIMDE_POLY16_C( 7394), SIMDE_POLY16_C(60159), SIMDE_POLY16_C(27285), SIMDE_POLY16_C(14738) },
{ { SIMDE_POLY16_C( 2927), SIMDE_POLY16_C(54154), SIMDE_POLY16_C(53397), SIMDE_POLY16_C(13020), SIMDE_POLY16_C(22586), SIMDE_POLY16_C(40568), SIMDE_POLY16_C(30983), SIMDE_POLY16_C(43114) },
{ SIMDE_POLY16_C(65444), SIMDE_POLY16_C(30944), SIMDE_POLY16_C(39908), SIMDE_POLY16_C(57054), SIMDE_POLY16_C(31275), SIMDE_POLY16_C(39173), SIMDE_POLY16_C(53867), SIMDE_POLY16_C(56012) },
{ SIMDE_POLY16_C(22237), SIMDE_POLY16_C(29358), SIMDE_POLY16_C(35367), SIMDE_POLY16_C(24996), SIMDE_POLY16_C( 7394), SIMDE_POLY16_C(60159), SIMDE_POLY16_C(27285), SIMDE_POLY16_C(14738) } },
},
{ { SIMDE_POLY16_C(29545), SIMDE_POLY16_C(19890), SIMDE_POLY16_C(36878), SIMDE_POLY16_C(14635), SIMDE_POLY16_C(12298), SIMDE_POLY16_C(30418), SIMDE_POLY16_C(40706), SIMDE_POLY16_C(57168),
SIMDE_POLY16_C(65269), SIMDE_POLY16_C( 7249), SIMDE_POLY16_C(62856), SIMDE_POLY16_C(27518), SIMDE_POLY16_C(32018), SIMDE_POLY16_C(42837), SIMDE_POLY16_C(59367), SIMDE_POLY16_C(20705),
SIMDE_POLY16_C(37722), SIMDE_POLY16_C(26781), SIMDE_POLY16_C(51491), SIMDE_POLY16_C(11937), SIMDE_POLY16_C(29945), SIMDE_POLY16_C(64676), SIMDE_POLY16_C(62483), SIMDE_POLY16_C( 2267) },
{ { SIMDE_POLY16_C(29545), SIMDE_POLY16_C(19890), SIMDE_POLY16_C(36878), SIMDE_POLY16_C(14635), SIMDE_POLY16_C(12298), SIMDE_POLY16_C(30418), SIMDE_POLY16_C(40706), SIMDE_POLY16_C(57168) },
{ SIMDE_POLY16_C(65269), SIMDE_POLY16_C( 7249), SIMDE_POLY16_C(62856), SIMDE_POLY16_C(27518), SIMDE_POLY16_C(32018), SIMDE_POLY16_C(42837), SIMDE_POLY16_C(59367), SIMDE_POLY16_C(20705) },
{ SIMDE_POLY16_C(37722), SIMDE_POLY16_C(26781), SIMDE_POLY16_C(51491), SIMDE_POLY16_C(11937), SIMDE_POLY16_C(29945), SIMDE_POLY16_C(64676), SIMDE_POLY16_C(62483), SIMDE_POLY16_C( 2267) } },
},
};
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde_poly16x8x3_t r = simde_vld1q_p16_x3(test_vec[i].buf);
simde_poly16x8x3_t expected = {{
simde_vld1q_p16(test_vec[i].expected[0]),
simde_vld1q_p16(test_vec[i].expected[1]),
simde_vld1q_p16(test_vec[i].expected[2]),
}};
simde_test_arm_neon_assert_equal_p16x8x3(r, expected);
}
return 0;
#else
for (int i = 0 ; i < 8 ; i++) {
simde_poly16_t buf[24];
simde_test_codegen_random_memory(48, (uint8_t*)buf);
simde_test_codegen_write_vp16(2, 24, buf, SIMDE_TEST_VEC_POS_FIRST);
simde_poly16x8x3_t val = simde_vld1q_p16_x3(buf);
simde_test_arm_neon_write_p16x8x3(2, val, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vld1q_p64_x3 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
static const struct {
simde_poly64_t buf[6];
simde_poly64_t expected[3][2];
} test_vec[] = {
{ { SIMDE_POLY64_C(15519353910127610373), SIMDE_POLY64_C( 6394029002626098533), SIMDE_POLY64_C( 6577100759873439877), SIMDE_POLY64_C( 9716131923722126028),
SIMDE_POLY64_C(14297770350732349292), SIMDE_POLY64_C( 2999322191108996551) },
{ { SIMDE_POLY64_C(15519353910127610373), SIMDE_POLY64_C( 6394029002626098533) },
{ SIMDE_POLY64_C( 6577100759873439877), SIMDE_POLY64_C( 9716131923722126028) },
{ SIMDE_POLY64_C(14297770350732349292), SIMDE_POLY64_C( 2999322191108996551) } },
},
{ { SIMDE_POLY64_C( 3435046275521106948), SIMDE_POLY64_C( 290101300426700286), SIMDE_POLY64_C( 3628779160359962932), SIMDE_POLY64_C( 1967537674411203456),
SIMDE_POLY64_C( 9187366884996728046), SIMDE_POLY64_C( 2929317730421001995) },
{ { SIMDE_POLY64_C( 3435046275521106948), SIMDE_POLY64_C( 290101300426700286) },
{ SIMDE_POLY64_C( 3628779160359962932), SIMDE_POLY64_C( 1967537674411203456) },
{ SIMDE_POLY64_C( 9187366884996728046), SIMDE_POLY64_C( 2929317730421001995) } },
},
{ { SIMDE_POLY64_C(14063924986829946767), SIMDE_POLY64_C(12657145482668713845), SIMDE_POLY64_C( 3673670828123230715), SIMDE_POLY64_C(10442576508011019215),
SIMDE_POLY64_C( 4017696589736552636), SIMDE_POLY64_C(15839277400333724000) },
{ { SIMDE_POLY64_C(14063924986829946767), SIMDE_POLY64_C(12657145482668713845) },
{ SIMDE_POLY64_C( 3673670828123230715), SIMDE_POLY64_C(10442576508011019215) },
{ SIMDE_POLY64_C( 4017696589736552636), SIMDE_POLY64_C(15839277400333724000) } },
},
{ { SIMDE_POLY64_C( 2293548616512950395), SIMDE_POLY64_C(16348010736794118477), SIMDE_POLY64_C( 9543024407583156854), SIMDE_POLY64_C( 1659143925851828811),
SIMDE_POLY64_C(18281956626468068678), SIMDE_POLY64_C(15870732805522364728) },
{ { SIMDE_POLY64_C( 2293548616512950395), SIMDE_POLY64_C(16348010736794118477) },
{ SIMDE_POLY64_C( 9543024407583156854), SIMDE_POLY64_C( 1659143925851828811) },
{ SIMDE_POLY64_C(18281956626468068678), SIMDE_POLY64_C(15870732805522364728) } },
},
{ { SIMDE_POLY64_C( 1026121162462339221), SIMDE_POLY64_C(11486783072649208501), SIMDE_POLY64_C(16810790280339268509), SIMDE_POLY64_C( 6325454947899381637),
SIMDE_POLY64_C( 1619129142531382696), SIMDE_POLY64_C(10315443211604570672) },
{ { SIMDE_POLY64_C( 1026121162462339221), SIMDE_POLY64_C(11486783072649208501) },
{ SIMDE_POLY64_C(16810790280339268509), SIMDE_POLY64_C( 6325454947899381637) },
{ SIMDE_POLY64_C( 1619129142531382696), SIMDE_POLY64_C(10315443211604570672) } },
},
{ { SIMDE_POLY64_C(14955935713619434995), SIMDE_POLY64_C( 421232102302537407), SIMDE_POLY64_C( 7410647033732720993), SIMDE_POLY64_C( 224078337506492314),
SIMDE_POLY64_C(16180648554772625780), SIMDE_POLY64_C( 3345956602575407372) },
{ { SIMDE_POLY64_C(14955935713619434995), SIMDE_POLY64_C( 421232102302537407) },
{ SIMDE_POLY64_C( 7410647033732720993), SIMDE_POLY64_C( 224078337506492314) },
{ SIMDE_POLY64_C(16180648554772625780), SIMDE_POLY64_C( 3345956602575407372) } },
},
{ { SIMDE_POLY64_C( 7115625599584952098), SIMDE_POLY64_C( 4114051200707440134), SIMDE_POLY64_C( 217726354026119172), SIMDE_POLY64_C(14035711916260550349),
SIMDE_POLY64_C( 9648920967876688060), SIMDE_POLY64_C(16539385936809219721) },
{ { SIMDE_POLY64_C( 7115625599584952098), SIMDE_POLY64_C( 4114051200707440134) },
{ SIMDE_POLY64_C( 217726354026119172), SIMDE_POLY64_C(14035711916260550349) },
{ SIMDE_POLY64_C( 9648920967876688060), SIMDE_POLY64_C(16539385936809219721) } },
},
{ { SIMDE_POLY64_C(15018958310370606707), SIMDE_POLY64_C( 8491031013163195253), SIMDE_POLY64_C( 6192415181230436843), SIMDE_POLY64_C(12717085887517919670),
SIMDE_POLY64_C( 755066063923349160), SIMDE_POLY64_C( 257256137636701540) },
{ { SIMDE_POLY64_C(15018958310370606707), SIMDE_POLY64_C( 8491031013163195253) },
{ SIMDE_POLY64_C( 6192415181230436843), SIMDE_POLY64_C(12717085887517919670) },
{ SIMDE_POLY64_C( 755066063923349160), SIMDE_POLY64_C( 257256137636701540) } },
},
};
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde_poly64x2x3_t r = simde_vld1q_p64_x3(test_vec[i].buf);
simde_poly64x2x3_t expected = {{
simde_vld1q_p64(test_vec[i].expected[0]),
simde_vld1q_p64(test_vec[i].expected[1]),
simde_vld1q_p64(test_vec[i].expected[2]),
}};
simde_test_arm_neon_assert_equal_p64x2x3(r, expected);
}
return 0;
#else
for (int i = 0 ; i < 8 ; i++) {
simde_poly64_t buf[6];
simde_test_codegen_random_memory(48, (uint8_t*)buf);
simde_test_codegen_write_vp64(2, 6, buf, SIMDE_TEST_VEC_POS_FIRST);
simde_poly64x2x3_t val = simde_vld1q_p64_x3(buf);
simde_test_arm_neon_write_p64x2x3(2, val, SIMDE_TEST_VEC_POS_LAST);
}
return 1;
#endif
}
static int
test_simde_vld1q_bf16_x3 (SIMDE_MUNIT_TEST_ARGS) {
struct {
simde_bfloat16 buf[24];
simde_bfloat16 expected[3][8];
} test_vec[] = {
{ { SIMDE_BFLOAT16_VALUE(5.77), SIMDE_BFLOAT16_VALUE(3.40), SIMDE_BFLOAT16_VALUE(8.52), SIMDE_BFLOAT16_VALUE(-8.12),
SIMDE_BFLOAT16_VALUE(9.75), SIMDE_BFLOAT16_VALUE(4.58), SIMDE_BFLOAT16_VALUE(-8.12), SIMDE_BFLOAT16_VALUE(-0.21),
SIMDE_BFLOAT16_VALUE(-8.19), SIMDE_BFLOAT16_VALUE(9.31), SIMDE_BFLOAT16_VALUE(-3.36), SIMDE_BFLOAT16_VALUE(6.68),
SIMDE_BFLOAT16_VALUE(-4.82), SIMDE_BFLOAT16_VALUE(-7.99), SIMDE_BFLOAT16_VALUE(7.60), SIMDE_BFLOAT16_VALUE(-5.32),
SIMDE_BFLOAT16_VALUE(8.17), SIMDE_BFLOAT16_VALUE(-2.82), SIMDE_BFLOAT16_VALUE(-0.51), SIMDE_BFLOAT16_VALUE(-8.15),
SIMDE_BFLOAT16_VALUE(-5.44), SIMDE_BFLOAT16_VALUE(8.44), SIMDE_BFLOAT16_VALUE(-6.93), SIMDE_BFLOAT16_VALUE(2.81) },
{ { SIMDE_BFLOAT16_VALUE(5.77), SIMDE_BFLOAT16_VALUE(3.40), SIMDE_BFLOAT16_VALUE(8.52), SIMDE_BFLOAT16_VALUE(-8.12),
SIMDE_BFLOAT16_VALUE(9.75), SIMDE_BFLOAT16_VALUE(4.58), SIMDE_BFLOAT16_VALUE(-8.12), SIMDE_BFLOAT16_VALUE(-0.21) },
{ SIMDE_BFLOAT16_VALUE(-8.19), SIMDE_BFLOAT16_VALUE(9.31), SIMDE_BFLOAT16_VALUE(-3.36), SIMDE_BFLOAT16_VALUE(6.68),
SIMDE_BFLOAT16_VALUE(-4.82), SIMDE_BFLOAT16_VALUE(-7.99), SIMDE_BFLOAT16_VALUE(7.60), SIMDE_BFLOAT16_VALUE(-5.32) },
{ SIMDE_BFLOAT16_VALUE(8.17), SIMDE_BFLOAT16_VALUE(-2.82), SIMDE_BFLOAT16_VALUE(-0.51), SIMDE_BFLOAT16_VALUE(-8.15),
SIMDE_BFLOAT16_VALUE(-5.44), SIMDE_BFLOAT16_VALUE(8.44), SIMDE_BFLOAT16_VALUE(-6.93), SIMDE_BFLOAT16_VALUE(2.81) } } },
{ { SIMDE_BFLOAT16_VALUE(1.57), SIMDE_BFLOAT16_VALUE(-2.73), SIMDE_BFLOAT16_VALUE(-0.07), SIMDE_BFLOAT16_VALUE(9.59),
SIMDE_BFLOAT16_VALUE(5.25), SIMDE_BFLOAT16_VALUE(-4.36), SIMDE_BFLOAT16_VALUE(0.01), SIMDE_BFLOAT16_VALUE(-7.95),
SIMDE_BFLOAT16_VALUE(-7.48), SIMDE_BFLOAT16_VALUE(5.11), SIMDE_BFLOAT16_VALUE(2.89), SIMDE_BFLOAT16_VALUE(4.88),
SIMDE_BFLOAT16_VALUE(0.38), SIMDE_BFLOAT16_VALUE(5.53), SIMDE_BFLOAT16_VALUE(-1.66), SIMDE_BFLOAT16_VALUE(4.24),
SIMDE_BFLOAT16_VALUE(5.92), SIMDE_BFLOAT16_VALUE(0.65), SIMDE_BFLOAT16_VALUE(-9.00), SIMDE_BFLOAT16_VALUE(9.26),
SIMDE_BFLOAT16_VALUE(-0.65), SIMDE_BFLOAT16_VALUE(3.52), SIMDE_BFLOAT16_VALUE(8.37), SIMDE_BFLOAT16_VALUE(-6.65) },
{ { SIMDE_BFLOAT16_VALUE(1.57), SIMDE_BFLOAT16_VALUE(-2.73), SIMDE_BFLOAT16_VALUE(-0.07), SIMDE_BFLOAT16_VALUE(9.59),
SIMDE_BFLOAT16_VALUE(5.25), SIMDE_BFLOAT16_VALUE(-4.36), SIMDE_BFLOAT16_VALUE(0.01), SIMDE_BFLOAT16_VALUE(-7.95) },
{ SIMDE_BFLOAT16_VALUE(-7.48), SIMDE_BFLOAT16_VALUE(5.11), SIMDE_BFLOAT16_VALUE(2.89), SIMDE_BFLOAT16_VALUE(4.88),
SIMDE_BFLOAT16_VALUE(0.38), SIMDE_BFLOAT16_VALUE(5.53), SIMDE_BFLOAT16_VALUE(-1.66), SIMDE_BFLOAT16_VALUE(4.24) },
{ SIMDE_BFLOAT16_VALUE(5.92), SIMDE_BFLOAT16_VALUE(0.65), SIMDE_BFLOAT16_VALUE(-9.00), SIMDE_BFLOAT16_VALUE(9.26),
SIMDE_BFLOAT16_VALUE(-0.65), SIMDE_BFLOAT16_VALUE(3.52), SIMDE_BFLOAT16_VALUE(8.37), SIMDE_BFLOAT16_VALUE(-6.65) } } },
{ { SIMDE_BFLOAT16_VALUE(-1.37), SIMDE_BFLOAT16_VALUE(-2.25), SIMDE_BFLOAT16_VALUE(1.38), SIMDE_BFLOAT16_VALUE(-0.69),
SIMDE_BFLOAT16_VALUE(-0.74), SIMDE_BFLOAT16_VALUE(-5.25), SIMDE_BFLOAT16_VALUE(6.54), SIMDE_BFLOAT16_VALUE(-9.57),
SIMDE_BFLOAT16_VALUE(8.41), SIMDE_BFLOAT16_VALUE(0.56), SIMDE_BFLOAT16_VALUE(-3.33), SIMDE_BFLOAT16_VALUE(0.61),
SIMDE_BFLOAT16_VALUE(2.97), SIMDE_BFLOAT16_VALUE(9.80), SIMDE_BFLOAT16_VALUE(7.20), SIMDE_BFLOAT16_VALUE(-1.70),
SIMDE_BFLOAT16_VALUE(6.31), SIMDE_BFLOAT16_VALUE(-7.33), SIMDE_BFLOAT16_VALUE(8.80), SIMDE_BFLOAT16_VALUE(5.75),
SIMDE_BFLOAT16_VALUE(4.89), SIMDE_BFLOAT16_VALUE(-5.85), SIMDE_BFLOAT16_VALUE(-5.80), SIMDE_BFLOAT16_VALUE(1.30) },
{ { SIMDE_BFLOAT16_VALUE(-1.37), SIMDE_BFLOAT16_VALUE(-2.25), SIMDE_BFLOAT16_VALUE(1.38), SIMDE_BFLOAT16_VALUE(-0.69),
SIMDE_BFLOAT16_VALUE(-0.74), SIMDE_BFLOAT16_VALUE(-5.25), SIMDE_BFLOAT16_VALUE(6.54), SIMDE_BFLOAT16_VALUE(-9.57) },
{ SIMDE_BFLOAT16_VALUE(8.41), SIMDE_BFLOAT16_VALUE(0.56), SIMDE_BFLOAT16_VALUE(-3.33), SIMDE_BFLOAT16_VALUE(0.61),
SIMDE_BFLOAT16_VALUE(2.97), SIMDE_BFLOAT16_VALUE(9.80), SIMDE_BFLOAT16_VALUE(7.20), SIMDE_BFLOAT16_VALUE(-1.70) },
{ SIMDE_BFLOAT16_VALUE(6.31), SIMDE_BFLOAT16_VALUE(-7.33), SIMDE_BFLOAT16_VALUE(8.80), SIMDE_BFLOAT16_VALUE(5.75),
SIMDE_BFLOAT16_VALUE(4.89), SIMDE_BFLOAT16_VALUE(-5.85), SIMDE_BFLOAT16_VALUE(-5.80), SIMDE_BFLOAT16_VALUE(1.30) } } },
{ { SIMDE_BFLOAT16_VALUE(-1.53), SIMDE_BFLOAT16_VALUE(1.62), SIMDE_BFLOAT16_VALUE(-5.29), SIMDE_BFLOAT16_VALUE(-4.50),
SIMDE_BFLOAT16_VALUE(-9.77), SIMDE_BFLOAT16_VALUE(1.79), SIMDE_BFLOAT16_VALUE(4.79), SIMDE_BFLOAT16_VALUE(6.77),
SIMDE_BFLOAT16_VALUE(2.13), SIMDE_BFLOAT16_VALUE(-4.49), SIMDE_BFLOAT16_VALUE(-8.50), SIMDE_BFLOAT16_VALUE(-4.17),
SIMDE_BFLOAT16_VALUE(-7.82), SIMDE_BFLOAT16_VALUE(8.62), SIMDE_BFLOAT16_VALUE(-9.23), SIMDE_BFLOAT16_VALUE(-8.30),
SIMDE_BFLOAT16_VALUE(6.89), SIMDE_BFLOAT16_VALUE(8.83), SIMDE_BFLOAT16_VALUE(-8.78), SIMDE_BFLOAT16_VALUE(-2.63),
SIMDE_BFLOAT16_VALUE(-4.15), SIMDE_BFLOAT16_VALUE(4.43), SIMDE_BFLOAT16_VALUE(-1.23), SIMDE_BFLOAT16_VALUE(-7.80) },
{ { SIMDE_BFLOAT16_VALUE(-1.53), SIMDE_BFLOAT16_VALUE(1.62), SIMDE_BFLOAT16_VALUE(-5.29), SIMDE_BFLOAT16_VALUE(-4.50),
SIMDE_BFLOAT16_VALUE(-9.77), SIMDE_BFLOAT16_VALUE(1.79), SIMDE_BFLOAT16_VALUE(4.79), SIMDE_BFLOAT16_VALUE(6.77) },
{ SIMDE_BFLOAT16_VALUE(2.13), SIMDE_BFLOAT16_VALUE(-4.49), SIMDE_BFLOAT16_VALUE(-8.50), SIMDE_BFLOAT16_VALUE(-4.17),
SIMDE_BFLOAT16_VALUE(-7.82), SIMDE_BFLOAT16_VALUE(8.62), SIMDE_BFLOAT16_VALUE(-9.23), SIMDE_BFLOAT16_VALUE(-8.30) },
{ SIMDE_BFLOAT16_VALUE(6.89), SIMDE_BFLOAT16_VALUE(8.83), SIMDE_BFLOAT16_VALUE(-8.78), SIMDE_BFLOAT16_VALUE(-2.63),
SIMDE_BFLOAT16_VALUE(-4.15), SIMDE_BFLOAT16_VALUE(4.43), SIMDE_BFLOAT16_VALUE(-1.23), SIMDE_BFLOAT16_VALUE(-7.80) } } },
{ { SIMDE_BFLOAT16_VALUE(7.81), SIMDE_BFLOAT16_VALUE(-8.12), SIMDE_BFLOAT16_VALUE(-5.24), SIMDE_BFLOAT16_VALUE(-7.34),
SIMDE_BFLOAT16_VALUE(-5.07), SIMDE_BFLOAT16_VALUE(8.42), SIMDE_BFLOAT16_VALUE(-1.56), SIMDE_BFLOAT16_VALUE(3.85),
SIMDE_BFLOAT16_VALUE(1.08), SIMDE_BFLOAT16_VALUE(-3.58), SIMDE_BFLOAT16_VALUE(-1.71), SIMDE_BFLOAT16_VALUE(-6.62),
SIMDE_BFLOAT16_VALUE(3.82), SIMDE_BFLOAT16_VALUE(-0.05), SIMDE_BFLOAT16_VALUE(5.35), SIMDE_BFLOAT16_VALUE(-4.41),
SIMDE_BFLOAT16_VALUE(7.30), SIMDE_BFLOAT16_VALUE(-7.74), SIMDE_BFLOAT16_VALUE(-9.77), SIMDE_BFLOAT16_VALUE(-9.07),
SIMDE_BFLOAT16_VALUE(9.48), SIMDE_BFLOAT16_VALUE(-2.73), SIMDE_BFLOAT16_VALUE(-7.56), SIMDE_BFLOAT16_VALUE(3.51) },
{ { SIMDE_BFLOAT16_VALUE(7.81), SIMDE_BFLOAT16_VALUE(-8.12), SIMDE_BFLOAT16_VALUE(-5.24), SIMDE_BFLOAT16_VALUE(-7.34),
SIMDE_BFLOAT16_VALUE(-5.07), SIMDE_BFLOAT16_VALUE(8.42), SIMDE_BFLOAT16_VALUE(-1.56), SIMDE_BFLOAT16_VALUE(3.85) },
{ SIMDE_BFLOAT16_VALUE(1.08), SIMDE_BFLOAT16_VALUE(-3.58), SIMDE_BFLOAT16_VALUE(-1.71), SIMDE_BFLOAT16_VALUE(-6.62),
SIMDE_BFLOAT16_VALUE(3.82), SIMDE_BFLOAT16_VALUE(-0.05), SIMDE_BFLOAT16_VALUE(5.35), SIMDE_BFLOAT16_VALUE(-4.41) },
{ SIMDE_BFLOAT16_VALUE(7.30), SIMDE_BFLOAT16_VALUE(-7.74), SIMDE_BFLOAT16_VALUE(-9.77), SIMDE_BFLOAT16_VALUE(-9.07),
SIMDE_BFLOAT16_VALUE(9.48), SIMDE_BFLOAT16_VALUE(-2.73), SIMDE_BFLOAT16_VALUE(-7.56), SIMDE_BFLOAT16_VALUE(3.51) } } },
};
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde_bfloat16x8x3_t r = simde_vld1q_bf16_x3(test_vec[i].buf);
simde_bfloat16x8x3_t expected = {{
simde_vld1q_bf16(test_vec[i].expected[0]),
simde_vld1q_bf16(test_vec[i].expected[1]),
simde_vld1q_bf16(test_vec[i].expected[2]),
}};
simde_test_arm_neon_assert_equal_bf16x8x3(r, expected, 1);
}
return 0;
}
#endif /* !defined(SIMDE_BUG_INTEL_857088) */
SIMDE_TEST_FUNC_LIST_BEGIN
#if !defined(SIMDE_BUG_INTEL_857088)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_f16_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_f32_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_f64_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_s8_x3)
@ -970,6 +1440,10 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u8_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u16_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u32_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u64_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_p8_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_p16_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_p64_x3)
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_bf16_x3)
#endif /* !defined(SIMDE_BUG_INTEL_857088) */
SIMDE_TEST_FUNC_LIST_END