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
196
thirdparty/simde/test/x86/avx2.c
vendored
196
thirdparty/simde/test/x86/avx2.c
vendored
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue