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
367
thirdparty/simde/test/arm/neon/ld1q_x2.c
vendored
367
thirdparty/simde/test/arm/neon/ld1q_x2.c
vendored
|
|
@ -6,6 +6,66 @@
|
|||
|
||||
#if !defined(SIMDE_BUG_INTEL_857088)
|
||||
|
||||
static int
|
||||
test_simde_vld1q_f16_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_float16_t buf[16];
|
||||
simde_float16_t expected[2][8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(8.77), SIMDE_FLOAT16_VALUE(-8.18), SIMDE_FLOAT16_VALUE(0.29), SIMDE_FLOAT16_VALUE(-5.13),
|
||||
SIMDE_FLOAT16_VALUE(-0.49), SIMDE_FLOAT16_VALUE(-5.46), SIMDE_FLOAT16_VALUE(-5.01), SIMDE_FLOAT16_VALUE(9.21),
|
||||
SIMDE_FLOAT16_VALUE(-5.50), SIMDE_FLOAT16_VALUE(0.96), SIMDE_FLOAT16_VALUE(-8.88), SIMDE_FLOAT16_VALUE(-3.56),
|
||||
SIMDE_FLOAT16_VALUE(-7.57), SIMDE_FLOAT16_VALUE(4.59), SIMDE_FLOAT16_VALUE(2.11), SIMDE_FLOAT16_VALUE(-8.34) },
|
||||
{ { SIMDE_FLOAT16_VALUE(8.77), SIMDE_FLOAT16_VALUE(-8.18), SIMDE_FLOAT16_VALUE(0.29), SIMDE_FLOAT16_VALUE(-5.13),
|
||||
SIMDE_FLOAT16_VALUE(-0.49), SIMDE_FLOAT16_VALUE(-5.46), SIMDE_FLOAT16_VALUE(-5.01), SIMDE_FLOAT16_VALUE(9.21) },
|
||||
{ SIMDE_FLOAT16_VALUE(-5.50), SIMDE_FLOAT16_VALUE(0.96), SIMDE_FLOAT16_VALUE(-8.88), SIMDE_FLOAT16_VALUE(-3.56),
|
||||
SIMDE_FLOAT16_VALUE(-7.57), SIMDE_FLOAT16_VALUE(4.59), SIMDE_FLOAT16_VALUE(2.11), SIMDE_FLOAT16_VALUE(-8.34) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-2.41), SIMDE_FLOAT16_VALUE(-4.05), SIMDE_FLOAT16_VALUE(-2.12), SIMDE_FLOAT16_VALUE(8.76),
|
||||
SIMDE_FLOAT16_VALUE(-9.05), SIMDE_FLOAT16_VALUE(-9.20), SIMDE_FLOAT16_VALUE(-9.36), SIMDE_FLOAT16_VALUE(7.44),
|
||||
SIMDE_FLOAT16_VALUE(-0.56), SIMDE_FLOAT16_VALUE(-0.19), SIMDE_FLOAT16_VALUE(2.69), SIMDE_FLOAT16_VALUE(-3.86),
|
||||
SIMDE_FLOAT16_VALUE(8.27), SIMDE_FLOAT16_VALUE(7.78), SIMDE_FLOAT16_VALUE(5.32), SIMDE_FLOAT16_VALUE(8.78) },
|
||||
{ { SIMDE_FLOAT16_VALUE(-2.41), SIMDE_FLOAT16_VALUE(-4.05), SIMDE_FLOAT16_VALUE(-2.12), SIMDE_FLOAT16_VALUE(8.76),
|
||||
SIMDE_FLOAT16_VALUE(-9.05), SIMDE_FLOAT16_VALUE(-9.20), SIMDE_FLOAT16_VALUE(-9.36), SIMDE_FLOAT16_VALUE(7.44) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.56), SIMDE_FLOAT16_VALUE(-0.19), SIMDE_FLOAT16_VALUE(2.69), SIMDE_FLOAT16_VALUE(-3.86),
|
||||
SIMDE_FLOAT16_VALUE(8.27), SIMDE_FLOAT16_VALUE(7.78), SIMDE_FLOAT16_VALUE(5.32), SIMDE_FLOAT16_VALUE(8.78) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(9.59), SIMDE_FLOAT16_VALUE(-4.45), SIMDE_FLOAT16_VALUE(-4.44), SIMDE_FLOAT16_VALUE(-3.80),
|
||||
SIMDE_FLOAT16_VALUE(8.02), SIMDE_FLOAT16_VALUE(-6.86), SIMDE_FLOAT16_VALUE(3.22), SIMDE_FLOAT16_VALUE(7.96),
|
||||
SIMDE_FLOAT16_VALUE(2.96), SIMDE_FLOAT16_VALUE(9.81), SIMDE_FLOAT16_VALUE(-2.28), SIMDE_FLOAT16_VALUE(2.25),
|
||||
SIMDE_FLOAT16_VALUE(6.08), SIMDE_FLOAT16_VALUE(-2.65), SIMDE_FLOAT16_VALUE(5.79), SIMDE_FLOAT16_VALUE(2.07) },
|
||||
{ { SIMDE_FLOAT16_VALUE(9.59), SIMDE_FLOAT16_VALUE(-4.45), SIMDE_FLOAT16_VALUE(-4.44), SIMDE_FLOAT16_VALUE(-3.80),
|
||||
SIMDE_FLOAT16_VALUE(8.02), SIMDE_FLOAT16_VALUE(-6.86), SIMDE_FLOAT16_VALUE(3.22), SIMDE_FLOAT16_VALUE(7.96) },
|
||||
{ SIMDE_FLOAT16_VALUE(2.96), SIMDE_FLOAT16_VALUE(9.81), SIMDE_FLOAT16_VALUE(-2.28), SIMDE_FLOAT16_VALUE(2.25),
|
||||
SIMDE_FLOAT16_VALUE(6.08), SIMDE_FLOAT16_VALUE(-2.65), SIMDE_FLOAT16_VALUE(5.79), SIMDE_FLOAT16_VALUE(2.07) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-8.12), SIMDE_FLOAT16_VALUE(-8.56), SIMDE_FLOAT16_VALUE(-3.17), SIMDE_FLOAT16_VALUE(7.97),
|
||||
SIMDE_FLOAT16_VALUE(-6.75), SIMDE_FLOAT16_VALUE(-7.91), SIMDE_FLOAT16_VALUE(-3.52), SIMDE_FLOAT16_VALUE(4.08),
|
||||
SIMDE_FLOAT16_VALUE(-7.33), SIMDE_FLOAT16_VALUE(4.96), SIMDE_FLOAT16_VALUE(2.30), SIMDE_FLOAT16_VALUE(4.35),
|
||||
SIMDE_FLOAT16_VALUE(6.65), SIMDE_FLOAT16_VALUE(-9.83), SIMDE_FLOAT16_VALUE(4.16), SIMDE_FLOAT16_VALUE(-9.32) },
|
||||
{ { SIMDE_FLOAT16_VALUE(-8.12), SIMDE_FLOAT16_VALUE(-8.56), SIMDE_FLOAT16_VALUE(-3.17), SIMDE_FLOAT16_VALUE(7.97),
|
||||
SIMDE_FLOAT16_VALUE(-6.75), SIMDE_FLOAT16_VALUE(-7.91), SIMDE_FLOAT16_VALUE(-3.52), SIMDE_FLOAT16_VALUE(4.08) },
|
||||
{ SIMDE_FLOAT16_VALUE(-7.33), SIMDE_FLOAT16_VALUE(4.96), SIMDE_FLOAT16_VALUE(2.30), SIMDE_FLOAT16_VALUE(4.35),
|
||||
SIMDE_FLOAT16_VALUE(6.65), SIMDE_FLOAT16_VALUE(-9.83), SIMDE_FLOAT16_VALUE(4.16), SIMDE_FLOAT16_VALUE(-9.32) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-8.89), SIMDE_FLOAT16_VALUE(2.64), SIMDE_FLOAT16_VALUE(8.88), SIMDE_FLOAT16_VALUE(8.92),
|
||||
SIMDE_FLOAT16_VALUE(1.05), SIMDE_FLOAT16_VALUE(-5.69), SIMDE_FLOAT16_VALUE(1.66), SIMDE_FLOAT16_VALUE(-3.57),
|
||||
SIMDE_FLOAT16_VALUE(-0.96), SIMDE_FLOAT16_VALUE(2.24), SIMDE_FLOAT16_VALUE(6.98), SIMDE_FLOAT16_VALUE(1.03),
|
||||
SIMDE_FLOAT16_VALUE(7.90), SIMDE_FLOAT16_VALUE(9.00), SIMDE_FLOAT16_VALUE(-0.34), SIMDE_FLOAT16_VALUE(9.82) },
|
||||
{ { SIMDE_FLOAT16_VALUE(-8.89), SIMDE_FLOAT16_VALUE(2.64), SIMDE_FLOAT16_VALUE(8.88), SIMDE_FLOAT16_VALUE(8.92),
|
||||
SIMDE_FLOAT16_VALUE(1.05), SIMDE_FLOAT16_VALUE(-5.69), SIMDE_FLOAT16_VALUE(1.66), SIMDE_FLOAT16_VALUE(-3.57) },
|
||||
{ SIMDE_FLOAT16_VALUE(-0.96), SIMDE_FLOAT16_VALUE(2.24), SIMDE_FLOAT16_VALUE(6.98), SIMDE_FLOAT16_VALUE(1.03),
|
||||
SIMDE_FLOAT16_VALUE(7.90), SIMDE_FLOAT16_VALUE(9.00), SIMDE_FLOAT16_VALUE(-0.34), SIMDE_FLOAT16_VALUE(9.82) } } },
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_float16x8x2_t r = simde_vld1q_f16_x2(test_vec[i].buf);
|
||||
simde_float16x8x2_t expected = {{
|
||||
simde_vld1q_f16(test_vec[i].expected[0]),
|
||||
simde_vld1q_f16(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_f16x8x2(r, expected, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1q_f32_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -754,10 +814,313 @@ test_simde_vld1q_u64_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1q_p8_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
SIMDE_ALIGN_TO_16 simde_poly8_t buf[32];
|
||||
SIMDE_ALIGN_TO_16 simde_poly8_t expected[2][16];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_POLY8_C( 1), SIMDE_POLY8_C(207), SIMDE_POLY8_C( 90), SIMDE_POLY8_C( 91), SIMDE_POLY8_C( 1), SIMDE_POLY8_C(120), SIMDE_POLY8_C(244), SIMDE_POLY8_C( 26),
|
||||
SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 61), SIMDE_POLY8_C( 30), SIMDE_POLY8_C(124), SIMDE_POLY8_C(117), SIMDE_POLY8_C(182), SIMDE_POLY8_C(248), SIMDE_POLY8_C(134),
|
||||
SIMDE_POLY8_C(103), SIMDE_POLY8_C(254), SIMDE_POLY8_C(116), SIMDE_POLY8_C(200), SIMDE_POLY8_C( 4), SIMDE_POLY8_C(177), SIMDE_POLY8_C(119), SIMDE_POLY8_C(104),
|
||||
SIMDE_POLY8_C(147), SIMDE_POLY8_C( 37), SIMDE_POLY8_C(120), SIMDE_POLY8_C( 21), SIMDE_POLY8_C(213), SIMDE_POLY8_C( 20), SIMDE_POLY8_C(135), SIMDE_POLY8_C(214) },
|
||||
{ { SIMDE_POLY8_C( 1), SIMDE_POLY8_C(207), SIMDE_POLY8_C( 90), SIMDE_POLY8_C( 91), SIMDE_POLY8_C( 1), SIMDE_POLY8_C(120), SIMDE_POLY8_C(244), SIMDE_POLY8_C( 26),
|
||||
SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 61), SIMDE_POLY8_C( 30), SIMDE_POLY8_C(124), SIMDE_POLY8_C(117), SIMDE_POLY8_C(182), SIMDE_POLY8_C(248), SIMDE_POLY8_C(134) },
|
||||
{ SIMDE_POLY8_C(103), SIMDE_POLY8_C(254), SIMDE_POLY8_C(116), SIMDE_POLY8_C(200), SIMDE_POLY8_C( 4), SIMDE_POLY8_C(177), SIMDE_POLY8_C(119), SIMDE_POLY8_C(104),
|
||||
SIMDE_POLY8_C(147), SIMDE_POLY8_C( 37), SIMDE_POLY8_C(120), SIMDE_POLY8_C( 21), SIMDE_POLY8_C(213), SIMDE_POLY8_C( 20), SIMDE_POLY8_C(135), SIMDE_POLY8_C(214) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(227), SIMDE_POLY8_C(225), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(229), SIMDE_POLY8_C( 89), SIMDE_POLY8_C( 38), SIMDE_POLY8_C(UINT8_MAX), SIMDE_POLY8_C(128),
|
||||
SIMDE_POLY8_C(100), SIMDE_POLY8_C( 29), SIMDE_POLY8_C(252), SIMDE_POLY8_C(217), SIMDE_POLY8_C(211), SIMDE_POLY8_C(244), SIMDE_POLY8_C( 95), SIMDE_POLY8_C( 59),
|
||||
SIMDE_POLY8_C(242), SIMDE_POLY8_C(212), SIMDE_POLY8_C( 3), SIMDE_POLY8_C(246), SIMDE_POLY8_C(133), SIMDE_POLY8_C(122), SIMDE_POLY8_C( 94), SIMDE_POLY8_C( 25),
|
||||
SIMDE_POLY8_C(159), SIMDE_POLY8_C(215), SIMDE_POLY8_C( 46), SIMDE_POLY8_C(117), SIMDE_POLY8_C(235), SIMDE_POLY8_C(181), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(206) },
|
||||
{ { SIMDE_POLY8_C(227), SIMDE_POLY8_C(225), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(229), SIMDE_POLY8_C( 89), SIMDE_POLY8_C( 38), SIMDE_POLY8_C(UINT8_MAX), SIMDE_POLY8_C(128),
|
||||
SIMDE_POLY8_C(100), SIMDE_POLY8_C( 29), SIMDE_POLY8_C(252), SIMDE_POLY8_C(217), SIMDE_POLY8_C(211), SIMDE_POLY8_C(244), SIMDE_POLY8_C( 95), SIMDE_POLY8_C( 59) },
|
||||
{ SIMDE_POLY8_C(242), SIMDE_POLY8_C(212), SIMDE_POLY8_C( 3), SIMDE_POLY8_C(246), SIMDE_POLY8_C(133), SIMDE_POLY8_C(122), SIMDE_POLY8_C( 94), SIMDE_POLY8_C( 25),
|
||||
SIMDE_POLY8_C(159), SIMDE_POLY8_C(215), SIMDE_POLY8_C( 46), SIMDE_POLY8_C(117), SIMDE_POLY8_C(235), SIMDE_POLY8_C(181), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(206) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(150), SIMDE_POLY8_C(125), SIMDE_POLY8_C(179), SIMDE_POLY8_C(239), SIMDE_POLY8_C(164), SIMDE_POLY8_C(178), SIMDE_POLY8_C(111), SIMDE_POLY8_C( 8),
|
||||
SIMDE_POLY8_C(208), SIMDE_POLY8_C(107), SIMDE_POLY8_C(225), SIMDE_POLY8_C(163), SIMDE_POLY8_C( 95), SIMDE_POLY8_C( 64), SIMDE_POLY8_C(222), SIMDE_POLY8_C( 81),
|
||||
SIMDE_POLY8_C( 20), SIMDE_POLY8_C(226), SIMDE_POLY8_C( 71), SIMDE_POLY8_C(154), SIMDE_POLY8_C( 92), SIMDE_POLY8_C(166), SIMDE_POLY8_C(179), SIMDE_POLY8_C(252),
|
||||
SIMDE_POLY8_C(125), SIMDE_POLY8_C(225), SIMDE_POLY8_C(113), SIMDE_POLY8_C(104), SIMDE_POLY8_C(150), SIMDE_POLY8_C(188), SIMDE_POLY8_C( 54), SIMDE_POLY8_C( 44) },
|
||||
{ { SIMDE_POLY8_C(150), SIMDE_POLY8_C(125), SIMDE_POLY8_C(179), SIMDE_POLY8_C(239), SIMDE_POLY8_C(164), SIMDE_POLY8_C(178), SIMDE_POLY8_C(111), SIMDE_POLY8_C( 8),
|
||||
SIMDE_POLY8_C(208), SIMDE_POLY8_C(107), SIMDE_POLY8_C(225), SIMDE_POLY8_C(163), SIMDE_POLY8_C( 95), SIMDE_POLY8_C( 64), SIMDE_POLY8_C(222), SIMDE_POLY8_C( 81) },
|
||||
{ SIMDE_POLY8_C( 20), SIMDE_POLY8_C(226), SIMDE_POLY8_C( 71), SIMDE_POLY8_C(154), SIMDE_POLY8_C( 92), SIMDE_POLY8_C(166), SIMDE_POLY8_C(179), SIMDE_POLY8_C(252),
|
||||
SIMDE_POLY8_C(125), SIMDE_POLY8_C(225), SIMDE_POLY8_C(113), SIMDE_POLY8_C(104), SIMDE_POLY8_C(150), SIMDE_POLY8_C(188), SIMDE_POLY8_C( 54), SIMDE_POLY8_C( 44) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C( 58), SIMDE_POLY8_C(234), SIMDE_POLY8_C( 27), SIMDE_POLY8_C(222), SIMDE_POLY8_C(156), SIMDE_POLY8_C(138), SIMDE_POLY8_C(230), SIMDE_POLY8_C(108),
|
||||
SIMDE_POLY8_C(245), SIMDE_POLY8_C(199), SIMDE_POLY8_C( 16), SIMDE_POLY8_C( 84), SIMDE_POLY8_C( 7), SIMDE_POLY8_C(238), SIMDE_POLY8_C(165), SIMDE_POLY8_C( 28),
|
||||
SIMDE_POLY8_C(208), SIMDE_POLY8_C(236), SIMDE_POLY8_C(182), SIMDE_POLY8_C( 45), SIMDE_POLY8_C(146), SIMDE_POLY8_C(105), SIMDE_POLY8_C( 41), SIMDE_POLY8_C( 15),
|
||||
SIMDE_POLY8_C( 74), SIMDE_POLY8_C(154), SIMDE_POLY8_C(119), SIMDE_POLY8_C(224), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(174), SIMDE_POLY8_C( 12), SIMDE_POLY8_C(144) },
|
||||
{ { SIMDE_POLY8_C( 58), SIMDE_POLY8_C(234), SIMDE_POLY8_C( 27), SIMDE_POLY8_C(222), SIMDE_POLY8_C(156), SIMDE_POLY8_C(138), SIMDE_POLY8_C(230), SIMDE_POLY8_C(108),
|
||||
SIMDE_POLY8_C(245), SIMDE_POLY8_C(199), SIMDE_POLY8_C( 16), SIMDE_POLY8_C( 84), SIMDE_POLY8_C( 7), SIMDE_POLY8_C(238), SIMDE_POLY8_C(165), SIMDE_POLY8_C( 28) },
|
||||
{ SIMDE_POLY8_C(208), SIMDE_POLY8_C(236), SIMDE_POLY8_C(182), SIMDE_POLY8_C( 45), SIMDE_POLY8_C(146), SIMDE_POLY8_C(105), SIMDE_POLY8_C( 41), SIMDE_POLY8_C( 15),
|
||||
SIMDE_POLY8_C( 74), SIMDE_POLY8_C(154), SIMDE_POLY8_C(119), SIMDE_POLY8_C(224), SIMDE_POLY8_C( 86), SIMDE_POLY8_C(174), SIMDE_POLY8_C( 12), SIMDE_POLY8_C(144) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(152), SIMDE_POLY8_C( 39), SIMDE_POLY8_C(110), SIMDE_POLY8_C( 52), SIMDE_POLY8_C(177), SIMDE_POLY8_C( 84), SIMDE_POLY8_C(161), SIMDE_POLY8_C(166),
|
||||
SIMDE_POLY8_C( 27), SIMDE_POLY8_C(177), SIMDE_POLY8_C(250), SIMDE_POLY8_C( 35), SIMDE_POLY8_C(159), SIMDE_POLY8_C(159), SIMDE_POLY8_C( 63), SIMDE_POLY8_C(112),
|
||||
SIMDE_POLY8_C(139), SIMDE_POLY8_C(245), SIMDE_POLY8_C(157), SIMDE_POLY8_C( 30), SIMDE_POLY8_C( 94), SIMDE_POLY8_C(198), SIMDE_POLY8_C( 45), SIMDE_POLY8_C(168),
|
||||
SIMDE_POLY8_C( 96), SIMDE_POLY8_C(165), SIMDE_POLY8_C(136), SIMDE_POLY8_C(182), SIMDE_POLY8_C( 83), SIMDE_POLY8_C(148), SIMDE_POLY8_C( 71), SIMDE_POLY8_C(235) },
|
||||
{ { SIMDE_POLY8_C(152), SIMDE_POLY8_C( 39), SIMDE_POLY8_C(110), SIMDE_POLY8_C( 52), SIMDE_POLY8_C(177), SIMDE_POLY8_C( 84), SIMDE_POLY8_C(161), SIMDE_POLY8_C(166),
|
||||
SIMDE_POLY8_C( 27), SIMDE_POLY8_C(177), SIMDE_POLY8_C(250), SIMDE_POLY8_C( 35), SIMDE_POLY8_C(159), SIMDE_POLY8_C(159), SIMDE_POLY8_C( 63), SIMDE_POLY8_C(112) },
|
||||
{ SIMDE_POLY8_C(139), SIMDE_POLY8_C(245), SIMDE_POLY8_C(157), SIMDE_POLY8_C( 30), SIMDE_POLY8_C( 94), SIMDE_POLY8_C(198), SIMDE_POLY8_C( 45), SIMDE_POLY8_C(168),
|
||||
SIMDE_POLY8_C( 96), SIMDE_POLY8_C(165), SIMDE_POLY8_C(136), SIMDE_POLY8_C(182), SIMDE_POLY8_C( 83), SIMDE_POLY8_C(148), SIMDE_POLY8_C( 71), SIMDE_POLY8_C(235) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(187), SIMDE_POLY8_C(181), SIMDE_POLY8_C( 31), SIMDE_POLY8_C(108), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(192), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 37),
|
||||
SIMDE_POLY8_C(113), SIMDE_POLY8_C( 12), SIMDE_POLY8_C( 72), SIMDE_POLY8_C( 17), SIMDE_POLY8_C(171), SIMDE_POLY8_C(135), SIMDE_POLY8_C(129), SIMDE_POLY8_C( 54),
|
||||
SIMDE_POLY8_C(124), SIMDE_POLY8_C( 30), SIMDE_POLY8_C( 84), SIMDE_POLY8_C(218), SIMDE_POLY8_C(228), SIMDE_POLY8_C(130), SIMDE_POLY8_C(130), SIMDE_POLY8_C( 68),
|
||||
SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(250), SIMDE_POLY8_C(122), SIMDE_POLY8_C(158), SIMDE_POLY8_C( 65), SIMDE_POLY8_C(101), SIMDE_POLY8_C( 89) },
|
||||
{ { SIMDE_POLY8_C(187), SIMDE_POLY8_C(181), SIMDE_POLY8_C( 31), SIMDE_POLY8_C(108), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(192), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 37),
|
||||
SIMDE_POLY8_C(113), SIMDE_POLY8_C( 12), SIMDE_POLY8_C( 72), SIMDE_POLY8_C( 17), SIMDE_POLY8_C(171), SIMDE_POLY8_C(135), SIMDE_POLY8_C(129), SIMDE_POLY8_C( 54) },
|
||||
{ SIMDE_POLY8_C(124), SIMDE_POLY8_C( 30), SIMDE_POLY8_C( 84), SIMDE_POLY8_C(218), SIMDE_POLY8_C(228), SIMDE_POLY8_C(130), SIMDE_POLY8_C(130), SIMDE_POLY8_C( 68),
|
||||
SIMDE_POLY8_C( 39), SIMDE_POLY8_C( 10), SIMDE_POLY8_C(250), SIMDE_POLY8_C(122), SIMDE_POLY8_C(158), SIMDE_POLY8_C( 65), SIMDE_POLY8_C(101), SIMDE_POLY8_C( 89) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(247), SIMDE_POLY8_C(132), SIMDE_POLY8_C(197), SIMDE_POLY8_C( 1), SIMDE_POLY8_C( 69), SIMDE_POLY8_C(215), SIMDE_POLY8_C( 38), SIMDE_POLY8_C(182),
|
||||
SIMDE_POLY8_C(227), SIMDE_POLY8_C(111), SIMDE_POLY8_C(199), SIMDE_POLY8_C(142), SIMDE_POLY8_C(246), SIMDE_POLY8_C( 72), SIMDE_POLY8_C(197), SIMDE_POLY8_C(115),
|
||||
SIMDE_POLY8_C(102), SIMDE_POLY8_C( 25), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 74), SIMDE_POLY8_C(155), SIMDE_POLY8_C(208), SIMDE_POLY8_C(142), SIMDE_POLY8_C(194),
|
||||
SIMDE_POLY8_C(218), SIMDE_POLY8_C(137), SIMDE_POLY8_C( 60), SIMDE_POLY8_C(121), SIMDE_POLY8_C(202), SIMDE_POLY8_C(161), SIMDE_POLY8_C(210), SIMDE_POLY8_C(193) },
|
||||
{ { SIMDE_POLY8_C(247), SIMDE_POLY8_C(132), SIMDE_POLY8_C(197), SIMDE_POLY8_C( 1), SIMDE_POLY8_C( 69), SIMDE_POLY8_C(215), SIMDE_POLY8_C( 38), SIMDE_POLY8_C(182),
|
||||
SIMDE_POLY8_C(227), SIMDE_POLY8_C(111), SIMDE_POLY8_C(199), SIMDE_POLY8_C(142), SIMDE_POLY8_C(246), SIMDE_POLY8_C( 72), SIMDE_POLY8_C(197), SIMDE_POLY8_C(115) },
|
||||
{ SIMDE_POLY8_C(102), SIMDE_POLY8_C( 25), SIMDE_POLY8_C( 77), SIMDE_POLY8_C( 74), SIMDE_POLY8_C(155), SIMDE_POLY8_C(208), SIMDE_POLY8_C(142), SIMDE_POLY8_C(194),
|
||||
SIMDE_POLY8_C(218), SIMDE_POLY8_C(137), SIMDE_POLY8_C( 60), SIMDE_POLY8_C(121), SIMDE_POLY8_C(202), SIMDE_POLY8_C(161), SIMDE_POLY8_C(210), SIMDE_POLY8_C(193) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C( 38), SIMDE_POLY8_C(152), SIMDE_POLY8_C(194), SIMDE_POLY8_C(107), SIMDE_POLY8_C(111), SIMDE_POLY8_C(233), SIMDE_POLY8_C( 33), SIMDE_POLY8_C( 83),
|
||||
SIMDE_POLY8_C( 88), SIMDE_POLY8_C(233), SIMDE_POLY8_C(225), SIMDE_POLY8_C( 78), SIMDE_POLY8_C( 49), SIMDE_POLY8_C(166), SIMDE_POLY8_C(193), SIMDE_POLY8_C(152),
|
||||
SIMDE_POLY8_C(192), SIMDE_POLY8_C( 15), SIMDE_POLY8_C(226), SIMDE_POLY8_C( 91), SIMDE_POLY8_C(223), SIMDE_POLY8_C(113), SIMDE_POLY8_C( 30), SIMDE_POLY8_C(185),
|
||||
SIMDE_POLY8_C(250), SIMDE_POLY8_C( 90), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(196), SIMDE_POLY8_C(252), SIMDE_POLY8_C( 5), SIMDE_POLY8_C(134), SIMDE_POLY8_C( 34) },
|
||||
{ { SIMDE_POLY8_C( 38), SIMDE_POLY8_C(152), SIMDE_POLY8_C(194), SIMDE_POLY8_C(107), SIMDE_POLY8_C(111), SIMDE_POLY8_C(233), SIMDE_POLY8_C( 33), SIMDE_POLY8_C( 83),
|
||||
SIMDE_POLY8_C( 88), SIMDE_POLY8_C(233), SIMDE_POLY8_C(225), SIMDE_POLY8_C( 78), SIMDE_POLY8_C( 49), SIMDE_POLY8_C(166), SIMDE_POLY8_C(193), SIMDE_POLY8_C(152) },
|
||||
{ SIMDE_POLY8_C(192), SIMDE_POLY8_C( 15), SIMDE_POLY8_C(226), SIMDE_POLY8_C( 91), SIMDE_POLY8_C(223), SIMDE_POLY8_C(113), SIMDE_POLY8_C( 30), SIMDE_POLY8_C(185),
|
||||
SIMDE_POLY8_C(250), SIMDE_POLY8_C( 90), SIMDE_POLY8_C( 50), SIMDE_POLY8_C(196), SIMDE_POLY8_C(252), SIMDE_POLY8_C( 5), SIMDE_POLY8_C(134), SIMDE_POLY8_C( 34) } },
|
||||
},
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
SIMDE_ALIGN_TO_16 simde_poly8x16x2_t r = simde_vld1q_p8_x2(test_vec[i].buf);
|
||||
SIMDE_ALIGN_TO_16 simde_poly8x16x2_t expected = {{
|
||||
simde_vld1q_p8(test_vec[i].expected[0]),
|
||||
simde_vld1q_p8(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_p8x16x2(r, expected);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#else
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_poly8_t buf[32];
|
||||
simde_test_codegen_random_memory(32, (uint8_t*)buf);
|
||||
simde_test_codegen_write_vp8(2, 32, buf, SIMDE_TEST_VEC_POS_FIRST);
|
||||
|
||||
simde_poly8x16x2_t val = simde_vld1q_p8_x2(buf);
|
||||
simde_test_arm_neon_write_p8x16x2(2, val, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1q_p16_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
SIMDE_ALIGN_TO_16 simde_poly16_t buf[16];
|
||||
SIMDE_ALIGN_TO_16 simde_poly16_t expected[2][8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_POLY16_C( 825), SIMDE_POLY16_C(10210), SIMDE_POLY16_C( 3731), SIMDE_POLY16_C( 5598), SIMDE_POLY16_C(24657), SIMDE_POLY16_C(20451), SIMDE_POLY16_C(21382), SIMDE_POLY16_C(34867),
|
||||
SIMDE_POLY16_C(63322), SIMDE_POLY16_C(32517), SIMDE_POLY16_C(49700), SIMDE_POLY16_C(46516), SIMDE_POLY16_C(37728), SIMDE_POLY16_C(62645), SIMDE_POLY16_C(14775), SIMDE_POLY16_C(61520) },
|
||||
{ { SIMDE_POLY16_C( 825), SIMDE_POLY16_C(10210), SIMDE_POLY16_C( 3731), SIMDE_POLY16_C( 5598), SIMDE_POLY16_C(24657), SIMDE_POLY16_C(20451), SIMDE_POLY16_C(21382), SIMDE_POLY16_C(34867) },
|
||||
{ SIMDE_POLY16_C(63322), SIMDE_POLY16_C(32517), SIMDE_POLY16_C(49700), SIMDE_POLY16_C(46516), SIMDE_POLY16_C(37728), SIMDE_POLY16_C(62645), SIMDE_POLY16_C(14775), SIMDE_POLY16_C(61520) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(12860), SIMDE_POLY16_C(53016), SIMDE_POLY16_C(63040), SIMDE_POLY16_C(37348), SIMDE_POLY16_C(51030), SIMDE_POLY16_C(56544), SIMDE_POLY16_C( 4890), SIMDE_POLY16_C(29796),
|
||||
SIMDE_POLY16_C(26890), SIMDE_POLY16_C(12276), SIMDE_POLY16_C(43052), SIMDE_POLY16_C(36068), SIMDE_POLY16_C(39228), SIMDE_POLY16_C(62336), SIMDE_POLY16_C(53458), SIMDE_POLY16_C( 3811) },
|
||||
{ { SIMDE_POLY16_C(12860), SIMDE_POLY16_C(53016), SIMDE_POLY16_C(63040), SIMDE_POLY16_C(37348), SIMDE_POLY16_C(51030), SIMDE_POLY16_C(56544), SIMDE_POLY16_C( 4890), SIMDE_POLY16_C(29796) },
|
||||
{ SIMDE_POLY16_C(26890), SIMDE_POLY16_C(12276), SIMDE_POLY16_C(43052), SIMDE_POLY16_C(36068), SIMDE_POLY16_C(39228), SIMDE_POLY16_C(62336), SIMDE_POLY16_C(53458), SIMDE_POLY16_C( 3811) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(64258), SIMDE_POLY16_C(17118), SIMDE_POLY16_C(49905), SIMDE_POLY16_C(18643), SIMDE_POLY16_C(46218), SIMDE_POLY16_C(42020), SIMDE_POLY16_C(35271), SIMDE_POLY16_C(53785),
|
||||
SIMDE_POLY16_C( 3570), SIMDE_POLY16_C( 7681), SIMDE_POLY16_C(58805), SIMDE_POLY16_C(61867), SIMDE_POLY16_C(11134), SIMDE_POLY16_C(20964), SIMDE_POLY16_C(51452), SIMDE_POLY16_C(65119) },
|
||||
{ { SIMDE_POLY16_C(64258), SIMDE_POLY16_C(17118), SIMDE_POLY16_C(49905), SIMDE_POLY16_C(18643), SIMDE_POLY16_C(46218), SIMDE_POLY16_C(42020), SIMDE_POLY16_C(35271), SIMDE_POLY16_C(53785) },
|
||||
{ SIMDE_POLY16_C( 3570), SIMDE_POLY16_C( 7681), SIMDE_POLY16_C(58805), SIMDE_POLY16_C(61867), SIMDE_POLY16_C(11134), SIMDE_POLY16_C(20964), SIMDE_POLY16_C(51452), SIMDE_POLY16_C(65119) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(15811), SIMDE_POLY16_C(46401), SIMDE_POLY16_C( 5120), SIMDE_POLY16_C(35581), SIMDE_POLY16_C( 8648), SIMDE_POLY16_C(36910), SIMDE_POLY16_C(18346), SIMDE_POLY16_C(40290),
|
||||
SIMDE_POLY16_C(25428), SIMDE_POLY16_C( 2747), SIMDE_POLY16_C(26184), SIMDE_POLY16_C(50939), SIMDE_POLY16_C(57490), SIMDE_POLY16_C(36375), SIMDE_POLY16_C(30632), SIMDE_POLY16_C(27532) },
|
||||
{ { SIMDE_POLY16_C(15811), SIMDE_POLY16_C(46401), SIMDE_POLY16_C( 5120), SIMDE_POLY16_C(35581), SIMDE_POLY16_C( 8648), SIMDE_POLY16_C(36910), SIMDE_POLY16_C(18346), SIMDE_POLY16_C(40290) },
|
||||
{ SIMDE_POLY16_C(25428), SIMDE_POLY16_C( 2747), SIMDE_POLY16_C(26184), SIMDE_POLY16_C(50939), SIMDE_POLY16_C(57490), SIMDE_POLY16_C(36375), SIMDE_POLY16_C(30632), SIMDE_POLY16_C(27532) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(52660), SIMDE_POLY16_C(46112), SIMDE_POLY16_C( 7650), SIMDE_POLY16_C(43582), SIMDE_POLY16_C(27967), SIMDE_POLY16_C(59706), SIMDE_POLY16_C(40116), SIMDE_POLY16_C( 2438),
|
||||
SIMDE_POLY16_C(17151), SIMDE_POLY16_C(18195), SIMDE_POLY16_C( 3752), SIMDE_POLY16_C(14862), SIMDE_POLY16_C( 9710), SIMDE_POLY16_C(38600), SIMDE_POLY16_C(21916), SIMDE_POLY16_C(20738) },
|
||||
{ { SIMDE_POLY16_C(52660), SIMDE_POLY16_C(46112), SIMDE_POLY16_C( 7650), SIMDE_POLY16_C(43582), SIMDE_POLY16_C(27967), SIMDE_POLY16_C(59706), SIMDE_POLY16_C(40116), SIMDE_POLY16_C( 2438) },
|
||||
{ SIMDE_POLY16_C(17151), SIMDE_POLY16_C(18195), SIMDE_POLY16_C( 3752), SIMDE_POLY16_C(14862), SIMDE_POLY16_C( 9710), SIMDE_POLY16_C(38600), SIMDE_POLY16_C(21916), SIMDE_POLY16_C(20738) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C( 8738), SIMDE_POLY16_C( 1029), SIMDE_POLY16_C(17472), SIMDE_POLY16_C(32687), SIMDE_POLY16_C(59825), SIMDE_POLY16_C(25960), SIMDE_POLY16_C(61318), SIMDE_POLY16_C(34158),
|
||||
SIMDE_POLY16_C(33073), SIMDE_POLY16_C(55757), SIMDE_POLY16_C(56208), SIMDE_POLY16_C(32276), SIMDE_POLY16_C(56320), SIMDE_POLY16_C(40213), SIMDE_POLY16_C( 5937), SIMDE_POLY16_C(21742) },
|
||||
{ { SIMDE_POLY16_C( 8738), SIMDE_POLY16_C( 1029), SIMDE_POLY16_C(17472), SIMDE_POLY16_C(32687), SIMDE_POLY16_C(59825), SIMDE_POLY16_C(25960), SIMDE_POLY16_C(61318), SIMDE_POLY16_C(34158) },
|
||||
{ SIMDE_POLY16_C(33073), SIMDE_POLY16_C(55757), SIMDE_POLY16_C(56208), SIMDE_POLY16_C(32276), SIMDE_POLY16_C(56320), SIMDE_POLY16_C(40213), SIMDE_POLY16_C( 5937), SIMDE_POLY16_C(21742) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(62265), SIMDE_POLY16_C(31064), SIMDE_POLY16_C( 1847), SIMDE_POLY16_C(59640), SIMDE_POLY16_C(25073), SIMDE_POLY16_C(30542), SIMDE_POLY16_C(48208), SIMDE_POLY16_C(33276),
|
||||
SIMDE_POLY16_C(51518), SIMDE_POLY16_C(52826), SIMDE_POLY16_C(28324), SIMDE_POLY16_C(42316), SIMDE_POLY16_C(24907), SIMDE_POLY16_C(31810), SIMDE_POLY16_C(12408), SIMDE_POLY16_C(45776) },
|
||||
{ { SIMDE_POLY16_C(62265), SIMDE_POLY16_C(31064), SIMDE_POLY16_C( 1847), SIMDE_POLY16_C(59640), SIMDE_POLY16_C(25073), SIMDE_POLY16_C(30542), SIMDE_POLY16_C(48208), SIMDE_POLY16_C(33276) },
|
||||
{ SIMDE_POLY16_C(51518), SIMDE_POLY16_C(52826), SIMDE_POLY16_C(28324), SIMDE_POLY16_C(42316), SIMDE_POLY16_C(24907), SIMDE_POLY16_C(31810), SIMDE_POLY16_C(12408), SIMDE_POLY16_C(45776) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(10531), SIMDE_POLY16_C(23339), SIMDE_POLY16_C( 9264), SIMDE_POLY16_C( 8515), SIMDE_POLY16_C(37253), SIMDE_POLY16_C(54680), SIMDE_POLY16_C(38222), SIMDE_POLY16_C(35926),
|
||||
SIMDE_POLY16_C(45150), SIMDE_POLY16_C( 858), SIMDE_POLY16_C(42527), SIMDE_POLY16_C(27304), SIMDE_POLY16_C(59912), SIMDE_POLY16_C(32998), SIMDE_POLY16_C(46874), SIMDE_POLY16_C(15666) },
|
||||
{ { SIMDE_POLY16_C(10531), SIMDE_POLY16_C(23339), SIMDE_POLY16_C( 9264), SIMDE_POLY16_C( 8515), SIMDE_POLY16_C(37253), SIMDE_POLY16_C(54680), SIMDE_POLY16_C(38222), SIMDE_POLY16_C(35926) },
|
||||
{ SIMDE_POLY16_C(45150), SIMDE_POLY16_C( 858), SIMDE_POLY16_C(42527), SIMDE_POLY16_C(27304), SIMDE_POLY16_C(59912), SIMDE_POLY16_C(32998), SIMDE_POLY16_C(46874), SIMDE_POLY16_C(15666) } },
|
||||
},
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
SIMDE_ALIGN_TO_16 simde_poly16x8x2_t r = simde_vld1q_p16_x2(test_vec[i].buf);
|
||||
SIMDE_ALIGN_TO_16 simde_poly16x8x2_t expected = {{
|
||||
simde_vld1q_p16(test_vec[i].expected[0]),
|
||||
simde_vld1q_p16(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_p16x8x2(r, expected);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#else
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_poly16_t buf[16];
|
||||
simde_test_codegen_random_memory(32, (uint8_t*)buf);
|
||||
simde_test_codegen_write_vp16(2, 16, buf, SIMDE_TEST_VEC_POS_FIRST);
|
||||
|
||||
simde_poly16x8x2_t val = simde_vld1q_p16_x2(buf);
|
||||
simde_test_arm_neon_write_p16x8x2(2, val, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1q_p64_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
simde_poly64_t buf[4];
|
||||
simde_poly64_t expected[2][2];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_POLY64_C( 7695069376241149540), SIMDE_POLY64_C(11863849238367002114), SIMDE_POLY64_C( 2899617582647847122), SIMDE_POLY64_C(12344735216901072976) },
|
||||
{ { SIMDE_POLY64_C( 7695069376241149540), SIMDE_POLY64_C(11863849238367002114) },
|
||||
{ SIMDE_POLY64_C( 2899617582647847122), SIMDE_POLY64_C(12344735216901072976) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 9994412847762712694), SIMDE_POLY64_C( 671757863263951783), SIMDE_POLY64_C( 6356096434846533177), SIMDE_POLY64_C(11528919454937438733) },
|
||||
{ { SIMDE_POLY64_C( 9994412847762712694), SIMDE_POLY64_C( 671757863263951783) },
|
||||
{ SIMDE_POLY64_C( 6356096434846533177), SIMDE_POLY64_C(11528919454937438733) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 7939737045061696796), SIMDE_POLY64_C(16445015720835423223), SIMDE_POLY64_C(15084006253974872052), SIMDE_POLY64_C( 561300596492400385) },
|
||||
{ { SIMDE_POLY64_C( 7939737045061696796), SIMDE_POLY64_C(16445015720835423223) },
|
||||
{ SIMDE_POLY64_C(15084006253974872052), SIMDE_POLY64_C( 561300596492400385) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 5176283381308830624), SIMDE_POLY64_C( 6090464697330823669), SIMDE_POLY64_C(11502939599304488717), SIMDE_POLY64_C( 9984643005128754846) },
|
||||
{ { SIMDE_POLY64_C( 5176283381308830624), SIMDE_POLY64_C( 6090464697330823669) },
|
||||
{ SIMDE_POLY64_C(11502939599304488717), SIMDE_POLY64_C( 9984643005128754846) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 855057304594234182), SIMDE_POLY64_C( 966640045986173623), SIMDE_POLY64_C( 64880404244380585), SIMDE_POLY64_C( 9924272505232142150) },
|
||||
{ { SIMDE_POLY64_C( 855057304594234182), SIMDE_POLY64_C( 966640045986173623) },
|
||||
{ SIMDE_POLY64_C( 64880404244380585), SIMDE_POLY64_C( 9924272505232142150) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 2915795372810939220), SIMDE_POLY64_C(18256653169024967247), SIMDE_POLY64_C( 55779027067353700), SIMDE_POLY64_C(13665867852189552602) },
|
||||
{ { SIMDE_POLY64_C( 2915795372810939220), SIMDE_POLY64_C(18256653169024967247) },
|
||||
{ SIMDE_POLY64_C( 55779027067353700), SIMDE_POLY64_C(13665867852189552602) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 1238100404225951381), SIMDE_POLY64_C( 8796299825225166272), SIMDE_POLY64_C( 6607070381918476022), SIMDE_POLY64_C( 7024523383525663063) },
|
||||
{ { SIMDE_POLY64_C( 1238100404225951381), SIMDE_POLY64_C( 8796299825225166272) },
|
||||
{ SIMDE_POLY64_C( 6607070381918476022), SIMDE_POLY64_C( 7024523383525663063) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 124014198478382308), SIMDE_POLY64_C(14741452376004499715), SIMDE_POLY64_C( 3700320471040710014), SIMDE_POLY64_C(15365279113249280527) },
|
||||
{ { SIMDE_POLY64_C( 124014198478382308), SIMDE_POLY64_C(14741452376004499715) },
|
||||
{ SIMDE_POLY64_C( 3700320471040710014), SIMDE_POLY64_C(15365279113249280527) } },
|
||||
},
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_poly64x2x2_t r = simde_vld1q_p64_x2(test_vec[i].buf);
|
||||
simde_poly64x2x2_t expected = {{
|
||||
simde_vld1q_p64(test_vec[i].expected[0]),
|
||||
simde_vld1q_p64(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_p64x2x2(r, expected);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#else
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_poly64_t buf[4];
|
||||
simde_test_codegen_random_memory(32, (uint8_t*)buf);
|
||||
simde_test_codegen_write_vp16(2, 4, buf, SIMDE_TEST_VEC_POS_FIRST);
|
||||
|
||||
simde_poly64x2x2_t val = simde_vld1q_p64_x2(buf);
|
||||
simde_test_arm_neon_write_p64x2x2(2, val, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
test_simde_vld1q_bf16_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_bfloat16 buf[16];
|
||||
simde_bfloat16 expected[2][8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_BFLOAT16_VALUE(8.77), SIMDE_BFLOAT16_VALUE(-8.18), SIMDE_BFLOAT16_VALUE(0.29), SIMDE_BFLOAT16_VALUE(-5.13),
|
||||
SIMDE_BFLOAT16_VALUE(-0.49), SIMDE_BFLOAT16_VALUE(-5.46), SIMDE_BFLOAT16_VALUE(-5.01), SIMDE_BFLOAT16_VALUE(9.21),
|
||||
SIMDE_BFLOAT16_VALUE(-5.50), SIMDE_BFLOAT16_VALUE(0.96), SIMDE_BFLOAT16_VALUE(-8.88), SIMDE_BFLOAT16_VALUE(-3.56),
|
||||
SIMDE_BFLOAT16_VALUE(-7.57), SIMDE_BFLOAT16_VALUE(4.59), SIMDE_BFLOAT16_VALUE(2.11), SIMDE_BFLOAT16_VALUE(-8.34) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(8.77), SIMDE_BFLOAT16_VALUE(-8.18), SIMDE_BFLOAT16_VALUE(0.29), SIMDE_BFLOAT16_VALUE(-5.13),
|
||||
SIMDE_BFLOAT16_VALUE(-0.49), SIMDE_BFLOAT16_VALUE(-5.46), SIMDE_BFLOAT16_VALUE(-5.01), SIMDE_BFLOAT16_VALUE(9.21) },
|
||||
{ SIMDE_BFLOAT16_VALUE(-5.50), SIMDE_BFLOAT16_VALUE(0.96), SIMDE_BFLOAT16_VALUE(-8.88), SIMDE_BFLOAT16_VALUE(-3.56),
|
||||
SIMDE_BFLOAT16_VALUE(-7.57), SIMDE_BFLOAT16_VALUE(4.59), SIMDE_BFLOAT16_VALUE(2.11), SIMDE_BFLOAT16_VALUE(-8.34) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-2.41), SIMDE_BFLOAT16_VALUE(-4.05), SIMDE_BFLOAT16_VALUE(-2.12), SIMDE_BFLOAT16_VALUE(8.76),
|
||||
SIMDE_BFLOAT16_VALUE(-9.05), SIMDE_BFLOAT16_VALUE(-9.20), SIMDE_BFLOAT16_VALUE(-9.36), SIMDE_BFLOAT16_VALUE(7.44),
|
||||
SIMDE_BFLOAT16_VALUE(-0.56), SIMDE_BFLOAT16_VALUE(-0.19), SIMDE_BFLOAT16_VALUE(2.69), SIMDE_BFLOAT16_VALUE(-3.86),
|
||||
SIMDE_BFLOAT16_VALUE(8.27), SIMDE_BFLOAT16_VALUE(7.78), SIMDE_BFLOAT16_VALUE(5.32), SIMDE_BFLOAT16_VALUE(8.78) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-2.41), SIMDE_BFLOAT16_VALUE(-4.05), SIMDE_BFLOAT16_VALUE(-2.12), SIMDE_BFLOAT16_VALUE(8.76),
|
||||
SIMDE_BFLOAT16_VALUE(-9.05), SIMDE_BFLOAT16_VALUE(-9.20), SIMDE_BFLOAT16_VALUE(-9.36), SIMDE_BFLOAT16_VALUE(7.44) },
|
||||
{ SIMDE_BFLOAT16_VALUE(-0.56), SIMDE_BFLOAT16_VALUE(-0.19), SIMDE_BFLOAT16_VALUE(2.69), SIMDE_BFLOAT16_VALUE(-3.86),
|
||||
SIMDE_BFLOAT16_VALUE(8.27), SIMDE_BFLOAT16_VALUE(7.78), SIMDE_BFLOAT16_VALUE(5.32), SIMDE_BFLOAT16_VALUE(8.78) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(9.59), SIMDE_BFLOAT16_VALUE(-4.45), SIMDE_BFLOAT16_VALUE(-4.44), SIMDE_BFLOAT16_VALUE(-3.80),
|
||||
SIMDE_BFLOAT16_VALUE(8.02), SIMDE_BFLOAT16_VALUE(-6.86), SIMDE_BFLOAT16_VALUE(3.22), SIMDE_BFLOAT16_VALUE(7.96),
|
||||
SIMDE_BFLOAT16_VALUE(2.96), SIMDE_BFLOAT16_VALUE(9.81), SIMDE_BFLOAT16_VALUE(-2.28), SIMDE_BFLOAT16_VALUE(2.25),
|
||||
SIMDE_BFLOAT16_VALUE(6.08), SIMDE_BFLOAT16_VALUE(-2.65), SIMDE_BFLOAT16_VALUE(5.79), SIMDE_BFLOAT16_VALUE(2.07) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(9.59), SIMDE_BFLOAT16_VALUE(-4.45), SIMDE_BFLOAT16_VALUE(-4.44), SIMDE_BFLOAT16_VALUE(-3.80),
|
||||
SIMDE_BFLOAT16_VALUE(8.02), SIMDE_BFLOAT16_VALUE(-6.86), SIMDE_BFLOAT16_VALUE(3.22), SIMDE_BFLOAT16_VALUE(7.96) },
|
||||
{ SIMDE_BFLOAT16_VALUE(2.96), SIMDE_BFLOAT16_VALUE(9.81), SIMDE_BFLOAT16_VALUE(-2.28), SIMDE_BFLOAT16_VALUE(2.25),
|
||||
SIMDE_BFLOAT16_VALUE(6.08), SIMDE_BFLOAT16_VALUE(-2.65), SIMDE_BFLOAT16_VALUE(5.79), SIMDE_BFLOAT16_VALUE(2.07) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-8.12), SIMDE_BFLOAT16_VALUE(-8.56), SIMDE_BFLOAT16_VALUE(-3.17), SIMDE_BFLOAT16_VALUE(7.97),
|
||||
SIMDE_BFLOAT16_VALUE(-6.75), SIMDE_BFLOAT16_VALUE(-7.91), SIMDE_BFLOAT16_VALUE(-3.52), SIMDE_BFLOAT16_VALUE(4.08),
|
||||
SIMDE_BFLOAT16_VALUE(-7.33), SIMDE_BFLOAT16_VALUE(4.96), SIMDE_BFLOAT16_VALUE(2.30), SIMDE_BFLOAT16_VALUE(4.35),
|
||||
SIMDE_BFLOAT16_VALUE(6.65), SIMDE_BFLOAT16_VALUE(-9.83), SIMDE_BFLOAT16_VALUE(4.16), SIMDE_BFLOAT16_VALUE(-9.32) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-8.12), SIMDE_BFLOAT16_VALUE(-8.56), SIMDE_BFLOAT16_VALUE(-3.17), SIMDE_BFLOAT16_VALUE(7.97),
|
||||
SIMDE_BFLOAT16_VALUE(-6.75), SIMDE_BFLOAT16_VALUE(-7.91), SIMDE_BFLOAT16_VALUE(-3.52), SIMDE_BFLOAT16_VALUE(4.08) },
|
||||
{ SIMDE_BFLOAT16_VALUE(-7.33), SIMDE_BFLOAT16_VALUE(4.96), SIMDE_BFLOAT16_VALUE(2.30), SIMDE_BFLOAT16_VALUE(4.35),
|
||||
SIMDE_BFLOAT16_VALUE(6.65), SIMDE_BFLOAT16_VALUE(-9.83), SIMDE_BFLOAT16_VALUE(4.16), SIMDE_BFLOAT16_VALUE(-9.32) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-8.89), SIMDE_BFLOAT16_VALUE(2.64), SIMDE_BFLOAT16_VALUE(8.88), SIMDE_BFLOAT16_VALUE(8.92),
|
||||
SIMDE_BFLOAT16_VALUE(1.05), SIMDE_BFLOAT16_VALUE(-5.69), SIMDE_BFLOAT16_VALUE(1.66), SIMDE_BFLOAT16_VALUE(-3.57),
|
||||
SIMDE_BFLOAT16_VALUE(-0.96), SIMDE_BFLOAT16_VALUE(2.24), SIMDE_BFLOAT16_VALUE(6.98), SIMDE_BFLOAT16_VALUE(1.03),
|
||||
SIMDE_BFLOAT16_VALUE(7.90), SIMDE_BFLOAT16_VALUE(9.00), SIMDE_BFLOAT16_VALUE(-0.34), SIMDE_BFLOAT16_VALUE(9.82) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-8.89), SIMDE_BFLOAT16_VALUE(2.64), SIMDE_BFLOAT16_VALUE(8.88), SIMDE_BFLOAT16_VALUE(8.92),
|
||||
SIMDE_BFLOAT16_VALUE(1.05), SIMDE_BFLOAT16_VALUE(-5.69), SIMDE_BFLOAT16_VALUE(1.66), SIMDE_BFLOAT16_VALUE(-3.57) },
|
||||
{ SIMDE_BFLOAT16_VALUE(-0.96), SIMDE_BFLOAT16_VALUE(2.24), SIMDE_BFLOAT16_VALUE(6.98), SIMDE_BFLOAT16_VALUE(1.03),
|
||||
SIMDE_BFLOAT16_VALUE(7.90), SIMDE_BFLOAT16_VALUE(9.00), SIMDE_BFLOAT16_VALUE(-0.34), SIMDE_BFLOAT16_VALUE(9.82) } } },
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_bfloat16x8x2_t r = simde_vld1q_bf16_x2(test_vec[i].buf);
|
||||
simde_bfloat16x8x2_t expected = {{
|
||||
simde_vld1q_bf16(test_vec[i].expected[0]),
|
||||
simde_vld1q_bf16(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_bf16x8x2(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_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_f32_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_f64_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_s8_x2)
|
||||
|
|
@ -768,6 +1131,10 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u8_x2)
|
|||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u16_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u32_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_u64_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_p8_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_p16_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_p64_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1q_bf16_x2)
|
||||
#endif /* !defined(SIMDE_BUG_INTEL_857088) */
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue