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

@ -22,8 +22,14 @@
*/
#define SIMDE_TESTS_CURRENT_ISAX avx2
#if !defined(__clang__) && (defined(__linux__) || defined(__linux) || defined(__gnu_linux__)) && !defined(_GNU_SOURCE)
#define _GNU_SOURCE 1 // for MAP_ANONYMOUS
#endif
#include <simde/x86/avx2.h>
#include <test/x86/test-avx.h>
#if !defined(HEDLEY_MSVC_VERSION)
#include <sys/mman.h>
#endif
static int
test_simde_mm256_abs_epi8(SIMDE_MUNIT_TEST_ARGS) {
@ -4519,8 +4525,6 @@ test_simde_mm256_bslli_epi128(SIMDE_MUNIT_TEST_ARGS) {
-INT8_C( 122), INT8_C( 94), -INT8_C( 113), -INT8_C( 23), -INT8_C( 99), -INT8_C( 110), -INT8_C( 42), INT8_C( 105),
INT8_C( 5), -INT8_C( 23), -INT8_C( 24), INT8_C( 36), -INT8_C( 20), INT8_C( 8), -INT8_C( 24), INT8_C( 71),
-INT8_C( 117), INT8_C( 77), -INT8_C( 78), -INT8_C( 120), -INT8_C( 92), INT8_C( 20), INT8_C( 10), INT8_C( 64) };
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a1), 0);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e1));
const int8_t a2[32] = { INT8_C( 62), INT8_C( 94), INT8_C( 58), -INT8_C( 15), INT8_C( 92), INT8_C( 124), INT8_C( 43), -INT8_C( 58),
-INT8_C( 7), INT8_C( 63), INT8_C( 54), INT8_C( 76), -INT8_C( 88), -INT8_C( 90), -INT8_C( 2), -INT8_C( 57),
@ -4531,8 +4535,6 @@ test_simde_mm256_bslli_epi128(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( 124), INT8_C( 43), -INT8_C( 58), -INT8_C( 7), INT8_C( 63), INT8_C( 54), INT8_C( 76), -INT8_C( 88),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 73), INT8_C( 106), INT8_C( 57), INT8_C( 44), INT8_C( 105),
-INT8_C( 54), -INT8_C( 66), INT8_C( 62), -INT8_C( 71), -INT8_C( 67), -INT8_C( 106), -INT8_C( 54), INT8_C( 54) };
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a2), 3);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e2));
const int8_t a3[32] = { -INT8_C( 109), INT8_C( 56), INT8_C( 107), -INT8_C( 88), INT8_C( 124), INT8_C( 123), -INT8_C( 108), -INT8_C( 79),
INT8_C( 10), -INT8_C( 123), -INT8_C( 57), -INT8_C( 23), -INT8_C( 32), -INT8_C( 10), -INT8_C( 85), -INT8_C( 22),
@ -4543,8 +4545,6 @@ test_simde_mm256_bslli_epi128(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), -INT8_C( 109), INT8_C( 56), INT8_C( 107),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 91), -INT8_C( 91), INT8_C( 0) };
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a3), 13);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e3));
const int8_t a4[32] = { INT8_C( 74), -INT8_C( 109), -INT8_C( 57), INT8_C( 52), INT8_C( 64), -INT8_C( 101), INT8_C( 54), -INT8_C( 122),
-INT8_C( 85), INT8_MAX, -INT8_C( 106), INT8_C( 80), -INT8_C( 15), -INT8_C( 65), INT8_C( 88), INT8_C( 92),
@ -4555,8 +4555,6 @@ test_simde_mm256_bslli_epi128(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( 54), -INT8_C( 122), -INT8_C( 85), INT8_MAX, -INT8_C( 106), INT8_C( 80), -INT8_C( 15), -INT8_C( 65),
INT8_C( 0), INT8_C( 0), -INT8_C( 12), INT8_C( 103), -INT8_C( 4), -INT8_C( 36), -INT8_C( 67), -INT8_C( 101),
-INT8_C( 91), INT8_MAX, -INT8_C( 39), -INT8_C( 89), -INT8_C( 86), -INT8_C( 94), -INT8_C( 33), -INT8_C( 28) };
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a4), 2);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e4));
const int8_t a5[32] = { INT8_C( 102), -INT8_C( 9), INT8_C( 57), -INT8_C( 65), -INT8_C( 51), INT8_C( 43), -INT8_C( 30), INT8_C( 53),
INT8_C( 68), INT8_C( 76), -INT8_C( 34), -INT8_C( 69), INT8_C( 55), INT8_C( 91), -INT8_C( 101), -INT8_C( 32),
@ -4567,6 +4565,19 @@ test_simde_mm256_bslli_epi128(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0) };
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a1), 0);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e1));
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a2), 3);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e2));
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a3), 13);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e3));
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a4), 2);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e4));
r = simde_mm256_bslli_epi128(simde_x_mm256_loadu_epi8(a5), 19);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e5));
@ -4586,8 +4597,6 @@ test_simde_mm256_bsrli_epi128(SIMDE_MUNIT_TEST_ARGS) {
-INT8_C( 122), INT8_C( 94), -INT8_C( 113), -INT8_C( 23), -INT8_C( 99), -INT8_C( 110), -INT8_C( 42), INT8_C( 105),
INT8_C( 5), -INT8_C( 23), -INT8_C( 24), INT8_C( 36), -INT8_C( 20), INT8_C( 8), -INT8_C( 24), INT8_C( 71),
-INT8_C( 117), INT8_C( 77), -INT8_C( 78), -INT8_C( 120), -INT8_C( 92), INT8_C( 20), INT8_C( 10), INT8_C( 64) };
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a1), 0);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e1));
const int8_t a2[32] = { INT8_C( 16), -INT8_C( 10), -INT8_C( 116), INT8_C( 62), -INT8_C( 37), -INT8_C( 30), -INT8_C( 105), INT8_C( 80),
INT8_C( 0), -INT8_C( 81), INT8_C( 44), INT8_C( 72), -INT8_C( 47), -INT8_C( 51), INT8_C( 72), -INT8_C( 102),
@ -4598,8 +4607,6 @@ test_simde_mm256_bsrli_epi128(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( 72), -INT8_C( 47), -INT8_C( 51), INT8_C( 72), -INT8_C( 102), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 111), INT8_C( 75), -INT8_C( 3), -INT8_C( 50), -INT8_C( 67), -INT8_C( 112), -INT8_C( 59), INT8_C( 80),
INT8_C( 2), -INT8_C( 10), INT8_C( 8), -INT8_C( 72), INT8_C( 7), INT8_C( 0), INT8_C( 0), INT8_C( 0) };
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a2), 3);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e2));
const int8_t a3[32] = { -INT8_C( 90), INT8_C( 37), INT8_C( 2), INT8_C( 43), INT8_C( 12), INT8_C( 1), -INT8_C( 14), -INT8_C( 108),
-INT8_C( 108), -INT8_C( 85), INT8_C( 63), INT8_C( 117), -INT8_C( 64), INT8_C( 115), -INT8_C( 42), -INT8_C( 20),
@ -4610,8 +4617,6 @@ test_simde_mm256_bsrli_epi128(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
-INT8_C( 64), INT8_C( 14), -INT8_C( 100), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0) };
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a3), 13);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e3));
const int8_t a4[32] = { -INT8_C( 103), -INT8_C( 46), -INT8_C( 10), INT8_C( 82), -INT8_C( 74), -INT8_C( 94), -INT8_C( 122), -INT8_C( 9),
INT8_C( 105), -INT8_C( 36), -INT8_C( 46), -INT8_C( 40), -INT8_C( 102), -INT8_C( 76), INT8_C( 23), -INT8_C( 45),
@ -4622,8 +4627,6 @@ test_simde_mm256_bsrli_epi128(SIMDE_MUNIT_TEST_ARGS) {
-INT8_C( 46), -INT8_C( 40), -INT8_C( 102), -INT8_C( 76), INT8_C( 23), -INT8_C( 45), INT8_C( 0), INT8_C( 0),
INT8_C( 102), INT8_C( 124), -INT8_C( 122), INT8_C( 8), INT8_C( 49), -INT8_C( 57), -INT8_C( 70), -INT8_C( 95),
-INT8_C( 12), -INT8_C( 115), -INT8_C( 68), INT8_C( 77), INT8_C( 94), INT8_C( 85), INT8_C( 0), INT8_C( 0) };
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a4), 2);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e4));
const int8_t a5[32] = { INT8_C( 3), -INT8_C( 11), INT8_C( 13), -INT8_C( 50), INT8_C( 113), -INT8_C( 14), -INT8_C( 91), -INT8_C( 97),
-INT8_C( 82), -INT8_C( 41), -INT8_C( 48), INT8_C( 51), INT8_C( 0), INT8_C( 74), INT8_C( 95), -INT8_C( 86),
@ -4634,6 +4637,19 @@ test_simde_mm256_bsrli_epi128(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0) };
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a1), 0);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e1));
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a2), 3);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e2));
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a3), 13);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e3));
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a4), 2);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e4));
r = simde_mm256_bsrli_epi128(simde_x_mm256_loadu_epi8(a5), 19);
simde_test_x86_assert_equal_i8x32(r, simde_x_mm256_loadu_epi8(e5));
@ -7788,6 +7804,25 @@ test_simde_mm_maskload_epi32 (SIMDE_MUNIT_TEST_ARGS) {
return 0;
}
#if !defined(HEDLEY_MSVC_VERSION)
static int
test_simde_mm_maskload_epi32_no_illegal_memory_access (SIMDE_MUNIT_TEST_ARGS) {
// ref: https://github.com/simd-everywhere/simde/issues/998
// make sure maskload never accesses memory for masked out regions
// will segfault in case memory is accessed
#if defined(_GNU_SOURCE)
int32_t *ptr = HEDLEY_STATIC_CAST(int32_t *, mmap(NULL, 4 * sizeof(int32_t), PROT_NONE , MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
#else
int32_t *ptr = HEDLEY_STATIC_CAST(int32_t *, mmap(NULL, 4 * sizeof(int32_t), PROT_NONE , MAP_PRIVATE, -1, 0));
#endif
const simde__m128i mask = simde_mm_set_epi32(0, 0, 0, 0);
simde__m128i test = simde_mm_maskload_epi32(ptr, mask);
int32_t r[4] = { INT32_C(0), INT32_C(0), INT32_C(0), INT32_C(0) };
simde_test_x86_assert_equal_i32x4(test, simde_mm_loadu_epi32(r));
return 0;
}
#endif
static int
test_simde_mm256_maskload_epi32 (SIMDE_MUNIT_TEST_ARGS) {
static const struct {
@ -7830,6 +7865,26 @@ test_simde_mm256_maskload_epi32 (SIMDE_MUNIT_TEST_ARGS) {
return 0;
}
#if !defined(HEDLEY_MSVC_VERSION)
static int
test_simde_mm256_maskload_epi32_no_illegal_memory_access (SIMDE_MUNIT_TEST_ARGS) {
// ref: https://github.com/simd-everywhere/simde/issues/998
// make sure maskload never accesses memory for masked out regions
// will segfault in case memory is accessed
#if defined(_GNU_SOURCE)
int32_t *ptr = HEDLEY_STATIC_CAST(int32_t *, mmap(NULL, 8 * sizeof(int32_t), PROT_NONE , MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
#else
int32_t *ptr = HEDLEY_STATIC_CAST(int32_t *, mmap(NULL, 8 * sizeof(int32_t), PROT_NONE , MAP_PRIVATE, -1, 0));
#endif
const simde__m256i mask = simde_mm256_set_epi32(0, 0, 0, 0, 0, 0, 0, 0);
simde__m256i test = simde_mm256_maskload_epi32(ptr, mask);
int32_t r[8] = { INT32_C(0), INT32_C(0), INT32_C(0), INT32_C(0),
INT32_C(0), INT32_C(0), INT32_C(0), INT32_C(0)};
simde_test_x86_assert_equal_i32x8(test, simde_mm256_loadu_epi32(r));
return 0;
}
#endif
static int
test_simde_mm_maskload_epi64 (SIMDE_MUNIT_TEST_ARGS) {
static const struct {
@ -7877,6 +7932,30 @@ test_simde_mm_maskload_epi64 (SIMDE_MUNIT_TEST_ARGS) {
return 0;
}
#if !defined(HEDLEY_MSVC_VERSION)
static int
test_simde_mm_maskload_epi64_no_illegal_memory_access (SIMDE_MUNIT_TEST_ARGS) {
// ref: https://github.com/simd-everywhere/simde/issues/998
// make sure maskload never accesses memory for masked out regions
// will segfault in case memory is accessed
#if defined(_GNU_SOURCE)
int64_t *ptr = HEDLEY_STATIC_CAST(int64_t *, mmap(NULL, 2 * sizeof(int64_t), PROT_NONE , MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
#else
int64_t *ptr = HEDLEY_STATIC_CAST(int64_t *, mmap(NULL, 2 * sizeof(int64_t), PROT_NONE , MAP_PRIVATE, -1, 0));
#endif
const simde__m128i mask = simde_mm_set_epi64x(INT64_C(0), INT64_C(0));
simde__m128i test;
int64_t r[2] = { INT64_C(0), INT64_C(0) };
#if defined(SIMDE_X86_AVX2_NATIVE) && defined(SIMDE_NATIVE_ALIASES_TESTING)
test = simde_mm_maskload_epi64(HEDLEY_REINTERPRET_CAST(const long long *, ptr), mask);
#else
test = simde_mm_maskload_epi64(ptr, mask);
#endif
simde_test_x86_assert_equal_i64x2(test, simde_x_mm_loadu_epi64(r));
return 0;
}
#endif
static int
test_simde_mm256_maskload_epi64 (SIMDE_MUNIT_TEST_ARGS) {
static const struct {
@ -7924,6 +8003,30 @@ test_simde_mm256_maskload_epi64 (SIMDE_MUNIT_TEST_ARGS) {
return 0;
}
#if !defined(HEDLEY_MSVC_VERSION)
static int
test_simde_mm256_maskload_epi64_no_illegal_memory_access (SIMDE_MUNIT_TEST_ARGS) {
// ref: https://github.com/simd-everywhere/simde/issues/998
// make sure maskload never accesses memory for masked out regions
// will segfault in case memory is accessed
#if defined(_GNU_SOURCE)
int64_t *ptr = HEDLEY_STATIC_CAST(int64_t *, mmap(NULL, 4 * sizeof(int64_t), PROT_NONE , MAP_PRIVATE | MAP_ANONYMOUS, -1, 0));
#else
int64_t *ptr = HEDLEY_STATIC_CAST(int64_t *, mmap(NULL, 4 * sizeof(int64_t), PROT_NONE , MAP_PRIVATE, -1, 0));
#endif
const simde__m256i mask = simde_mm256_set_epi64x(INT64_C(0), INT64_C(0), INT64_C(0), INT64_C(0));
simde__m256i test;
int64_t r[4] = { INT64_C(0), INT64_C(0), INT64_C(0), INT64_C(0) };
#if defined(SIMDE_X86_AVX2_NATIVE) && defined(SIMDE_NATIVE_ALIASES_TESTING)
test = simde_mm256_maskload_epi64(HEDLEY_REINTERPRET_CAST(const long long *, ptr), mask);
#else
test = simde_mm256_maskload_epi64(ptr, mask);
#endif
simde_test_x86_assert_equal_i64x4(test, simde_x_mm256_loadu_epi64(r));
return 0;
}
#endif
static int
test_simde_mm_maskstore_epi32 (SIMDE_MUNIT_TEST_ARGS) {
static const struct {
@ -10949,7 +11052,7 @@ test_simde_mm256_sign_epi8(SIMDE_MUNIT_TEST_ARGS) {
simde__m256i a;
simde__m256i b;
simde__m256i r;
} test_vec[8] = {
} test_vec[9] = {
{ simde_mm256_set_epi8(INT8_C(-124), INT8_C( -48), INT8_C( 10), INT8_C( 63),
INT8_C( -84), INT8_C( 103), INT8_C( -14), INT8_C( 63),
INT8_C( 82), INT8_C( -68), INT8_C( -17), INT8_C( 117),
@ -11141,7 +11244,31 @@ test_simde_mm256_sign_epi8(SIMDE_MUNIT_TEST_ARGS) {
INT8_C( -21), INT8_C(-125), INT8_C(-128), INT8_C( -30),
INT8_C( -87), INT8_C( -46), INT8_C( -21), INT8_C( -69),
INT8_C( 4), INT8_C( -15), INT8_C( 17), INT8_C( -95),
INT8_C( 7), INT8_C( 32), INT8_C( 93), INT8_C( -95)) }
INT8_C( 7), INT8_C( 32), INT8_C( 93), INT8_C( -95)) },
{ simde_mm256_set_epi8(INT8_C( -49), INT8_C(-106), INT8_C( 23), INT8_C( 37),
INT8_C( -87), INT8_C( 105), INT8_C( 66), INT8_C( -47),
INT8_C(-100), INT8_C( -77), INT8_C(-123), INT8_C( -73),
INT8_C( -4), INT8_C( -48), INT8_C( 97), INT8_C( -78),
INT8_C( 21), INT8_C( 125), INT8_C(-128), INT8_C( 30),
INT8_C( -87), INT8_C( 46), INT8_C( -21), INT8_C( -69),
INT8_C( -4), INT8_C( 15), INT8_C( -17), INT8_C( -95),
INT8_C( 7), INT8_C( 32), INT8_C( 93), INT8_C( -95)),
simde_mm256_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0)),
simde_mm256_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
@ -11158,7 +11285,7 @@ test_simde_mm256_sign_epi16(SIMDE_MUNIT_TEST_ARGS) {
simde__m256i a;
simde__m256i b;
simde__m256i r;
} test_vec[8] = {
} test_vec[9] = {
{ simde_mm256_set_epi16(INT16_C(-31536), INT16_C( 2623), INT16_C(-21401), INT16_C( -3521),
INT16_C( 21180), INT16_C( -4235), INT16_C(-20328), INT16_C( 9531),
INT16_C( 30987), INT16_C( -4902), INT16_C( 9409), INT16_C(-22567),
@ -11254,7 +11381,19 @@ test_simde_mm256_sign_epi16(SIMDE_MUNIT_TEST_ARGS) {
simde_mm256_set_epi16(INT16_C(-12394), INT16_C( 5925), INT16_C(-22167), INT16_C( 17105),
INT16_C(-25421), INT16_C( 31305), INT16_C( -816), INT16_C( 25010),
INT16_C( -5501), INT16_C( 32738), INT16_C(-22226), INT16_C( -5189),
INT16_C( 1009), INT16_C( 4191), INT16_C( 1824), INT16_C( 23969)) }
INT16_C( 1009), INT16_C( 4191), INT16_C( 1824), INT16_C( 23969)) },
{ simde_mm256_set_epi16(INT16_C(-12394), INT16_C( 5925), INT16_C(-22167), INT16_C( 17105),
INT16_C(-25421), INT16_C(-31305), INT16_C( -816), INT16_C( 25010),
INT16_C( 5501), INT16_C(-32738), INT16_C(-22226), INT16_C( -5189),
INT16_C( -1009), INT16_C( -4191), INT16_C( 1824), INT16_C( 23969)),
simde_mm256_set_epi16(INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0)),
simde_mm256_set_epi16(INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
@ -11271,7 +11410,7 @@ test_simde_mm256_sign_epi32(SIMDE_MUNIT_TEST_ARGS) {
simde__m256i a;
simde__m256i b;
simde__m256i r;
} test_vec[8] = {
} test_vec[9] = {
{ simde_mm256_set_epi32(INT32_C(-2066740673), INT32_C(-1402473921), INT32_C( 1388113781), INT32_C(-1332206277),
INT32_C( 2030824666), INT32_C( 616671193), INT32_C( 1932233736), INT32_C(-1125047369)),
simde_mm256_set_epi32(INT32_C( 1087531093), INT32_C(-1100485211), INT32_C(-1940507046), INT32_C(-2139586601),
@ -11319,7 +11458,13 @@ test_simde_mm256_sign_epi32(SIMDE_MUNIT_TEST_ARGS) {
simde_mm256_set_epi32(INT32_C( 456989201), INT32_C( 1847805633), INT32_C( 867291466), INT32_C( 738688453),
INT32_C( -424228374), INT32_C( 316154238), INT32_C(-2114026673), INT32_C( 1896771861)),
simde_mm256_set_epi32(INT32_C( -812247259), INT32_C(-1452719407), INT32_C(-1665956425), INT32_C( -53452366),
INT32_C( -360546334), INT32_C(-1456542789), INT32_C( 66064479), INT32_C( 119561633)) }
INT32_C( -360546334), INT32_C(-1456542789), INT32_C( 66064479), INT32_C( 119561633)) },
{ simde_mm256_set_epi32(INT32_C( -812247259), INT32_C(-1452719407), INT32_C(-1665956425), INT32_C( -53452366),
INT32_C( 360546334), INT32_C(-1456542789), INT32_C( -66064479), INT32_C( 119561633)),
simde_mm256_set_epi32(INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0),
INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0)),
simde_mm256_set_epi32(INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0),
INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
@ -16630,6 +16775,13 @@ SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(mm_maskload_epi64)
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_maskload_epi64)
#if !defined(HEDLEY_MSVC_VERSION)
SIMDE_TEST_FUNC_LIST_ENTRY(mm_maskload_epi32_no_illegal_memory_access)
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_maskload_epi32_no_illegal_memory_access)
SIMDE_TEST_FUNC_LIST_ENTRY(mm_maskload_epi64_no_illegal_memory_access)
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_maskload_epi64_no_illegal_memory_access)
#endif
SIMDE_TEST_FUNC_LIST_ENTRY(mm_maskstore_epi32)
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_maskstore_epi32)
SIMDE_TEST_FUNC_LIST_ENTRY(mm_maskstore_epi64)