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
285
thirdparty/simde/test/arm/neon/ld1_x2.c
vendored
285
thirdparty/simde/test/arm/neon/ld1_x2.c
vendored
|
|
@ -6,6 +6,46 @@
|
|||
|
||||
#if !defined(SIMDE_BUG_INTEL_857088)
|
||||
|
||||
static int
|
||||
test_simde_vld1_f16_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_float16_t buf[8];
|
||||
simde_float16_t expected[2][4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_FLOAT16_VALUE(3.81), SIMDE_FLOAT16_VALUE(-2.59), SIMDE_FLOAT16_VALUE(-2.10), SIMDE_FLOAT16_VALUE(-4.19),
|
||||
SIMDE_FLOAT16_VALUE(-8.46), SIMDE_FLOAT16_VALUE(3.35), SIMDE_FLOAT16_VALUE(-0.60), SIMDE_FLOAT16_VALUE(-5.62) },
|
||||
{ { SIMDE_FLOAT16_VALUE(3.81), SIMDE_FLOAT16_VALUE(-2.59), SIMDE_FLOAT16_VALUE(-2.10), SIMDE_FLOAT16_VALUE(-4.19) },
|
||||
{ SIMDE_FLOAT16_VALUE(-8.46), SIMDE_FLOAT16_VALUE(3.35), SIMDE_FLOAT16_VALUE(-0.60), SIMDE_FLOAT16_VALUE(-5.62) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(5.29), SIMDE_FLOAT16_VALUE(2.79), SIMDE_FLOAT16_VALUE(-5.18), SIMDE_FLOAT16_VALUE(-2.73),
|
||||
SIMDE_FLOAT16_VALUE(0.13), SIMDE_FLOAT16_VALUE(-0.07), SIMDE_FLOAT16_VALUE(-0.93), SIMDE_FLOAT16_VALUE(-8.59) },
|
||||
{ { SIMDE_FLOAT16_VALUE(5.29), SIMDE_FLOAT16_VALUE(2.79), SIMDE_FLOAT16_VALUE(-5.18), SIMDE_FLOAT16_VALUE(-2.73) },
|
||||
{ SIMDE_FLOAT16_VALUE(0.13), SIMDE_FLOAT16_VALUE(-0.07), SIMDE_FLOAT16_VALUE(-0.93), SIMDE_FLOAT16_VALUE(-8.59) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-1.35), SIMDE_FLOAT16_VALUE(6.47), SIMDE_FLOAT16_VALUE(-0.26), SIMDE_FLOAT16_VALUE(-8.64),
|
||||
SIMDE_FLOAT16_VALUE(1.24), SIMDE_FLOAT16_VALUE(8.31), SIMDE_FLOAT16_VALUE(3.54), SIMDE_FLOAT16_VALUE(2.21) },
|
||||
{ { SIMDE_FLOAT16_VALUE(-1.35), SIMDE_FLOAT16_VALUE(6.47), SIMDE_FLOAT16_VALUE(-0.26), SIMDE_FLOAT16_VALUE(-8.64) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.24), SIMDE_FLOAT16_VALUE(8.31), SIMDE_FLOAT16_VALUE(3.54), SIMDE_FLOAT16_VALUE(2.21) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-6.50), SIMDE_FLOAT16_VALUE(-7.07), SIMDE_FLOAT16_VALUE(-6.76), SIMDE_FLOAT16_VALUE(7.01),
|
||||
SIMDE_FLOAT16_VALUE(1.81), SIMDE_FLOAT16_VALUE(9.02), SIMDE_FLOAT16_VALUE(3.69), SIMDE_FLOAT16_VALUE(-8.59) },
|
||||
{ { SIMDE_FLOAT16_VALUE(-6.50), SIMDE_FLOAT16_VALUE(-7.07), SIMDE_FLOAT16_VALUE(-6.76), SIMDE_FLOAT16_VALUE(7.01) },
|
||||
{ SIMDE_FLOAT16_VALUE(1.81), SIMDE_FLOAT16_VALUE(9.02), SIMDE_FLOAT16_VALUE(3.69), SIMDE_FLOAT16_VALUE(-8.59) } } },
|
||||
{ { SIMDE_FLOAT16_VALUE(-7.98), SIMDE_FLOAT16_VALUE(-1.43), SIMDE_FLOAT16_VALUE(8.33), SIMDE_FLOAT16_VALUE(-4.97),
|
||||
SIMDE_FLOAT16_VALUE(2.58), SIMDE_FLOAT16_VALUE(1.73), SIMDE_FLOAT16_VALUE(0.86), SIMDE_FLOAT16_VALUE(-9.82) },
|
||||
{ { SIMDE_FLOAT16_VALUE(-7.98), SIMDE_FLOAT16_VALUE(-1.43), SIMDE_FLOAT16_VALUE(8.33), SIMDE_FLOAT16_VALUE(-4.97) },
|
||||
{ SIMDE_FLOAT16_VALUE(2.58), SIMDE_FLOAT16_VALUE(1.73), SIMDE_FLOAT16_VALUE(0.86), SIMDE_FLOAT16_VALUE(-9.82) } } },
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_float16x4x2_t r = simde_vld1_f16_x2(test_vec[i].buf);
|
||||
simde_float16x4x2_t expected = {{
|
||||
simde_vld1_f16(test_vec[i].expected[0]),
|
||||
simde_vld1_f16(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_f16x4x2(r, expected, 1);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1_f32_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
|
|
@ -666,10 +706,251 @@ test_simde_vld1_u64_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
|||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1_p8_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
simde_poly8_t buf[16];
|
||||
simde_poly8_t expected[2][8];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_POLY8_C( 5), SIMDE_POLY8_C(165), SIMDE_POLY8_C(134), SIMDE_POLY8_C( 59), SIMDE_POLY8_C(165), SIMDE_POLY8_C( 58), SIMDE_POLY8_C( 85), SIMDE_POLY8_C(119),
|
||||
SIMDE_POLY8_C(193), SIMDE_POLY8_C( 47), SIMDE_POLY8_C(192), SIMDE_POLY8_C(188), SIMDE_POLY8_C(253), SIMDE_POLY8_C( 56), SIMDE_POLY8_C( 74), SIMDE_POLY8_C(100) },
|
||||
{ { SIMDE_POLY8_C( 5), SIMDE_POLY8_C(165), SIMDE_POLY8_C(134), SIMDE_POLY8_C( 59), SIMDE_POLY8_C(165), SIMDE_POLY8_C( 58), SIMDE_POLY8_C( 85), SIMDE_POLY8_C(119) },
|
||||
{ SIMDE_POLY8_C(193), SIMDE_POLY8_C( 47), SIMDE_POLY8_C(192), SIMDE_POLY8_C(188), SIMDE_POLY8_C(253), SIMDE_POLY8_C( 56), SIMDE_POLY8_C( 74), SIMDE_POLY8_C(100) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(250), SIMDE_POLY8_C(133), SIMDE_POLY8_C( 24), SIMDE_POLY8_C(253), SIMDE_POLY8_C(205), SIMDE_POLY8_C(173), SIMDE_POLY8_C(198), SIMDE_POLY8_C(109),
|
||||
SIMDE_POLY8_C(124), SIMDE_POLY8_C( 15), SIMDE_POLY8_C(120), SIMDE_POLY8_C(159), SIMDE_POLY8_C( 86), SIMDE_POLY8_C( 42), SIMDE_POLY8_C(227), SIMDE_POLY8_C( 91) },
|
||||
{ { SIMDE_POLY8_C(250), SIMDE_POLY8_C(133), SIMDE_POLY8_C( 24), SIMDE_POLY8_C(253), SIMDE_POLY8_C(205), SIMDE_POLY8_C(173), SIMDE_POLY8_C(198), SIMDE_POLY8_C(109) },
|
||||
{ SIMDE_POLY8_C(124), SIMDE_POLY8_C( 15), SIMDE_POLY8_C(120), SIMDE_POLY8_C(159), SIMDE_POLY8_C( 86), SIMDE_POLY8_C( 42), SIMDE_POLY8_C(227), SIMDE_POLY8_C( 91) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(207), SIMDE_POLY8_C(105), SIMDE_POLY8_C(151), SIMDE_POLY8_C(116), SIMDE_POLY8_C(164), SIMDE_POLY8_C(236), SIMDE_POLY8_C(236), SIMDE_POLY8_C(101),
|
||||
SIMDE_POLY8_C( 27), SIMDE_POLY8_C(172), SIMDE_POLY8_C( 33), SIMDE_POLY8_C( 24), SIMDE_POLY8_C(229), SIMDE_POLY8_C(108), SIMDE_POLY8_C(125), SIMDE_POLY8_C(223) },
|
||||
{ { SIMDE_POLY8_C(207), SIMDE_POLY8_C(105), SIMDE_POLY8_C(151), SIMDE_POLY8_C(116), SIMDE_POLY8_C(164), SIMDE_POLY8_C(236), SIMDE_POLY8_C(236), SIMDE_POLY8_C(101) },
|
||||
{ SIMDE_POLY8_C( 27), SIMDE_POLY8_C(172), SIMDE_POLY8_C( 33), SIMDE_POLY8_C( 24), SIMDE_POLY8_C(229), SIMDE_POLY8_C(108), SIMDE_POLY8_C(125), SIMDE_POLY8_C(223) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(241), SIMDE_POLY8_C(149), SIMDE_POLY8_C(220), SIMDE_POLY8_C(190), SIMDE_POLY8_C( 67), SIMDE_POLY8_C(163), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(191),
|
||||
SIMDE_POLY8_C(178), SIMDE_POLY8_C(164), SIMDE_POLY8_C( 94), SIMDE_POLY8_C( 8), SIMDE_POLY8_C(206), SIMDE_POLY8_C( 65), SIMDE_POLY8_C( 99), SIMDE_POLY8_C(157) },
|
||||
{ { SIMDE_POLY8_C(241), SIMDE_POLY8_C(149), SIMDE_POLY8_C(220), SIMDE_POLY8_C(190), SIMDE_POLY8_C( 67), SIMDE_POLY8_C(163), SIMDE_POLY8_C( 44), SIMDE_POLY8_C(191) },
|
||||
{ SIMDE_POLY8_C(178), SIMDE_POLY8_C(164), SIMDE_POLY8_C( 94), SIMDE_POLY8_C( 8), SIMDE_POLY8_C(206), SIMDE_POLY8_C( 65), SIMDE_POLY8_C( 99), SIMDE_POLY8_C(157) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C(171), SIMDE_POLY8_C(250), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 79), SIMDE_POLY8_C(230), SIMDE_POLY8_C(254), SIMDE_POLY8_C(180), SIMDE_POLY8_C( 2),
|
||||
SIMDE_POLY8_C(170), SIMDE_POLY8_C(214), SIMDE_POLY8_C( 26), SIMDE_POLY8_C(143), SIMDE_POLY8_C( 66), SIMDE_POLY8_C(151), SIMDE_POLY8_C(111), SIMDE_POLY8_C( 51) },
|
||||
{ { SIMDE_POLY8_C(171), SIMDE_POLY8_C(250), SIMDE_POLY8_C( 18), SIMDE_POLY8_C( 79), SIMDE_POLY8_C(230), SIMDE_POLY8_C(254), SIMDE_POLY8_C(180), SIMDE_POLY8_C( 2) },
|
||||
{ SIMDE_POLY8_C(170), SIMDE_POLY8_C(214), SIMDE_POLY8_C( 26), SIMDE_POLY8_C(143), SIMDE_POLY8_C( 66), SIMDE_POLY8_C(151), SIMDE_POLY8_C(111), SIMDE_POLY8_C( 51) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C( 45), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(241), SIMDE_POLY8_C(112), SIMDE_POLY8_C(238), SIMDE_POLY8_C( 29), SIMDE_POLY8_C( 47), SIMDE_POLY8_C(160),
|
||||
SIMDE_POLY8_C(194), SIMDE_POLY8_C(141), SIMDE_POLY8_C(168), SIMDE_POLY8_C(144), SIMDE_POLY8_C(207), SIMDE_POLY8_C( 12), SIMDE_POLY8_C( 46), SIMDE_POLY8_C(122) },
|
||||
{ { SIMDE_POLY8_C( 45), SIMDE_POLY8_C( 75), SIMDE_POLY8_C(241), SIMDE_POLY8_C(112), SIMDE_POLY8_C(238), SIMDE_POLY8_C( 29), SIMDE_POLY8_C( 47), SIMDE_POLY8_C(160) },
|
||||
{ SIMDE_POLY8_C(194), SIMDE_POLY8_C(141), SIMDE_POLY8_C(168), SIMDE_POLY8_C(144), SIMDE_POLY8_C(207), SIMDE_POLY8_C( 12), SIMDE_POLY8_C( 46), SIMDE_POLY8_C(122) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C( 6), SIMDE_POLY8_C( 64), SIMDE_POLY8_C(201), SIMDE_POLY8_C(237), SIMDE_POLY8_C( 62), SIMDE_POLY8_C(125), SIMDE_POLY8_C(239), SIMDE_POLY8_C(232),
|
||||
SIMDE_POLY8_C( 83), SIMDE_POLY8_C( 9), SIMDE_POLY8_C(120), SIMDE_POLY8_C(149), SIMDE_POLY8_C(161), SIMDE_POLY8_C(231), SIMDE_POLY8_C(200), SIMDE_POLY8_C(206) },
|
||||
{ { SIMDE_POLY8_C( 6), SIMDE_POLY8_C( 64), SIMDE_POLY8_C(201), SIMDE_POLY8_C(237), SIMDE_POLY8_C( 62), SIMDE_POLY8_C(125), SIMDE_POLY8_C(239), SIMDE_POLY8_C(232) },
|
||||
{ SIMDE_POLY8_C( 83), SIMDE_POLY8_C( 9), SIMDE_POLY8_C(120), SIMDE_POLY8_C(149), SIMDE_POLY8_C(161), SIMDE_POLY8_C(231), SIMDE_POLY8_C(200), SIMDE_POLY8_C(206) } },
|
||||
},
|
||||
{ { SIMDE_POLY8_C( 50), SIMDE_POLY8_C(186), SIMDE_POLY8_C( 62), SIMDE_POLY8_C( 33), SIMDE_POLY8_C(215), SIMDE_POLY8_C(109), SIMDE_POLY8_C(193), SIMDE_POLY8_C(153),
|
||||
SIMDE_POLY8_C(250), SIMDE_POLY8_C(106), SIMDE_POLY8_C( 42), SIMDE_POLY8_C(201), SIMDE_POLY8_C(118), SIMDE_POLY8_C( 88), SIMDE_POLY8_C( 67), SIMDE_POLY8_C(124) },
|
||||
{ { SIMDE_POLY8_C( 50), SIMDE_POLY8_C(186), SIMDE_POLY8_C( 62), SIMDE_POLY8_C( 33), SIMDE_POLY8_C(215), SIMDE_POLY8_C(109), SIMDE_POLY8_C(193), SIMDE_POLY8_C(153) },
|
||||
{ SIMDE_POLY8_C(250), SIMDE_POLY8_C(106), SIMDE_POLY8_C( 42), SIMDE_POLY8_C(201), SIMDE_POLY8_C(118), SIMDE_POLY8_C( 88), SIMDE_POLY8_C( 67), SIMDE_POLY8_C(124) } },
|
||||
},
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_poly8x8x2_t r = simde_vld1_p8_x2(test_vec[i].buf);
|
||||
simde_poly8x8x2_t expected = {{
|
||||
simde_vld1_p8(test_vec[i].expected[0]),
|
||||
simde_vld1_p8(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_p8x8x2(r, expected);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#else
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_poly8_t buf[16];
|
||||
simde_test_codegen_random_memory(16, (uint8_t*)buf);
|
||||
simde_test_codegen_write_vp8(2, 16, buf, SIMDE_TEST_VEC_POS_FIRST);
|
||||
|
||||
simde_poly8x8x2_t val = simde_vld1_p8_x2(buf);
|
||||
simde_test_arm_neon_write_p8x8x2(2, val, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1_p16_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
simde_poly16_t buf[8];
|
||||
simde_poly16_t expected[2][4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_POLY16_C(47551), SIMDE_POLY16_C(54317), SIMDE_POLY16_C(62044), SIMDE_POLY16_C(29084), SIMDE_POLY16_C(18544), SIMDE_POLY16_C(61747), SIMDE_POLY16_C( 8675), SIMDE_POLY16_C(57916) },
|
||||
{ { SIMDE_POLY16_C(47551), SIMDE_POLY16_C(54317), SIMDE_POLY16_C(62044), SIMDE_POLY16_C(29084) },
|
||||
{ SIMDE_POLY16_C(18544), SIMDE_POLY16_C(61747), SIMDE_POLY16_C( 8675), SIMDE_POLY16_C(57916) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(24947), SIMDE_POLY16_C(45001), SIMDE_POLY16_C(23930), SIMDE_POLY16_C(20630), SIMDE_POLY16_C(16303), SIMDE_POLY16_C(46453), SIMDE_POLY16_C(32937), SIMDE_POLY16_C(26751) },
|
||||
{ { SIMDE_POLY16_C(24947), SIMDE_POLY16_C(45001), SIMDE_POLY16_C(23930), SIMDE_POLY16_C(20630) },
|
||||
{ SIMDE_POLY16_C(16303), SIMDE_POLY16_C(46453), SIMDE_POLY16_C(32937), SIMDE_POLY16_C(26751) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(44089), SIMDE_POLY16_C(38204), SIMDE_POLY16_C(55454), SIMDE_POLY16_C( 3846), SIMDE_POLY16_C(14624), SIMDE_POLY16_C( 768), SIMDE_POLY16_C(15706), SIMDE_POLY16_C(52709) },
|
||||
{ { SIMDE_POLY16_C(44089), SIMDE_POLY16_C(38204), SIMDE_POLY16_C(55454), SIMDE_POLY16_C( 3846) },
|
||||
{ SIMDE_POLY16_C(14624), SIMDE_POLY16_C( 768), SIMDE_POLY16_C(15706), SIMDE_POLY16_C(52709) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(44958), SIMDE_POLY16_C( 6524), SIMDE_POLY16_C( 4876), SIMDE_POLY16_C(48233), SIMDE_POLY16_C(57170), SIMDE_POLY16_C(64625), SIMDE_POLY16_C(61535), SIMDE_POLY16_C(39268) },
|
||||
{ { SIMDE_POLY16_C(44958), SIMDE_POLY16_C( 6524), SIMDE_POLY16_C( 4876), SIMDE_POLY16_C(48233) },
|
||||
{ SIMDE_POLY16_C(57170), SIMDE_POLY16_C(64625), SIMDE_POLY16_C(61535), SIMDE_POLY16_C(39268) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(41372), SIMDE_POLY16_C(15150), SIMDE_POLY16_C(13689), SIMDE_POLY16_C(39498), SIMDE_POLY16_C(19054), SIMDE_POLY16_C(51613), SIMDE_POLY16_C(33671), SIMDE_POLY16_C( 9878) },
|
||||
{ { SIMDE_POLY16_C(41372), SIMDE_POLY16_C(15150), SIMDE_POLY16_C(13689), SIMDE_POLY16_C(39498) },
|
||||
{ SIMDE_POLY16_C(19054), SIMDE_POLY16_C(51613), SIMDE_POLY16_C(33671), SIMDE_POLY16_C( 9878) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C( 4914), SIMDE_POLY16_C(15935), SIMDE_POLY16_C(43046), SIMDE_POLY16_C(30970), SIMDE_POLY16_C(27783), SIMDE_POLY16_C(59252), SIMDE_POLY16_C(55644), SIMDE_POLY16_C(63872) },
|
||||
{ { SIMDE_POLY16_C( 4914), SIMDE_POLY16_C(15935), SIMDE_POLY16_C(43046), SIMDE_POLY16_C(30970) },
|
||||
{ SIMDE_POLY16_C(27783), SIMDE_POLY16_C(59252), SIMDE_POLY16_C(55644), SIMDE_POLY16_C(63872) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(44666), SIMDE_POLY16_C(62260), SIMDE_POLY16_C(32483), SIMDE_POLY16_C(21133), SIMDE_POLY16_C(11208), SIMDE_POLY16_C(20507), SIMDE_POLY16_C(45486), SIMDE_POLY16_C(57462) },
|
||||
{ { SIMDE_POLY16_C(44666), SIMDE_POLY16_C(62260), SIMDE_POLY16_C(32483), SIMDE_POLY16_C(21133) },
|
||||
{ SIMDE_POLY16_C(11208), SIMDE_POLY16_C(20507), SIMDE_POLY16_C(45486), SIMDE_POLY16_C(57462) } },
|
||||
},
|
||||
{ { SIMDE_POLY16_C(46532), SIMDE_POLY16_C(59934), SIMDE_POLY16_C( 6493), SIMDE_POLY16_C(58723), SIMDE_POLY16_C(55173), SIMDE_POLY16_C(57804), SIMDE_POLY16_C(19632), SIMDE_POLY16_C(10970) },
|
||||
{ { SIMDE_POLY16_C(46532), SIMDE_POLY16_C(59934), SIMDE_POLY16_C( 6493), SIMDE_POLY16_C(58723) },
|
||||
{ SIMDE_POLY16_C(55173), SIMDE_POLY16_C(57804), SIMDE_POLY16_C(19632), SIMDE_POLY16_C(10970) } },
|
||||
},
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_poly16x4x2_t r = simde_vld1_p16_x2(test_vec[i].buf);
|
||||
simde_poly16x4x2_t expected = {{
|
||||
simde_vld1_p16(test_vec[i].expected[0]),
|
||||
simde_vld1_p16(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_p16x4x2(r, expected);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#else
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_poly16_t buf[8];
|
||||
simde_test_codegen_random_memory(16, (uint8_t*)buf);
|
||||
simde_test_codegen_write_vp16(2, 8, buf, SIMDE_TEST_VEC_POS_FIRST);
|
||||
|
||||
simde_poly16x4x2_t val = simde_vld1_p16_x2(buf);
|
||||
simde_test_arm_neon_write_p16x4x2(2, val, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1_p64_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
#if 1
|
||||
static const struct {
|
||||
simde_poly64_t buf[2];
|
||||
simde_poly64_t expected[2][1];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_POLY64_C(15383104133572294193), SIMDE_POLY64_C(12987655620200218388) },
|
||||
{ { SIMDE_POLY64_C(15383104133572294193) },
|
||||
{ SIMDE_POLY64_C(12987655620200218388) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C(10574730731501449494), SIMDE_POLY64_C( 1367223886028256429) },
|
||||
{ { SIMDE_POLY64_C(10574730731501449494) },
|
||||
{ SIMDE_POLY64_C( 1367223886028256429) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 4277115794961425617), SIMDE_POLY64_C( 57162415927098910) },
|
||||
{ { SIMDE_POLY64_C( 4277115794961425617) },
|
||||
{ SIMDE_POLY64_C( 57162415927098910) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 84001952189339397), SIMDE_POLY64_C( 8797607775642865443) },
|
||||
{ { SIMDE_POLY64_C( 84001952189339397) },
|
||||
{ SIMDE_POLY64_C( 8797607775642865443) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 8514155533018659525), SIMDE_POLY64_C( 1784649289470770905) },
|
||||
{ { SIMDE_POLY64_C( 8514155533018659525) },
|
||||
{ SIMDE_POLY64_C( 1784649289470770905) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 362498959319528369), SIMDE_POLY64_C(10830349863968468777) },
|
||||
{ { SIMDE_POLY64_C( 362498959319528369) },
|
||||
{ SIMDE_POLY64_C(10830349863968468777) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 9433541109461765403), SIMDE_POLY64_C( 9427170716404775081) },
|
||||
{ { SIMDE_POLY64_C( 9433541109461765403) },
|
||||
{ SIMDE_POLY64_C( 9427170716404775081) } },
|
||||
},
|
||||
{ { SIMDE_POLY64_C( 9828137922304967804), SIMDE_POLY64_C(12278686769684901630) },
|
||||
{ { SIMDE_POLY64_C( 9828137922304967804) },
|
||||
{ SIMDE_POLY64_C(12278686769684901630) } },
|
||||
},
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_poly64x1x2_t r = simde_vld1_p64_x2(test_vec[i].buf);
|
||||
simde_poly64x1x2_t expected = {{
|
||||
simde_vld1_p64(test_vec[i].expected[0]),
|
||||
simde_vld1_p64(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_p64x1x2(r, expected);
|
||||
}
|
||||
|
||||
return 0;
|
||||
#else
|
||||
for (int i = 0 ; i < 8 ; i++) {
|
||||
simde_poly64_t buf[2];
|
||||
simde_test_codegen_random_memory(16, (uint8_t*)buf);
|
||||
simde_test_codegen_write_vp64(2, 2, buf, SIMDE_TEST_VEC_POS_FIRST);
|
||||
|
||||
simde_poly64x1x2_t val = simde_vld1_p64_x2(buf);
|
||||
simde_test_arm_neon_write_p64x1x2(2, val, SIMDE_TEST_VEC_POS_LAST);
|
||||
}
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
static int
|
||||
test_simde_vld1_bf16_x2 (SIMDE_MUNIT_TEST_ARGS) {
|
||||
struct {
|
||||
simde_bfloat16 buf[8];
|
||||
simde_bfloat16 expected[2][4];
|
||||
} test_vec[] = {
|
||||
{ { SIMDE_BFLOAT16_VALUE(3.81), SIMDE_BFLOAT16_VALUE(-2.59), SIMDE_BFLOAT16_VALUE(-2.10), SIMDE_BFLOAT16_VALUE(-4.19),
|
||||
SIMDE_BFLOAT16_VALUE(-8.46), SIMDE_BFLOAT16_VALUE(3.35), SIMDE_BFLOAT16_VALUE(-0.60), SIMDE_BFLOAT16_VALUE(-5.62) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(3.81), SIMDE_BFLOAT16_VALUE(-2.59), SIMDE_BFLOAT16_VALUE(-2.10), SIMDE_BFLOAT16_VALUE(-4.19) },
|
||||
{ SIMDE_BFLOAT16_VALUE(-8.46), SIMDE_BFLOAT16_VALUE(3.35), SIMDE_BFLOAT16_VALUE(-0.60), SIMDE_BFLOAT16_VALUE(-5.62) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(5.29), SIMDE_BFLOAT16_VALUE(2.79), SIMDE_BFLOAT16_VALUE(-5.18), SIMDE_BFLOAT16_VALUE(-2.73),
|
||||
SIMDE_BFLOAT16_VALUE(0.13), SIMDE_BFLOAT16_VALUE(-0.07), SIMDE_BFLOAT16_VALUE(-0.93), SIMDE_BFLOAT16_VALUE(-8.59) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(5.29), SIMDE_BFLOAT16_VALUE(2.79), SIMDE_BFLOAT16_VALUE(-5.18), SIMDE_BFLOAT16_VALUE(-2.73) },
|
||||
{ SIMDE_BFLOAT16_VALUE(0.13), SIMDE_BFLOAT16_VALUE(-0.07), SIMDE_BFLOAT16_VALUE(-0.93), SIMDE_BFLOAT16_VALUE(-8.59) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-1.35), SIMDE_BFLOAT16_VALUE(6.47), SIMDE_BFLOAT16_VALUE(-0.26), SIMDE_BFLOAT16_VALUE(-8.64),
|
||||
SIMDE_BFLOAT16_VALUE(1.24), SIMDE_BFLOAT16_VALUE(8.31), SIMDE_BFLOAT16_VALUE(3.54), SIMDE_BFLOAT16_VALUE(2.21) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-1.35), SIMDE_BFLOAT16_VALUE(6.47), SIMDE_BFLOAT16_VALUE(-0.26), SIMDE_BFLOAT16_VALUE(-8.64) },
|
||||
{ SIMDE_BFLOAT16_VALUE(1.24), SIMDE_BFLOAT16_VALUE(8.31), SIMDE_BFLOAT16_VALUE(3.54), SIMDE_BFLOAT16_VALUE(2.21) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-6.50), SIMDE_BFLOAT16_VALUE(-7.07), SIMDE_BFLOAT16_VALUE(-6.76), SIMDE_BFLOAT16_VALUE(7.01),
|
||||
SIMDE_BFLOAT16_VALUE(1.81), SIMDE_BFLOAT16_VALUE(9.02), SIMDE_BFLOAT16_VALUE(3.69), SIMDE_BFLOAT16_VALUE(-8.59) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-6.50), SIMDE_BFLOAT16_VALUE(-7.07), SIMDE_BFLOAT16_VALUE(-6.76), SIMDE_BFLOAT16_VALUE(7.01) },
|
||||
{ SIMDE_BFLOAT16_VALUE(1.81), SIMDE_BFLOAT16_VALUE(9.02), SIMDE_BFLOAT16_VALUE(3.69), SIMDE_BFLOAT16_VALUE(-8.59) } } },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-7.98), SIMDE_BFLOAT16_VALUE(-1.43), SIMDE_BFLOAT16_VALUE(8.33), SIMDE_BFLOAT16_VALUE(-4.97),
|
||||
SIMDE_BFLOAT16_VALUE(2.58), SIMDE_BFLOAT16_VALUE(1.73), SIMDE_BFLOAT16_VALUE(0.86), SIMDE_BFLOAT16_VALUE(-9.82) },
|
||||
{ { SIMDE_BFLOAT16_VALUE(-7.98), SIMDE_BFLOAT16_VALUE(-1.43), SIMDE_BFLOAT16_VALUE(8.33), SIMDE_BFLOAT16_VALUE(-4.97) },
|
||||
{ SIMDE_BFLOAT16_VALUE(2.58), SIMDE_BFLOAT16_VALUE(1.73), SIMDE_BFLOAT16_VALUE(0.86), SIMDE_BFLOAT16_VALUE(-9.82) } } },
|
||||
};
|
||||
|
||||
for (size_t i = 0; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||||
simde_bfloat16x4x2_t r = simde_vld1_bf16_x2(test_vec[i].buf);
|
||||
simde_bfloat16x4x2_t expected = {{
|
||||
simde_vld1_bf16(test_vec[i].expected[0]),
|
||||
simde_vld1_bf16(test_vec[i].expected[1]),
|
||||
}};
|
||||
simde_test_arm_neon_assert_equal_bf16x4x2(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(vld1_f16_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_f32_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_f64_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_s8_x2)
|
||||
|
|
@ -680,6 +961,10 @@ SIMDE_TEST_FUNC_LIST_ENTRY(vld1_u8_x2)
|
|||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_u16_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_u32_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_u64_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_p8_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_p16_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_p64_x2)
|
||||
SIMDE_TEST_FUNC_LIST_ENTRY(vld1_bf16_x2)
|
||||
#endif /* !defined(SIMDE_BUG_INTEL_857088) */
|
||||
SIMDE_TEST_FUNC_LIST_END
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue