1564 lines
110 KiB
C
1564 lines
110 KiB
C
|
|
/* SPDX-License-Identifier: MIT
|
||
|
|
*
|
||
|
|
* Permission is hereby granted, free of charge, to any person
|
||
|
|
* obtaining a copy of this software and associated documentation
|
||
|
|
* files (the "Software"), to deal in the Software without
|
||
|
|
* restriction, including without limitation the rights to use, copy,
|
||
|
|
* modify, merge, publish, distribute, sublicense, and/or sell copies
|
||
|
|
* of the Software, and to permit persons to whom the Software is
|
||
|
|
* furnished to do so, subject to the following conditions:
|
||
|
|
*
|
||
|
|
* The above copyright notice and this permission notice shall be
|
||
|
|
* included in all copies or substantial portions of the Software.
|
||
|
|
*
|
||
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||
|
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
|
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||
|
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
||
|
|
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||
|
|
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||
|
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||
|
|
* SOFTWARE.
|
||
|
|
*
|
||
|
|
* Copyright:
|
||
|
|
* 2020 Evan Nemerson <evan@nemerson.com>
|
||
|
|
* 2020 Himanshi Mathur <himanshi18037@iiitd.ac.in>
|
||
|
|
*/
|
||
|
|
|
||
|
|
#define SIMDE_TEST_X86_AVX512_INSN set1
|
||
|
|
|
||
|
|
#include <test/x86/avx512/test-avx512.h>
|
||
|
|
#include <simde/x86/avx512/set1.h>
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_set1_ps (SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
#if 1
|
||
|
|
static const struct {
|
||
|
|
const simde_float32 a;
|
||
|
|
const simde_float32 r[16];
|
||
|
|
} test_vec[] = {
|
||
|
|
{ SIMDE_FLOAT32_C( -130.28),
|
||
|
|
{ SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28),
|
||
|
|
SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28),
|
||
|
|
SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28),
|
||
|
|
SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28), SIMDE_FLOAT32_C( -130.28) } },
|
||
|
|
{ SIMDE_FLOAT32_C( 996.56),
|
||
|
|
{ SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56),
|
||
|
|
SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56),
|
||
|
|
SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56),
|
||
|
|
SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56), SIMDE_FLOAT32_C( 996.56) } },
|
||
|
|
{ SIMDE_FLOAT32_C( -437.56),
|
||
|
|
{ SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56),
|
||
|
|
SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56),
|
||
|
|
SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56),
|
||
|
|
SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56), SIMDE_FLOAT32_C( -437.56) } },
|
||
|
|
{ SIMDE_FLOAT32_C( -653.34),
|
||
|
|
{ SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34),
|
||
|
|
SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34),
|
||
|
|
SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34),
|
||
|
|
SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34), SIMDE_FLOAT32_C( -653.34) } },
|
||
|
|
{ SIMDE_FLOAT32_C( -547.09),
|
||
|
|
{ SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09),
|
||
|
|
SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09),
|
||
|
|
SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09),
|
||
|
|
SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09), SIMDE_FLOAT32_C( -547.09) } },
|
||
|
|
{ SIMDE_FLOAT32_C( -670.08),
|
||
|
|
{ SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08),
|
||
|
|
SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08),
|
||
|
|
SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08),
|
||
|
|
SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08), SIMDE_FLOAT32_C( -670.08) } },
|
||
|
|
{ SIMDE_FLOAT32_C( -380.10),
|
||
|
|
{ SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10),
|
||
|
|
SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10),
|
||
|
|
SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10),
|
||
|
|
SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10), SIMDE_FLOAT32_C( -380.10) } },
|
||
|
|
{ SIMDE_FLOAT32_C( -89.44),
|
||
|
|
{ SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44),
|
||
|
|
SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44),
|
||
|
|
SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44),
|
||
|
|
SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44), SIMDE_FLOAT32_C( -89.44) } }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
|
||
|
|
simde__m512 r = simde_mm512_set1_ps(test_vec[i].a);
|
||
|
|
simde_test_x86_assert_equal_f32x16(r, simde_mm512_loadu_ps(test_vec[i].r), 1);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
#else
|
||
|
|
fputc('\n', stdout);
|
||
|
|
for (int i = 0 ; i < 8 ; i++) {
|
||
|
|
simde_float32 a = simde_test_codegen_random_f32(SIMDE_FLOAT32_C(-1000.0), SIMDE_FLOAT32_C(1000.0));
|
||
|
|
simde__m512 r = simde_mm512_set1_ps(a);
|
||
|
|
|
||
|
|
simde_test_codegen_write_f32(2, a, SIMDE_TEST_VEC_POS_FIRST);
|
||
|
|
simde_test_x86_write_f32x16(2, r, SIMDE_TEST_VEC_POS_LAST);
|
||
|
|
}
|
||
|
|
return 1;
|
||
|
|
#endif
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_set1_pd(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde_float64 a;
|
||
|
|
simde__m512d r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ SIMDE_FLOAT64_C( -426.34),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( -426.34), SIMDE_FLOAT64_C( -426.34),
|
||
|
|
SIMDE_FLOAT64_C( -426.34), SIMDE_FLOAT64_C( -426.34),
|
||
|
|
SIMDE_FLOAT64_C( -426.34), SIMDE_FLOAT64_C( -426.34),
|
||
|
|
SIMDE_FLOAT64_C( -426.34), SIMDE_FLOAT64_C( -426.34)) },
|
||
|
|
{ SIMDE_FLOAT64_C( 122.65),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( 122.65), SIMDE_FLOAT64_C( 122.65),
|
||
|
|
SIMDE_FLOAT64_C( 122.65), SIMDE_FLOAT64_C( 122.65),
|
||
|
|
SIMDE_FLOAT64_C( 122.65), SIMDE_FLOAT64_C( 122.65),
|
||
|
|
SIMDE_FLOAT64_C( 122.65), SIMDE_FLOAT64_C( 122.65)) },
|
||
|
|
{ SIMDE_FLOAT64_C( 879.85),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( 879.85), SIMDE_FLOAT64_C( 879.85),
|
||
|
|
SIMDE_FLOAT64_C( 879.85), SIMDE_FLOAT64_C( 879.85),
|
||
|
|
SIMDE_FLOAT64_C( 879.85), SIMDE_FLOAT64_C( 879.85),
|
||
|
|
SIMDE_FLOAT64_C( 879.85), SIMDE_FLOAT64_C( 879.85)) },
|
||
|
|
{ SIMDE_FLOAT64_C( 301.17),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( 301.17), SIMDE_FLOAT64_C( 301.17),
|
||
|
|
SIMDE_FLOAT64_C( 301.17), SIMDE_FLOAT64_C( 301.17),
|
||
|
|
SIMDE_FLOAT64_C( 301.17), SIMDE_FLOAT64_C( 301.17),
|
||
|
|
SIMDE_FLOAT64_C( 301.17), SIMDE_FLOAT64_C( 301.17)) },
|
||
|
|
{ SIMDE_FLOAT64_C( -341.96),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( -341.96), SIMDE_FLOAT64_C( -341.96),
|
||
|
|
SIMDE_FLOAT64_C( -341.96), SIMDE_FLOAT64_C( -341.96),
|
||
|
|
SIMDE_FLOAT64_C( -341.96), SIMDE_FLOAT64_C( -341.96),
|
||
|
|
SIMDE_FLOAT64_C( -341.96), SIMDE_FLOAT64_C( -341.96)) },
|
||
|
|
{ SIMDE_FLOAT64_C( -854.60),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( -854.60), SIMDE_FLOAT64_C( -854.60),
|
||
|
|
SIMDE_FLOAT64_C( -854.60), SIMDE_FLOAT64_C( -854.60),
|
||
|
|
SIMDE_FLOAT64_C( -854.60), SIMDE_FLOAT64_C( -854.60),
|
||
|
|
SIMDE_FLOAT64_C( -854.60), SIMDE_FLOAT64_C( -854.60)) },
|
||
|
|
{ SIMDE_FLOAT64_C( 711.48),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( 711.48), SIMDE_FLOAT64_C( 711.48),
|
||
|
|
SIMDE_FLOAT64_C( 711.48), SIMDE_FLOAT64_C( 711.48),
|
||
|
|
SIMDE_FLOAT64_C( 711.48), SIMDE_FLOAT64_C( 711.48),
|
||
|
|
SIMDE_FLOAT64_C( 711.48), SIMDE_FLOAT64_C( 711.48)) },
|
||
|
|
{ SIMDE_FLOAT64_C( -146.85),
|
||
|
|
simde_mm512_set_pd(SIMDE_FLOAT64_C( -146.85), SIMDE_FLOAT64_C( -146.85),
|
||
|
|
SIMDE_FLOAT64_C( -146.85), SIMDE_FLOAT64_C( -146.85),
|
||
|
|
SIMDE_FLOAT64_C( -146.85), SIMDE_FLOAT64_C( -146.85),
|
||
|
|
SIMDE_FLOAT64_C( -146.85), SIMDE_FLOAT64_C( -146.85)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512d r = simde_mm512_set1_pd(test_vec[i].a);
|
||
|
|
simde_assert_m512d_close(r, test_vec[i].r, 1);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_set1_epi8(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
int8_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ 15,
|
||
|
|
simde_mm512_set_epi8(INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15),
|
||
|
|
INT8_C( 15), INT8_C( 15), INT8_C( 15), INT8_C( 15)) },
|
||
|
|
{ 124,
|
||
|
|
simde_mm512_set_epi8(INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124),
|
||
|
|
INT8_C( 124), INT8_C( 124), INT8_C( 124), INT8_C( 124)) },
|
||
|
|
{ -93,
|
||
|
|
simde_mm512_set_epi8(INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93),
|
||
|
|
INT8_C( -93), INT8_C( -93), INT8_C( -93), INT8_C( -93)) },
|
||
|
|
{ 121,
|
||
|
|
simde_mm512_set_epi8(INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121),
|
||
|
|
INT8_C( 121), INT8_C( 121), INT8_C( 121), INT8_C( 121)) },
|
||
|
|
{ 117,
|
||
|
|
simde_mm512_set_epi8(INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117),
|
||
|
|
INT8_C( 117), INT8_C( 117), INT8_C( 117), INT8_C( 117)) },
|
||
|
|
{ 93,
|
||
|
|
simde_mm512_set_epi8(INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93),
|
||
|
|
INT8_C( 93), INT8_C( 93), INT8_C( 93), INT8_C( 93)) },
|
||
|
|
{ 88,
|
||
|
|
simde_mm512_set_epi8(INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88),
|
||
|
|
INT8_C( 88), INT8_C( 88), INT8_C( 88), INT8_C( 88)) },
|
||
|
|
{ -73,
|
||
|
|
simde_mm512_set_epi8(INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_set1_epi8(test_vec[i].a);
|
||
|
|
simde_assert_m512i_i8(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_mask_set1_epi8(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__m512i src;
|
||
|
|
simde__mmask64 k;
|
||
|
|
int8_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ simde_mm512_set_epi8(INT8_C( 80), INT8_C( 13), INT8_C( -86), INT8_C( 103),
|
||
|
|
INT8_C( 30), INT8_C( 88), INT8_C( -63), INT8_C( -16),
|
||
|
|
INT8_C( -68), INT8_C( -20), INT8_C( 48), INT8_C( -36),
|
||
|
|
INT8_C( -97), INT8_C(-103), INT8_C(-104), INT8_C( -61),
|
||
|
|
INT8_C(-122), INT8_C( -83), INT8_C( -3), INT8_C(-115),
|
||
|
|
INT8_C( 29), INT8_C(-112), INT8_C( 118), INT8_C( 53),
|
||
|
|
INT8_C(-107), INT8_C(-126), INT8_C( 41), INT8_C(-117),
|
||
|
|
INT8_C( -4), INT8_C( -72), INT8_C( -9), INT8_C( 2),
|
||
|
|
INT8_C( 10), INT8_C( -61), INT8_C( 116), INT8_C( 1),
|
||
|
|
INT8_C( 35), INT8_C( -78), INT8_C( 17), INT8_C( -82),
|
||
|
|
INT8_C( -14), INT8_C( 120), INT8_C( 120), INT8_C( 33),
|
||
|
|
INT8_C( 97), INT8_C( 4), INT8_C(-104), INT8_C( 67),
|
||
|
|
INT8_C( -86), INT8_C( -90), INT8_C( -95), INT8_C( 51),
|
||
|
|
INT8_C( -83), INT8_C(-120), INT8_C( 123), INT8_C( -4),
|
||
|
|
INT8_C( 51), INT8_C( -66), INT8_C( -91), INT8_C( 51),
|
||
|
|
INT8_C( -1), INT8_C( 32), INT8_C( 30), INT8_C( 92)),
|
||
|
|
UINT64_C(12701675613368776088),
|
||
|
|
INT8_C( -94),
|
||
|
|
simde_mm512_set_epi8(INT8_C( -94), INT8_C( 13), INT8_C( -94), INT8_C( -94),
|
||
|
|
INT8_C( 30), INT8_C( 88), INT8_C( -63), INT8_C( -16),
|
||
|
|
INT8_C( -68), INT8_C( -94), INT8_C( 48), INT8_C( -36),
|
||
|
|
INT8_C( -97), INT8_C( -94), INT8_C(-104), INT8_C( -94),
|
||
|
|
INT8_C(-122), INT8_C( -94), INT8_C( -94), INT8_C(-115),
|
||
|
|
INT8_C( -94), INT8_C(-112), INT8_C( -94), INT8_C( 53),
|
||
|
|
INT8_C( -94), INT8_C(-126), INT8_C( -94), INT8_C(-117),
|
||
|
|
INT8_C( -94), INT8_C( -94), INT8_C( -9), INT8_C( 2),
|
||
|
|
INT8_C( -94), INT8_C( -61), INT8_C( 116), INT8_C( 1),
|
||
|
|
INT8_C( -94), INT8_C( -78), INT8_C( -94), INT8_C( -94),
|
||
|
|
INT8_C( -14), INT8_C( 120), INT8_C( 120), INT8_C( -94),
|
||
|
|
INT8_C( 97), INT8_C( -94), INT8_C( -94), INT8_C( 67),
|
||
|
|
INT8_C( -86), INT8_C( -94), INT8_C( -94), INT8_C( -94),
|
||
|
|
INT8_C( -83), INT8_C( -94), INT8_C( 123), INT8_C( -94),
|
||
|
|
INT8_C( -94), INT8_C( -66), INT8_C( -91), INT8_C( -94),
|
||
|
|
INT8_C( -94), INT8_C( 32), INT8_C( 30), INT8_C( 92)) },
|
||
|
|
{ simde_mm512_set_epi8(INT8_C( -64), INT8_C( -80), INT8_C( 33), INT8_C( -9),
|
||
|
|
INT8_C( 3), INT8_C( 93), INT8_C( 13), INT8_C( -28),
|
||
|
|
INT8_C( 79), INT8_C( 10), INT8_C( -42), INT8_C(-127),
|
||
|
|
INT8_C( 114), INT8_C( 78), INT8_C( 61), INT8_C( 67),
|
||
|
|
INT8_C( 95), INT8_C( 14), INT8_C( 28), INT8_C( 56),
|
||
|
|
INT8_C( 43), INT8_C( -20), INT8_C( -77), INT8_C( 83),
|
||
|
|
INT8_C( -68), INT8_C( 87), INT8_C( -96), INT8_C( 13),
|
||
|
|
INT8_C( 40), INT8_C( 107), INT8_C( -63), INT8_C( -1),
|
||
|
|
INT8_C( 77), INT8_C( 21), INT8_C( -46), INT8_C( -12),
|
||
|
|
INT8_C( 42), INT8_C( 69), INT8_C( 51), INT8_C( 11),
|
||
|
|
INT8_C(-120), INT8_C( 65), INT8_C( -70), INT8_C( -19),
|
||
|
|
INT8_C( -95), INT8_C( 43), INT8_C( -2), INT8_C( -62),
|
||
|
|
INT8_C( -16), INT8_C( 28), INT8_C( 29), INT8_C( -11),
|
||
|
|
INT8_C( 17), INT8_C( -18), INT8_C( 105), INT8_C(-119),
|
||
|
|
INT8_C( 60), INT8_C( 120), INT8_C( 38), INT8_C( -41),
|
||
|
|
INT8_C( 20), INT8_C( -30), INT8_C( 15), INT8_C( 112)),
|
||
|
|
UINT64_C(15052494645983188959),
|
||
|
|
INT8_C( -73),
|
||
|
|
simde_mm512_set_epi8(INT8_C( -73), INT8_C( -73), INT8_C( 33), INT8_C( -73),
|
||
|
|
INT8_C( 3), INT8_C( 93), INT8_C( 13), INT8_C( -28),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C(-127),
|
||
|
|
INT8_C( 114), INT8_C( -73), INT8_C( 61), INT8_C( -73),
|
||
|
|
INT8_C( 95), INT8_C( 14), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( 43), INT8_C( -73), INT8_C( -77), INT8_C( 83),
|
||
|
|
INT8_C( -68), INT8_C( 87), INT8_C( -73), INT8_C( 13),
|
||
|
|
INT8_C( 40), INT8_C( 107), INT8_C( -63), INT8_C( -73),
|
||
|
|
INT8_C( 77), INT8_C( 21), INT8_C( -46), INT8_C( -12),
|
||
|
|
INT8_C( 42), INT8_C( -73), INT8_C( 51), INT8_C( -73),
|
||
|
|
INT8_C(-120), INT8_C( -73), INT8_C( -70), INT8_C( -19),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -2), INT8_C( -62),
|
||
|
|
INT8_C( -16), INT8_C( 28), INT8_C( 29), INT8_C( -73),
|
||
|
|
INT8_C( 17), INT8_C( -73), INT8_C( -73), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( 38), INT8_C( -73),
|
||
|
|
INT8_C( -73), INT8_C( -73), INT8_C( -73), INT8_C( -73)) },
|
||
|
|
{ simde_mm512_set_epi8(INT8_C( 107), INT8_C( 126), INT8_C( -33), INT8_C( 83),
|
||
|
|
INT8_C( 46), INT8_C( 62), INT8_C( -81), INT8_C( 33),
|
||
|
|
INT8_C( -68), INT8_C(-126), INT8_C( -41), INT8_C( 125),
|
||
|
|
INT8_C( -96), INT8_C( -20), INT8_C( 62), INT8_C( -19),
|
||
|
|
INT8_C( 29), INT8_C( -96), INT8_C( 68), INT8_C( 119),
|
||
|
|
INT8_C( -36), INT8_C( -62), INT8_C( -27), INT8_C(-112),
|
||
|
|
INT8_C(-123), INT8_C( 55), INT8_C(-119), INT8_C( -4),
|
||
|
|
INT8_C( 58), INT8_C( 28), INT8_C( -84), INT8_C( -38),
|
||
|
|
INT8_C( 1), INT8_C( -25), INT8_C( 107), INT8_C( -63),
|
||
|
|
INT8_C( -86), INT8_C( 88), INT8_C( 36), INT8_C( 53),
|
||
|
|
INT8_C( 109), INT8_C( -36), INT8_C( -70), INT8_C(-125),
|
||
|
|
INT8_C( -3), INT8_C(-109), INT8_C( 121), INT8_C( -63),
|
||
|
|
INT8_C( 113), INT8_C( -92), INT8_C( -4), INT8_C(-105),
|
||
|
|
INT8_C( -65), INT8_C( 26), INT8_C( -36), INT8_C( 87),
|
||
|
|
INT8_C(-101), INT8_C( -70), INT8_C( -3), INT8_C( 26),
|
||
|
|
INT8_C( -88), INT8_C( -51), INT8_C(-123), INT8_C( 93)),
|
||
|
|
UINT64_C( 2985661334514035835),
|
||
|
|
INT8_C( 111),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 107), INT8_C( 126), INT8_C( 111), INT8_C( 83),
|
||
|
|
INT8_C( 111), INT8_C( 62), INT8_C( -81), INT8_C( 111),
|
||
|
|
INT8_C( -68), INT8_C( 111), INT8_C( 111), INT8_C( 125),
|
||
|
|
INT8_C( 111), INT8_C( 111), INT8_C( 111), INT8_C( 111),
|
||
|
|
INT8_C( 29), INT8_C( -96), INT8_C( 111), INT8_C( 111),
|
||
|
|
INT8_C( -36), INT8_C( -62), INT8_C( 111), INT8_C( 111),
|
||
|
|
INT8_C(-123), INT8_C( 55), INT8_C( 111), INT8_C( -4),
|
||
|
|
INT8_C( 111), INT8_C( 28), INT8_C( 111), INT8_C( -38),
|
||
|
|
INT8_C( 1), INT8_C( -25), INT8_C( 111), INT8_C( 111),
|
||
|
|
INT8_C( 111), INT8_C( 111), INT8_C( 111), INT8_C( 111),
|
||
|
|
INT8_C( 109), INT8_C( 111), INT8_C( -70), INT8_C( 111),
|
||
|
|
INT8_C( -3), INT8_C(-109), INT8_C( 111), INT8_C( 111),
|
||
|
|
INT8_C( 111), INT8_C( 111), INT8_C( 111), INT8_C(-105),
|
||
|
|
INT8_C( 111), INT8_C( 111), INT8_C( -36), INT8_C( 87),
|
||
|
|
INT8_C(-101), INT8_C( 111), INT8_C( 111), INT8_C( 111),
|
||
|
|
INT8_C( 111), INT8_C( -51), INT8_C( 111), INT8_C( 111)) },
|
||
|
|
{ simde_mm512_set_epi8(INT8_C( -63), INT8_C( 92), INT8_C( -41), INT8_C( -80),
|
||
|
|
INT8_C(-101), INT8_C( 86), INT8_C( 45), INT8_C( 45),
|
||
|
|
INT8_C( -41), INT8_C(-113), INT8_C( -17), INT8_C(-101),
|
||
|
|
INT8_C(-113), INT8_C( -69), INT8_C( 73), INT8_C(-124),
|
||
|
|
INT8_C( 90), INT8_C(-118), INT8_C( 31), INT8_C(-124),
|
||
|
|
INT8_C( -88), INT8_C(-116), INT8_C( 8), INT8_C( -37),
|
||
|
|
INT8_C( -41), INT8_C( 93), INT8_C( -86), INT8_C( 61),
|
||
|
|
INT8_C( -70), INT8_C( -88), INT8_C( 44), INT8_C( -34),
|
||
|
|
INT8_C( -21), INT8_C(-121), INT8_C(-124), INT8_C(-114),
|
||
|
|
INT8_C( 73), INT8_C( 92), INT8_C( -92), INT8_C(-115),
|
||
|
|
INT8_C( 6), INT8_C(-120), INT8_C( 89), INT8_C(-102),
|
||
|
|
INT8_C( -43), INT8_C( 33), INT8_C( 15), INT8_C( -6),
|
||
|
|
INT8_C(-105), INT8_C( 66), INT8_C( -60), INT8_C( 54),
|
||
|
|
INT8_C( -95), INT8_C( 49), INT8_C( 1), INT8_C( 118),
|
||
|
|
INT8_C( -33), INT8_C( -35), INT8_C( -34), INT8_C( -10),
|
||
|
|
INT8_C( -70), INT8_C( 74), INT8_C( -10), INT8_C( 97)),
|
||
|
|
UINT64_C(12556192675989742329),
|
||
|
|
INT8_C(-120),
|
||
|
|
simde_mm512_set_epi8(INT8_C(-120), INT8_C( 92), INT8_C(-120), INT8_C( -80),
|
||
|
|
INT8_C(-120), INT8_C(-120), INT8_C(-120), INT8_C( 45),
|
||
|
|
INT8_C( -41), INT8_C(-120), INT8_C( -17), INT8_C(-101),
|
||
|
|
INT8_C(-113), INT8_C( -69), INT8_C( 73), INT8_C(-124),
|
||
|
|
INT8_C(-120), INT8_C(-118), INT8_C( 31), INT8_C(-124),
|
||
|
|
INT8_C(-120), INT8_C(-120), INT8_C(-120), INT8_C( -37),
|
||
|
|
INT8_C(-120), INT8_C( 93), INT8_C(-120), INT8_C(-120),
|
||
|
|
INT8_C( -70), INT8_C(-120), INT8_C(-120), INT8_C( -34),
|
||
|
|
INT8_C(-120), INT8_C(-121), INT8_C(-124), INT8_C(-120),
|
||
|
|
INT8_C( 73), INT8_C(-120), INT8_C(-120), INT8_C(-120),
|
||
|
|
INT8_C(-120), INT8_C(-120), INT8_C(-120), INT8_C(-120),
|
||
|
|
INT8_C(-120), INT8_C( 33), INT8_C(-120), INT8_C( -6),
|
||
|
|
INT8_C(-120), INT8_C(-120), INT8_C(-120), INT8_C( 54),
|
||
|
|
INT8_C( -95), INT8_C( 49), INT8_C(-120), INT8_C( 118),
|
||
|
|
INT8_C(-120), INT8_C(-120), INT8_C(-120), INT8_C(-120),
|
||
|
|
INT8_C(-120), INT8_C( 74), INT8_C( -10), INT8_C(-120)) },
|
||
|
|
{ simde_mm512_set_epi8(INT8_C( 21), INT8_C( 17), INT8_C( 22), INT8_C(-115),
|
||
|
|
INT8_C( 101), INT8_C( -2), INT8_C( -32), INT8_C( -27),
|
||
|
|
INT8_C( -14), INT8_C( 47), INT8_C( 110), INT8_C( -88),
|
||
|
|
INT8_C( 23), INT8_C( -87), INT8_C( -20), INT8_C( 115),
|
||
|
|
INT8_C( 108), INT8_C( -54), INT8_C(-105), INT8_C( -94),
|
||
|
|
INT8_C( 96), INT8_C(-110), INT8_C( -87), INT8_C( 119),
|
||
|
|
INT8_C( 110), INT8_C( -13), INT8_C( 53), INT8_C( -27),
|
||
|
|
INT8_C( -59), INT8_C( 57), INT8_C( -46), INT8_C( -24),
|
||
|
|
INT8_C( 35), INT8_C( 26), INT8_C( 124), INT8_C( -28),
|
||
|
|
INT8_C( -68), INT8_C( -57), INT8_C( 75), INT8_C( -25),
|
||
|
|
INT8_C(-112), INT8_C( 112), INT8_C( 123), INT8_C(-108),
|
||
|
|
INT8_C( 115), INT8_C( -6), INT8_C( 43), INT8_C( 52),
|
||
|
|
INT8_C( -91), INT8_C( -17), INT8_C( 93), INT8_C( -2),
|
||
|
|
INT8_C( 116), INT8_C( -51), INT8_C( 70), INT8_C( 98),
|
||
|
|
INT8_C( 104), INT8_C( -69), INT8_C(-102), INT8_C( 77),
|
||
|
|
INT8_C( 82), INT8_C( 125), INT8_C( 42), INT8_C( 83)),
|
||
|
|
UINT64_C(12090133344763257330),
|
||
|
|
INT8_C( 55),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 55), INT8_C( 17), INT8_C( 55), INT8_C(-115),
|
||
|
|
INT8_C( 101), INT8_C( 55), INT8_C( 55), INT8_C( 55),
|
||
|
|
INT8_C( 55), INT8_C( 55), INT8_C( 110), INT8_C( -88),
|
||
|
|
INT8_C( 55), INT8_C( -87), INT8_C( -20), INT8_C( 115),
|
||
|
|
INT8_C( 55), INT8_C( 55), INT8_C(-105), INT8_C( -94),
|
||
|
|
INT8_C( 55), INT8_C(-110), INT8_C( -87), INT8_C( 119),
|
||
|
|
INT8_C( 110), INT8_C( -13), INT8_C( 55), INT8_C( 55),
|
||
|
|
INT8_C( 55), INT8_C( 57), INT8_C( -46), INT8_C( -24),
|
||
|
|
INT8_C( 55), INT8_C( 26), INT8_C( 124), INT8_C( -28),
|
||
|
|
INT8_C( -68), INT8_C( 55), INT8_C( 75), INT8_C( 55),
|
||
|
|
INT8_C( 55), INT8_C( 112), INT8_C( 55), INT8_C( 55),
|
||
|
|
INT8_C( 55), INT8_C( -6), INT8_C( 43), INT8_C( 52),
|
||
|
|
INT8_C( -91), INT8_C( -17), INT8_C( 55), INT8_C( -2),
|
||
|
|
INT8_C( 116), INT8_C( -51), INT8_C( 70), INT8_C( 55),
|
||
|
|
INT8_C( 55), INT8_C( 55), INT8_C( 55), INT8_C( 55),
|
||
|
|
INT8_C( 82), INT8_C( 125), INT8_C( 55), INT8_C( 83)) },
|
||
|
|
{ simde_mm512_set_epi8(INT8_C(-124), INT8_C( -37), INT8_C( -61), INT8_C( -35),
|
||
|
|
INT8_C( -22), INT8_C( -85), INT8_C(-117), INT8_C(-105),
|
||
|
|
INT8_C( 99), INT8_C( -62), INT8_C( 102), INT8_C( -31),
|
||
|
|
INT8_C( 82), INT8_C( 39), INT8_C( 49), INT8_C( 43),
|
||
|
|
INT8_C( 21), INT8_C( 16), INT8_C( 12), INT8_C(-125),
|
||
|
|
INT8_C( 2), INT8_C(-106), INT8_C( -4), INT8_C( 100),
|
||
|
|
INT8_C( -12), INT8_C( 30), INT8_C( -39), INT8_C( -37),
|
||
|
|
INT8_C( 92), INT8_C( -43), INT8_C( 33), INT8_C(-124),
|
||
|
|
INT8_C( 48), INT8_C( 4), INT8_C( 31), INT8_C( 78),
|
||
|
|
INT8_C(-113), INT8_C( 115), INT8_C( 116), INT8_C( -62),
|
||
|
|
INT8_C(-109), INT8_C( -66), INT8_C( 43), INT8_C(-118),
|
||
|
|
INT8_C(-105), INT8_C( -11), INT8_C( 100), INT8_C( 41),
|
||
|
|
INT8_C(-104), INT8_C(-114), INT8_C(-105), INT8_C( 88),
|
||
|
|
INT8_C( -33), INT8_C( -8), INT8_C( 41), INT8_C( 16),
|
||
|
|
INT8_C( 4), INT8_C( 89), INT8_C( 66), INT8_C( 27),
|
||
|
|
INT8_C( -63), INT8_C( 30), INT8_C( -95), INT8_C( 33)),
|
||
|
|
UINT64_C(13436704833767296949),
|
||
|
|
INT8_C( 18),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 18), INT8_C( -37), INT8_C( 18), INT8_C( 18),
|
||
|
|
INT8_C( 18), INT8_C( -85), INT8_C( 18), INT8_C(-105),
|
||
|
|
INT8_C( 99), INT8_C( 18), INT8_C( 18), INT8_C( 18),
|
||
|
|
INT8_C( 18), INT8_C( 39), INT8_C( 49), INT8_C( 43),
|
||
|
|
INT8_C( 18), INT8_C( 18), INT8_C( 12), INT8_C(-125),
|
||
|
|
INT8_C( 2), INT8_C(-106), INT8_C( 18), INT8_C( 18),
|
||
|
|
INT8_C( 18), INT8_C( 18), INT8_C( -39), INT8_C( 18),
|
||
|
|
INT8_C( 18), INT8_C( -43), INT8_C( 18), INT8_C( 18),
|
||
|
|
INT8_C( 48), INT8_C( 4), INT8_C( 31), INT8_C( 78),
|
||
|
|
INT8_C( 18), INT8_C( 115), INT8_C( 116), INT8_C( -62),
|
||
|
|
INT8_C(-109), INT8_C( 18), INT8_C( 18), INT8_C( 18),
|
||
|
|
INT8_C( 18), INT8_C( -11), INT8_C( 100), INT8_C( 18),
|
||
|
|
INT8_C(-104), INT8_C( 18), INT8_C(-105), INT8_C( 88),
|
||
|
|
INT8_C( 18), INT8_C( 18), INT8_C( 18), INT8_C( 18),
|
||
|
|
INT8_C( 18), INT8_C( 89), INT8_C( 18), INT8_C( 18),
|
||
|
|
INT8_C( -63), INT8_C( 18), INT8_C( -95), INT8_C( 18)) },
|
||
|
|
{ simde_mm512_set_epi8(INT8_C( -30), INT8_C( 101), INT8_C( 64), INT8_C( 107),
|
||
|
|
INT8_C( -34), INT8_C( -67), INT8_C( -96), INT8_C( 35),
|
||
|
|
INT8_C( 117), INT8_C( 76), INT8_C( 106), INT8_C( -82),
|
||
|
|
INT8_C( -48), INT8_C( 63), INT8_C( 11), INT8_C( 22),
|
||
|
|
INT8_C( 41), INT8_C( 95), INT8_C(-123), INT8_C( -90),
|
||
|
|
INT8_C( 67), INT8_C( -76), INT8_C(-105), INT8_C( -7),
|
||
|
|
INT8_C( 115), INT8_C( 121), INT8_C( -52), INT8_C( -95),
|
||
|
|
INT8_C(-101), INT8_C( 64), INT8_C( -67), INT8_C( 107),
|
||
|
|
INT8_C(-104), INT8_C( 56), INT8_C( 89), INT8_C( -95),
|
||
|
|
INT8_C( 21), INT8_C( -42), INT8_C( -75), INT8_C( 45),
|
||
|
|
INT8_C( -86), INT8_C( 32), INT8_C( 27), INT8_C(-119),
|
||
|
|
INT8_C( -68), INT8_C( 5), INT8_C( -78), INT8_C( -36),
|
||
|
|
INT8_C( 125), INT8_C( 117), INT8_C( -63), INT8_C( -68),
|
||
|
|
INT8_C( -45), INT8_C( -77), INT8_C( 6), INT8_C( 68),
|
||
|
|
INT8_C( 79), INT8_C( -92), INT8_C( 67), INT8_C( 61),
|
||
|
|
INT8_C( 42), INT8_C( 26), INT8_C(-117), INT8_C( -55)),
|
||
|
|
UINT64_C(14020412538477965079),
|
||
|
|
INT8_C( -46),
|
||
|
|
simde_mm512_set_epi8(INT8_C( -46), INT8_C( -46), INT8_C( 64), INT8_C( 107),
|
||
|
|
INT8_C( -34), INT8_C( -67), INT8_C( -46), INT8_C( 35),
|
||
|
|
INT8_C( -46), INT8_C( 76), INT8_C( 106), INT8_C( -46),
|
||
|
|
INT8_C( -48), INT8_C( 63), INT8_C( -46), INT8_C( 22),
|
||
|
|
INT8_C( -46), INT8_C( 95), INT8_C(-123), INT8_C( -90),
|
||
|
|
INT8_C( 67), INT8_C( -76), INT8_C( -46), INT8_C( -7),
|
||
|
|
INT8_C( -46), INT8_C( -46), INT8_C( -46), INT8_C( -95),
|
||
|
|
INT8_C( -46), INT8_C( 64), INT8_C( -46), INT8_C( -46),
|
||
|
|
INT8_C( -46), INT8_C( 56), INT8_C( -46), INT8_C( -95),
|
||
|
|
INT8_C( 21), INT8_C( -42), INT8_C( -75), INT8_C( 45),
|
||
|
|
INT8_C( -86), INT8_C( -46), INT8_C( -46), INT8_C(-119),
|
||
|
|
INT8_C( -46), INT8_C( 5), INT8_C( -78), INT8_C( -46),
|
||
|
|
INT8_C( 125), INT8_C( -46), INT8_C( -46), INT8_C( -68),
|
||
|
|
INT8_C( -46), INT8_C( -46), INT8_C( -46), INT8_C( -46),
|
||
|
|
INT8_C( 79), INT8_C( -92), INT8_C( 67), INT8_C( -46),
|
||
|
|
INT8_C( 42), INT8_C( -46), INT8_C( -46), INT8_C( -46)) },
|
||
|
|
{ simde_mm512_set_epi8(INT8_C( -83), INT8_C( -73), INT8_C( -22), INT8_C( 98),
|
||
|
|
INT8_C( 126), INT8_C( 41), INT8_C( -28), INT8_C( 126),
|
||
|
|
INT8_C( -75), INT8_C( 91), INT8_C( -33), INT8_C( 103),
|
||
|
|
INT8_C( -63), INT8_C( 62), INT8_C( 83), INT8_C( 4),
|
||
|
|
INT8_C( 65), INT8_C( -22), INT8_C( 107), INT8_C( 8),
|
||
|
|
INT8_C( 31), INT8_C(-111), INT8_C(-114), INT8_C(-118),
|
||
|
|
INT8_C( 2), INT8_C( 76), INT8_C( 19), INT8_C( 127),
|
||
|
|
INT8_C( -37), INT8_C( -41), INT8_C( 91), INT8_C( -64),
|
||
|
|
INT8_C(-105), INT8_C( 127), INT8_C(-121), INT8_C( 84),
|
||
|
|
INT8_C( 124), INT8_C( 50), INT8_C( -86), INT8_C(-101),
|
||
|
|
INT8_C( -82), INT8_C( 121), INT8_C( 18), INT8_C( -17),
|
||
|
|
INT8_C( -55), INT8_C(-102), INT8_C( -81), INT8_C( -54),
|
||
|
|
INT8_C( -56), INT8_C( -2), INT8_C( -68), INT8_C( 105),
|
||
|
|
INT8_C( -48), INT8_C( -90), INT8_C( -46), INT8_C( 63),
|
||
|
|
INT8_C( 126), INT8_C( -93), INT8_C( 46), INT8_C(-114),
|
||
|
|
INT8_C( 58), INT8_C( 110), INT8_C( 102), INT8_C( -93)),
|
||
|
|
UINT64_C(14839809536761107867),
|
||
|
|
INT8_C( 106),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 106), INT8_C( 106), INT8_C( -22), INT8_C( 98),
|
||
|
|
INT8_C( 106), INT8_C( 106), INT8_C( -28), INT8_C( 106),
|
||
|
|
INT8_C( 106), INT8_C( 106), INT8_C( 106), INT8_C( 106),
|
||
|
|
INT8_C( -63), INT8_C( 62), INT8_C( 83), INT8_C( 106),
|
||
|
|
INT8_C( 106), INT8_C( -22), INT8_C( 107), INT8_C( 106),
|
||
|
|
INT8_C( 106), INT8_C(-111), INT8_C(-114), INT8_C(-118),
|
||
|
|
INT8_C( 2), INT8_C( 76), INT8_C( 106), INT8_C( 127),
|
||
|
|
INT8_C( -37), INT8_C( 106), INT8_C( 106), INT8_C( -64),
|
||
|
|
INT8_C(-105), INT8_C( 127), INT8_C( 106), INT8_C( 84),
|
||
|
|
INT8_C( 124), INT8_C( 106), INT8_C( -86), INT8_C( 106),
|
||
|
|
INT8_C( -82), INT8_C( 121), INT8_C( 18), INT8_C( 106),
|
||
|
|
INT8_C( 106), INT8_C(-102), INT8_C( -81), INT8_C( 106),
|
||
|
|
INT8_C( 106), INT8_C( -2), INT8_C( -68), INT8_C( 106),
|
||
|
|
INT8_C( -48), INT8_C( 106), INT8_C( -46), INT8_C( 106),
|
||
|
|
INT8_C( 106), INT8_C( -93), INT8_C( 46), INT8_C( 106),
|
||
|
|
INT8_C( 106), INT8_C( 110), INT8_C( 106), INT8_C( 106)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_mask_set1_epi8(test_vec[i].src, test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i8(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_maskz_set1_epi8(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__mmask64 k;
|
||
|
|
int8_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ UINT64_C( 2901368310709582274),
|
||
|
|
INT8_C( -37),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( -37), INT8_C( 0),
|
||
|
|
INT8_C( -37), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -37), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -37), INT8_C( -37),
|
||
|
|
INT8_C( -37), INT8_C( 0), INT8_C( -37), INT8_C( -37),
|
||
|
|
INT8_C( -37), INT8_C( 0), INT8_C( -37), INT8_C( -37),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -37),
|
||
|
|
INT8_C( -37), INT8_C( 0), INT8_C( -37), INT8_C( -37),
|
||
|
|
INT8_C( 0), INT8_C( -37), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -37), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -37), INT8_C( -37), INT8_C( 0),
|
||
|
|
INT8_C( -37), INT8_C( 0), INT8_C( -37), INT8_C( -37),
|
||
|
|
INT8_C( 0), INT8_C( -37), INT8_C( -37), INT8_C( -37),
|
||
|
|
INT8_C( -37), INT8_C( 0), INT8_C( 0), INT8_C( -37),
|
||
|
|
INT8_C( -37), INT8_C( -37), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -37), INT8_C( 0)) },
|
||
|
|
{ UINT64_C(15800639674747260058),
|
||
|
|
INT8_C( 63),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 63), INT8_C( 63), INT8_C( 0), INT8_C( 63),
|
||
|
|
INT8_C( 63), INT8_C( 0), INT8_C( 63), INT8_C( 63),
|
||
|
|
INT8_C( 0), INT8_C( 63), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 63), INT8_C( 63), INT8_C( 63),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 63), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 63), INT8_C( 63), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 63),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 63),
|
||
|
|
INT8_C( 63), INT8_C( 0), INT8_C( 0), INT8_C( 63),
|
||
|
|
INT8_C( 63), INT8_C( 63), INT8_C( 0), INT8_C( 63),
|
||
|
|
INT8_C( 0), INT8_C( 63), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 63),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 63), INT8_C( 63), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 63), INT8_C( 0), INT8_C( 0), INT8_C( 63),
|
||
|
|
INT8_C( 63), INT8_C( 0), INT8_C( 63), INT8_C( 0)) },
|
||
|
|
{ UINT64_C(12860739080443979541),
|
||
|
|
INT8_C( 53),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 53), INT8_C( 0), INT8_C( 53), INT8_C( 53),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 53), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 53), INT8_C( 53), INT8_C( 53),
|
||
|
|
INT8_C( 53), INT8_C( 0), INT8_C( 53), INT8_C( 0),
|
||
|
|
INT8_C( 53), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 53), INT8_C( 53), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 53), INT8_C( 53), INT8_C( 0), INT8_C( 53),
|
||
|
|
INT8_C( 53), INT8_C( 53), INT8_C( 53), INT8_C( 53),
|
||
|
|
INT8_C( 0), INT8_C( 53), INT8_C( 53), INT8_C( 0),
|
||
|
|
INT8_C( 53), INT8_C( 53), INT8_C( 0), INT8_C( 53),
|
||
|
|
INT8_C( 53), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 53), INT8_C( 53), INT8_C( 53), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 53), INT8_C( 53), INT8_C( 53),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 53),
|
||
|
|
INT8_C( 0), INT8_C( 53), INT8_C( 0), INT8_C( 53)) },
|
||
|
|
{ UINT64_C( 2595884503750725802),
|
||
|
|
INT8_C( 78),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 78), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 78), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 78), INT8_C( 78), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 78), INT8_C( 78), INT8_C( 0),
|
||
|
|
INT8_C( 78), INT8_C( 78), INT8_C( 78), INT8_C( 78),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 78), INT8_C( 78),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 78), INT8_C( 78),
|
||
|
|
INT8_C( 78), INT8_C( 78), INT8_C( 0), INT8_C( 78),
|
||
|
|
INT8_C( 78), INT8_C( 78), 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( 78), INT8_C( 78), INT8_C( 0), INT8_C( 78),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 78), INT8_C( 0), INT8_C( 78), INT8_C( 0),
|
||
|
|
INT8_C( 78), INT8_C( 0), INT8_C( 78), INT8_C( 0)) },
|
||
|
|
{ UINT64_C(13286373173549182748),
|
||
|
|
INT8_C( -67),
|
||
|
|
simde_mm512_set_epi8(INT8_C( -67), INT8_C( 0), INT8_C( -67), INT8_C( -67),
|
||
|
|
INT8_C( -67), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -67), INT8_C( -67), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -67), INT8_C( 0),
|
||
|
|
INT8_C( -67), INT8_C( 0), INT8_C( -67), INT8_C( 0),
|
||
|
|
INT8_C( -67), INT8_C( -67), INT8_C( -67), 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( -67),
|
||
|
|
INT8_C( -67), INT8_C( -67), INT8_C( 0), INT8_C( -67),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -67), INT8_C( 0),
|
||
|
|
INT8_C( -67), INT8_C( 0), INT8_C( -67), INT8_C( 0),
|
||
|
|
INT8_C( -67), INT8_C( -67), INT8_C( 0), INT8_C( -67),
|
||
|
|
INT8_C( -67), INT8_C( 0), INT8_C( -67), INT8_C( 0),
|
||
|
|
INT8_C( -67), INT8_C( -67), INT8_C( -67), INT8_C( -67),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -67),
|
||
|
|
INT8_C( -67), INT8_C( -67), INT8_C( 0), INT8_C( 0)) },
|
||
|
|
{ UINT64_C(16804997844821669286),
|
||
|
|
INT8_C( -98),
|
||
|
|
simde_mm512_set_epi8(INT8_C( -98), INT8_C( -98), INT8_C( -98), INT8_C( 0),
|
||
|
|
INT8_C( -98), INT8_C( 0), INT8_C( 0), INT8_C( -98),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -98), INT8_C( -98),
|
||
|
|
INT8_C( 0), INT8_C( -98), INT8_C( -98), INT8_C( -98),
|
||
|
|
INT8_C( 0), INT8_C( -98), INT8_C( 0), INT8_C( -98),
|
||
|
|
INT8_C( -98), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( -98), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( -98), INT8_C( -98), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( -98), INT8_C( -98), INT8_C( -98), INT8_C( -98),
|
||
|
|
INT8_C( -98), INT8_C( -98), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( -98), INT8_C( -98), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( -98), INT8_C( -98), INT8_C( -98), INT8_C( -98),
|
||
|
|
INT8_C( 0), INT8_C( -98), INT8_C( 0), INT8_C( -98),
|
||
|
|
INT8_C( -98), INT8_C( 0), INT8_C( -98), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -98), INT8_C( -98), INT8_C( 0)) },
|
||
|
|
{ UINT64_C(14388383136321922859),
|
||
|
|
INT8_C( -31),
|
||
|
|
simde_mm512_set_epi8(INT8_C( -31), INT8_C( -31), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -31), INT8_C( -31), INT8_C( -31),
|
||
|
|
INT8_C( -31), INT8_C( 0), INT8_C( -31), INT8_C( 0),
|
||
|
|
INT8_C( -31), INT8_C( -31), INT8_C( 0), INT8_C( -31),
|
||
|
|
INT8_C( -31), INT8_C( -31), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( -31), INT8_C( -31), INT8_C( -31), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -31), INT8_C( -31),
|
||
|
|
INT8_C( -31), INT8_C( 0), INT8_C( -31), INT8_C( 0),
|
||
|
|
INT8_C( -31), INT8_C( -31), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -31), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( -31), INT8_C( 0), INT8_C( -31), INT8_C( -31),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -31), INT8_C( -31), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( -31), INT8_C( -31), INT8_C( -31),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( -31), INT8_C( 0),
|
||
|
|
INT8_C( -31), INT8_C( 0), INT8_C( -31), INT8_C( -31)) },
|
||
|
|
{ UINT64_C( 9693935732927043828),
|
||
|
|
INT8_C( 57),
|
||
|
|
simde_mm512_set_epi8(INT8_C( 57), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 57), INT8_C( 57), INT8_C( 0),
|
||
|
|
INT8_C( 57), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 57), INT8_C( 57), INT8_C( 57),
|
||
|
|
INT8_C( 57), INT8_C( 57), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 57), INT8_C( 57), INT8_C( 57),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 57), INT8_C( 57),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 57), INT8_C( 57),
|
||
|
|
INT8_C( 57), INT8_C( 57), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 57), INT8_C( 0), INT8_C( 0), INT8_C( 57),
|
||
|
|
INT8_C( 0), INT8_C( 57), INT8_C( 0), INT8_C( 57),
|
||
|
|
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 57),
|
||
|
|
INT8_C( 57), INT8_C( 0), INT8_C( 0), INT8_C( 0),
|
||
|
|
INT8_C( 57), INT8_C( 57), INT8_C( 57), INT8_C( 57),
|
||
|
|
INT8_C( 0), INT8_C( 57), INT8_C( 0), INT8_C( 0)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_maskz_set1_epi8(test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i8(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_set1_epi16(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
int16_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ -334,
|
||
|
|
simde_mm512_set_epi16(INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334),
|
||
|
|
INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334),
|
||
|
|
INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334),
|
||
|
|
INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334),
|
||
|
|
INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334),
|
||
|
|
INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334),
|
||
|
|
INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334),
|
||
|
|
INT16_C( -334), INT16_C( -334), INT16_C( -334), INT16_C( -334)) },
|
||
|
|
{ 27900,
|
||
|
|
simde_mm512_set_epi16(INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900),
|
||
|
|
INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900),
|
||
|
|
INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900),
|
||
|
|
INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900),
|
||
|
|
INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900),
|
||
|
|
INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900),
|
||
|
|
INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900),
|
||
|
|
INT16_C( 27900), INT16_C( 27900), INT16_C( 27900), INT16_C( 27900)) },
|
||
|
|
{ 9352,
|
||
|
|
simde_mm512_set_epi16(INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352),
|
||
|
|
INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352),
|
||
|
|
INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352),
|
||
|
|
INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352),
|
||
|
|
INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352),
|
||
|
|
INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352),
|
||
|
|
INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352),
|
||
|
|
INT16_C( 9352), INT16_C( 9352), INT16_C( 9352), INT16_C( 9352)) },
|
||
|
|
{ -21903,
|
||
|
|
simde_mm512_set_epi16(INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903),
|
||
|
|
INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903),
|
||
|
|
INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903),
|
||
|
|
INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903),
|
||
|
|
INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903),
|
||
|
|
INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903),
|
||
|
|
INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903),
|
||
|
|
INT16_C(-21903), INT16_C(-21903), INT16_C(-21903), INT16_C(-21903)) },
|
||
|
|
{ 32371,
|
||
|
|
simde_mm512_set_epi16(INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371),
|
||
|
|
INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371),
|
||
|
|
INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371),
|
||
|
|
INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371),
|
||
|
|
INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371),
|
||
|
|
INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371),
|
||
|
|
INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371),
|
||
|
|
INT16_C( 32371), INT16_C( 32371), INT16_C( 32371), INT16_C( 32371)) },
|
||
|
|
{ -49,
|
||
|
|
simde_mm512_set_epi16(INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49),
|
||
|
|
INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49),
|
||
|
|
INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49),
|
||
|
|
INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49),
|
||
|
|
INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49),
|
||
|
|
INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49),
|
||
|
|
INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49),
|
||
|
|
INT16_C( -49), INT16_C( -49), INT16_C( -49), INT16_C( -49)) },
|
||
|
|
{ 18491,
|
||
|
|
simde_mm512_set_epi16(INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491),
|
||
|
|
INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491),
|
||
|
|
INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491),
|
||
|
|
INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491),
|
||
|
|
INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491),
|
||
|
|
INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491),
|
||
|
|
INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491),
|
||
|
|
INT16_C( 18491), INT16_C( 18491), INT16_C( 18491), INT16_C( 18491)) },
|
||
|
|
{ 25038,
|
||
|
|
simde_mm512_set_epi16(INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038),
|
||
|
|
INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038),
|
||
|
|
INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038),
|
||
|
|
INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038),
|
||
|
|
INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038),
|
||
|
|
INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038),
|
||
|
|
INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038),
|
||
|
|
INT16_C( 25038), INT16_C( 25038), INT16_C( 25038), INT16_C( 25038)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_set1_epi16(test_vec[i].a);
|
||
|
|
simde_assert_m512i_i16(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_mask_set1_epi16(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__m512i src;
|
||
|
|
simde__mmask32 k;
|
||
|
|
int16_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ simde_mm512_set_epi16(INT16_C( 874), INT16_C( 15357), INT16_C( 3602), INT16_C( 11090),
|
||
|
|
INT16_C( 31475), INT16_C( 20808), INT16_C(-26328), INT16_C(-21794),
|
||
|
|
INT16_C(-24829), INT16_C(-15530), INT16_C( -9785), INT16_C( 22806),
|
||
|
|
INT16_C( -6385), INT16_C(-26604), INT16_C(-15351), INT16_C(-18936),
|
||
|
|
INT16_C( 28985), INT16_C( 24045), INT16_C(-25535), INT16_C(-25436),
|
||
|
|
INT16_C( 749), INT16_C( 15517), INT16_C(-24369), INT16_C(-27864),
|
||
|
|
INT16_C( 6864), INT16_C( 16553), INT16_C( -407), INT16_C(-28514),
|
||
|
|
INT16_C( -9423), INT16_C(-29018), INT16_C(-11420), INT16_C(-22112)),
|
||
|
|
UINT32_C(1121120418),
|
||
|
|
INT16_C(-24380),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 874), INT16_C(-24380), INT16_C( 3602), INT16_C( 11090),
|
||
|
|
INT16_C( 31475), INT16_C( 20808), INT16_C(-24380), INT16_C(-21794),
|
||
|
|
INT16_C(-24380), INT16_C(-24380), INT16_C( -9785), INT16_C(-24380),
|
||
|
|
INT16_C( -6385), INT16_C(-26604), INT16_C(-24380), INT16_C(-18936),
|
||
|
|
INT16_C(-24380), INT16_C(-24380), INT16_C(-24380), INT16_C(-24380),
|
||
|
|
INT16_C( 749), INT16_C( 15517), INT16_C(-24369), INT16_C(-27864),
|
||
|
|
INT16_C(-24380), INT16_C( 16553), INT16_C(-24380), INT16_C(-28514),
|
||
|
|
INT16_C( -9423), INT16_C(-29018), INT16_C(-24380), INT16_C(-22112)) },
|
||
|
|
{ simde_mm512_set_epi16(INT16_C( 21630), INT16_C( 53), INT16_C(-30787), INT16_C( 11298),
|
||
|
|
INT16_C( 13120), INT16_C(-15891), INT16_C( 20834), INT16_C( 5170),
|
||
|
|
INT16_C( 11237), INT16_C(-32025), INT16_C( 2036), INT16_C(-32146),
|
||
|
|
INT16_C( 6820), INT16_C( 29964), INT16_C(-20673), INT16_C( -6255),
|
||
|
|
INT16_C( 12677), INT16_C( 5934), INT16_C( 18392), INT16_C(-16008),
|
||
|
|
INT16_C( -6967), INT16_C(-23263), INT16_C( 28759), INT16_C( 4932),
|
||
|
|
INT16_C(-20928), INT16_C(-12287), INT16_C(-21100), INT16_C(-15604),
|
||
|
|
INT16_C(-25734), INT16_C(-27889), INT16_C( 22154), INT16_C( 16749)),
|
||
|
|
UINT32_C( 442706120),
|
||
|
|
INT16_C(-18045),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 21630), INT16_C( 53), INT16_C(-30787), INT16_C(-18045),
|
||
|
|
INT16_C(-18045), INT16_C(-15891), INT16_C(-18045), INT16_C( 5170),
|
||
|
|
INT16_C( 11237), INT16_C(-18045), INT16_C(-18045), INT16_C(-32146),
|
||
|
|
INT16_C( 6820), INT16_C( 29964), INT16_C(-18045), INT16_C(-18045),
|
||
|
|
INT16_C( 12677), INT16_C( 5934), INT16_C(-18045), INT16_C(-16008),
|
||
|
|
INT16_C(-18045), INT16_C(-23263), INT16_C( 28759), INT16_C( 4932),
|
||
|
|
INT16_C(-18045), INT16_C(-18045), INT16_C(-21100), INT16_C(-15604),
|
||
|
|
INT16_C(-18045), INT16_C(-27889), INT16_C( 22154), INT16_C( 16749)) },
|
||
|
|
{ simde_mm512_set_epi16(INT16_C(-12675), INT16_C(-13885), INT16_C( -4000), INT16_C( 31908),
|
||
|
|
INT16_C( 16178), INT16_C( -8662), INT16_C(-27877), INT16_C(-11427),
|
||
|
|
INT16_C(-10847), INT16_C( 7965), INT16_C(-13767), INT16_C( 14192),
|
||
|
|
INT16_C( -3024), INT16_C(-20651), INT16_C( 1677), INT16_C(-14378),
|
||
|
|
INT16_C( 13823), INT16_C(-21716), INT16_C(-14569), INT16_C( 19205),
|
||
|
|
INT16_C(-19335), INT16_C( 31769), INT16_C(-13133), INT16_C(-12032),
|
||
|
|
INT16_C(-27851), INT16_C(-12954), INT16_C(-30941), INT16_C( 26210),
|
||
|
|
INT16_C( 10250), INT16_C(-12883), INT16_C(-31618), INT16_C( -328)),
|
||
|
|
UINT32_C(3083705480),
|
||
|
|
INT16_C( 4440),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 4440), INT16_C(-13885), INT16_C( 4440), INT16_C( 4440),
|
||
|
|
INT16_C( 16178), INT16_C( 4440), INT16_C( 4440), INT16_C( 4440),
|
||
|
|
INT16_C( 4440), INT16_C( 4440), INT16_C(-13767), INT16_C( 14192),
|
||
|
|
INT16_C( 4440), INT16_C( 4440), INT16_C( 1677), INT16_C( 4440),
|
||
|
|
INT16_C( 4440), INT16_C(-21716), INT16_C(-14569), INT16_C( 4440),
|
||
|
|
INT16_C( 4440), INT16_C( 4440), INT16_C(-13133), INT16_C(-12032),
|
||
|
|
INT16_C( 4440), INT16_C(-12954), INT16_C(-30941), INT16_C( 26210),
|
||
|
|
INT16_C( 4440), INT16_C(-12883), INT16_C(-31618), INT16_C( -328)) },
|
||
|
|
{ simde_mm512_set_epi16(INT16_C(-23201), INT16_C( 4909), INT16_C(-10596), INT16_C( 25003),
|
||
|
|
INT16_C( 25193), INT16_C(-28193), INT16_C( 7484), INT16_C( 22842),
|
||
|
|
INT16_C( 12827), INT16_C(-21490), INT16_C(-19021), INT16_C( 17939),
|
||
|
|
INT16_C( 14187), INT16_C( 31294), INT16_C(-22999), INT16_C( 25206),
|
||
|
|
INT16_C(-22002), INT16_C( 23505), INT16_C(-20713), INT16_C( 22238),
|
||
|
|
INT16_C( 29284), INT16_C( 28054), INT16_C(-21727), INT16_C( 30369),
|
||
|
|
INT16_C( 19358), INT16_C( -623), INT16_C( 2386), INT16_C( 9395),
|
||
|
|
INT16_C(-11819), INT16_C( 28599), INT16_C(-11863), INT16_C( -4500)),
|
||
|
|
UINT32_C(1729799485),
|
||
|
|
INT16_C( -51),
|
||
|
|
simde_mm512_set_epi16(INT16_C(-23201), INT16_C( -51), INT16_C( -51), INT16_C( 25003),
|
||
|
|
INT16_C( 25193), INT16_C( -51), INT16_C( -51), INT16_C( -51),
|
||
|
|
INT16_C( 12827), INT16_C(-21490), INT16_C(-19021), INT16_C( -51),
|
||
|
|
INT16_C( -51), INT16_C( 31294), INT16_C( -51), INT16_C( 25206),
|
||
|
|
INT16_C( -51), INT16_C( 23505), INT16_C( -51), INT16_C( 22238),
|
||
|
|
INT16_C( 29284), INT16_C( -51), INT16_C(-21727), INT16_C( -51),
|
||
|
|
INT16_C( 19358), INT16_C( -623), INT16_C( -51), INT16_C( -51),
|
||
|
|
INT16_C( -51), INT16_C( -51), INT16_C(-11863), INT16_C( -51)) },
|
||
|
|
{ simde_mm512_set_epi16(INT16_C(-12929), INT16_C( -9559), INT16_C( -1255), INT16_C(-25300),
|
||
|
|
INT16_C( 24130), INT16_C( 22555), INT16_C(-26496), INT16_C( 4179),
|
||
|
|
INT16_C( 25227), INT16_C( 31028), INT16_C( 12492), INT16_C(-27096),
|
||
|
|
INT16_C( 22382), INT16_C( -5113), INT16_C(-30455), INT16_C( 15691),
|
||
|
|
INT16_C(-18605), INT16_C( -4278), INT16_C( 11441), INT16_C(-26478),
|
||
|
|
INT16_C( 11388), INT16_C(-27754), INT16_C( 607), INT16_C( -1601),
|
||
|
|
INT16_C(-14454), INT16_C( 1251), INT16_C( 27178), INT16_C( 11399),
|
||
|
|
INT16_C( -184), INT16_C( 17990), INT16_C(-12132), INT16_C(-20400)),
|
||
|
|
UINT32_C(3701546889),
|
||
|
|
INT16_C( 26765),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 26765), INT16_C( 26765), INT16_C( -1255), INT16_C( 26765),
|
||
|
|
INT16_C( 26765), INT16_C( 26765), INT16_C(-26496), INT16_C( 4179),
|
||
|
|
INT16_C( 26765), INT16_C( 31028), INT16_C( 26765), INT16_C(-27096),
|
||
|
|
INT16_C( 22382), INT16_C( -5113), INT16_C(-30455), INT16_C( 26765),
|
||
|
|
INT16_C(-18605), INT16_C( -4278), INT16_C( 11441), INT16_C( 26765),
|
||
|
|
INT16_C( 26765), INT16_C( 26765), INT16_C( 26765), INT16_C( 26765),
|
||
|
|
INT16_C( 26765), INT16_C( 1251), INT16_C( 27178), INT16_C( 11399),
|
||
|
|
INT16_C( 26765), INT16_C( 17990), INT16_C(-12132), INT16_C( 26765)) },
|
||
|
|
{ simde_mm512_set_epi16(INT16_C( 23556), INT16_C( 11192), INT16_C(-13439), INT16_C( -2357),
|
||
|
|
INT16_C( 858), INT16_C( 27575), INT16_C( 20368), INT16_C(-20256),
|
||
|
|
INT16_C(-11019), INT16_C( -7073), INT16_C(-32385), INT16_C( 27749),
|
||
|
|
INT16_C( 17332), INT16_C(-28131), INT16_C( 22510), INT16_C( -872),
|
||
|
|
INT16_C( 20986), INT16_C(-25896), INT16_C( 7561), INT16_C(-22951),
|
||
|
|
INT16_C( -9997), INT16_C( 18542), INT16_C( -1921), INT16_C(-16319),
|
||
|
|
INT16_C(-24759), INT16_C( 10467), INT16_C( 8453), INT16_C( 5278),
|
||
|
|
INT16_C(-22217), INT16_C( 17080), INT16_C( 16797), INT16_C( -9777)),
|
||
|
|
UINT32_C(3298748633),
|
||
|
|
INT16_C( -5240),
|
||
|
|
simde_mm512_set_epi16(INT16_C( -5240), INT16_C( -5240), INT16_C(-13439), INT16_C( -2357),
|
||
|
|
INT16_C( 858), INT16_C( -5240), INT16_C( 20368), INT16_C(-20256),
|
||
|
|
INT16_C( -5240), INT16_C( -7073), INT16_C(-32385), INT16_C( -5240),
|
||
|
|
INT16_C( -5240), INT16_C( -5240), INT16_C( -5240), INT16_C( -872),
|
||
|
|
INT16_C( -5240), INT16_C( -5240), INT16_C( -5240), INT16_C(-22951),
|
||
|
|
INT16_C( -5240), INT16_C( 18542), INT16_C( -1921), INT16_C(-16319),
|
||
|
|
INT16_C( -5240), INT16_C( -5240), INT16_C( 8453), INT16_C( -5240),
|
||
|
|
INT16_C( -5240), INT16_C( 17080), INT16_C( 16797), INT16_C( -5240)) },
|
||
|
|
{ simde_mm512_set_epi16(INT16_C( -894), INT16_C( 15324), INT16_C(-23364), INT16_C( 25648),
|
||
|
|
INT16_C( -512), INT16_C( 12172), INT16_C(-27706), INT16_C(-10514),
|
||
|
|
INT16_C( 1026), INT16_C( 20384), INT16_C(-25471), INT16_C( -3464),
|
||
|
|
INT16_C( 14827), INT16_C( 18045), INT16_C(-25826), INT16_C( 12664),
|
||
|
|
INT16_C(-16682), INT16_C( 16498), INT16_C( 29333), INT16_C( -511),
|
||
|
|
INT16_C( 15382), INT16_C(-19710), INT16_C(-14139), INT16_C( 14459),
|
||
|
|
INT16_C( 16092), INT16_C(-12889), INT16_C( -337), INT16_C( 29893),
|
||
|
|
INT16_C(-29467), INT16_C( -8274), INT16_C( 30322), INT16_C(-19138)),
|
||
|
|
UINT32_C(3605268017),
|
||
|
|
INT16_C(-14523),
|
||
|
|
simde_mm512_set_epi16(INT16_C(-14523), INT16_C(-14523), INT16_C(-23364), INT16_C(-14523),
|
||
|
|
INT16_C( -512), INT16_C(-14523), INT16_C(-14523), INT16_C(-10514),
|
||
|
|
INT16_C(-14523), INT16_C(-14523), INT16_C(-14523), INT16_C( -3464),
|
||
|
|
INT16_C( 14827), INT16_C(-14523), INT16_C(-25826), INT16_C( 12664),
|
||
|
|
INT16_C(-16682), INT16_C( 16498), INT16_C( 29333), INT16_C( -511),
|
||
|
|
INT16_C( 15382), INT16_C(-14523), INT16_C(-14523), INT16_C( 14459),
|
||
|
|
INT16_C( 16092), INT16_C(-12889), INT16_C(-14523), INT16_C(-14523),
|
||
|
|
INT16_C(-29467), INT16_C( -8274), INT16_C( 30322), INT16_C(-14523)) },
|
||
|
|
{ simde_mm512_set_epi16(INT16_C( -6967), INT16_C(-20070), INT16_C( -8289), INT16_C( -479),
|
||
|
|
INT16_C(-18969), INT16_C( -6012), INT16_C( 11721), INT16_C( 13564),
|
||
|
|
INT16_C( 19765), INT16_C( 23581), INT16_C(-21527), INT16_C( -2847),
|
||
|
|
INT16_C( 23178), INT16_C(-14967), INT16_C( 17682), INT16_C( 28255),
|
||
|
|
INT16_C( 8882), INT16_C( 14691), INT16_C(-27903), INT16_C( 28973),
|
||
|
|
INT16_C( 619), INT16_C(-10329), INT16_C( 25572), INT16_C(-13439),
|
||
|
|
INT16_C( -3930), INT16_C( 5659), INT16_C( -675), INT16_C(-18004),
|
||
|
|
INT16_C(-26191), INT16_C( 5303), INT16_C(-13369), INT16_C( 21695)),
|
||
|
|
UINT32_C( 349570055),
|
||
|
|
INT16_C( 24210),
|
||
|
|
simde_mm512_set_epi16(INT16_C( -6967), INT16_C(-20070), INT16_C( -8289), INT16_C( 24210),
|
||
|
|
INT16_C(-18969), INT16_C( 24210), INT16_C( 11721), INT16_C( 13564),
|
||
|
|
INT16_C( 24210), INT16_C( 24210), INT16_C(-21527), INT16_C( 24210),
|
||
|
|
INT16_C( 23178), INT16_C( 24210), INT16_C( 24210), INT16_C( 28255),
|
||
|
|
INT16_C( 8882), INT16_C( 14691), INT16_C(-27903), INT16_C( 28973),
|
||
|
|
INT16_C( 619), INT16_C( 24210), INT16_C( 25572), INT16_C(-13439),
|
||
|
|
INT16_C( -3930), INT16_C( 5659), INT16_C( -675), INT16_C(-18004),
|
||
|
|
INT16_C(-26191), INT16_C( 24210), INT16_C( 24210), INT16_C( 24210)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_mask_set1_epi16(test_vec[i].src, test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i16(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_maskz_set1_epi16(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__mmask32 k;
|
||
|
|
int16_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ UINT32_C( 693683203),
|
||
|
|
INT16_C(-16188),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 0), INT16_C( 0), INT16_C(-16188), INT16_C( 0),
|
||
|
|
INT16_C(-16188), INT16_C( 0), INT16_C( 0), INT16_C(-16188),
|
||
|
|
INT16_C( 0), INT16_C(-16188), INT16_C( 0), INT16_C(-16188),
|
||
|
|
INT16_C(-16188), INT16_C( 0), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C(-16188), INT16_C(-16188), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C(-16188), 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(-16188), INT16_C(-16188)) },
|
||
|
|
{ UINT32_C(2322862674),
|
||
|
|
INT16_C(-31832),
|
||
|
|
simde_mm512_set_epi16(INT16_C(-31832), INT16_C( 0), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C(-31832), INT16_C( 0), INT16_C(-31832), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C(-31832), INT16_C(-31832), INT16_C(-31832),
|
||
|
|
INT16_C( 0), INT16_C(-31832), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C(-31832),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C(-31832), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C(-31832), INT16_C( 0), INT16_C(-31832),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C(-31832), INT16_C( 0)) },
|
||
|
|
{ UINT32_C(3196780114),
|
||
|
|
INT16_C( 8083),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 8083), INT16_C( 0), INT16_C( 8083), INT16_C( 8083),
|
||
|
|
INT16_C( 8083), INT16_C( 8083), INT16_C( 8083), INT16_C( 0),
|
||
|
|
INT16_C( 8083), INT16_C( 0), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 8083), INT16_C( 0), INT16_C( 8083), INT16_C( 0),
|
||
|
|
INT16_C( 8083), INT16_C( 8083), INT16_C( 8083), INT16_C( 8083),
|
||
|
|
INT16_C( 8083), INT16_C( 8083), INT16_C( 8083), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 8083), INT16_C( 0), INT16_C( 8083),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C( 8083), INT16_C( 0)) },
|
||
|
|
{ UINT32_C( 962615778),
|
||
|
|
INT16_C( 10134),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 0), INT16_C( 0), INT16_C( 10134), INT16_C( 10134),
|
||
|
|
INT16_C( 10134), INT16_C( 0), INT16_C( 0), INT16_C( 10134),
|
||
|
|
INT16_C( 0), INT16_C( 10134), INT16_C( 10134), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 10134), INT16_C( 0), INT16_C( 10134),
|
||
|
|
INT16_C( 10134), INT16_C( 0), INT16_C( 0), INT16_C( 10134),
|
||
|
|
INT16_C( 10134), INT16_C( 10134), INT16_C( 10134), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C( 10134), INT16_C( 0)) },
|
||
|
|
{ UINT32_C(3651012064),
|
||
|
|
INT16_C(-28841),
|
||
|
|
simde_mm512_set_epi16(INT16_C(-28841), INT16_C(-28841), INT16_C( 0), INT16_C(-28841),
|
||
|
|
INT16_C(-28841), INT16_C( 0), INT16_C( 0), INT16_C(-28841),
|
||
|
|
INT16_C(-28841), INT16_C( 0), INT16_C( 0), INT16_C(-28841),
|
||
|
|
INT16_C(-28841), INT16_C(-28841), INT16_C(-28841), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C(-28841), INT16_C( 0), INT16_C(-28841),
|
||
|
|
INT16_C(-28841), INT16_C(-28841), INT16_C(-28841), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C( 0)) },
|
||
|
|
{ UINT32_C(1153035128),
|
||
|
|
INT16_C( 9546),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 0), INT16_C( 9546), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 9546), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 9546), INT16_C( 0), INT16_C( 9546), INT16_C( 9546),
|
||
|
|
INT16_C( 9546), INT16_C( 0), INT16_C( 0), INT16_C( 9546),
|
||
|
|
INT16_C( 9546), INT16_C( 9546), INT16_C( 9546), INT16_C( 0),
|
||
|
|
INT16_C( 9546), INT16_C( 0), INT16_C( 9546), INT16_C( 9546),
|
||
|
|
INT16_C( 0), INT16_C( 9546), INT16_C( 9546), INT16_C( 9546),
|
||
|
|
INT16_C( 9546), INT16_C( 0), INT16_C( 0), INT16_C( 0)) },
|
||
|
|
{ UINT32_C(2648275992),
|
||
|
|
INT16_C(-29002),
|
||
|
|
simde_mm512_set_epi16(INT16_C(-29002), INT16_C( 0), INT16_C( 0), INT16_C(-29002),
|
||
|
|
INT16_C(-29002), INT16_C(-29002), INT16_C( 0), INT16_C(-29002),
|
||
|
|
INT16_C(-29002), INT16_C(-29002), INT16_C( 0), INT16_C(-29002),
|
||
|
|
INT16_C(-29002), INT16_C( 0), INT16_C( 0), INT16_C(-29002),
|
||
|
|
INT16_C( 0), INT16_C(-29002), INT16_C(-29002), INT16_C(-29002),
|
||
|
|
INT16_C(-29002), INT16_C(-29002), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 0), INT16_C( 0), INT16_C(-29002),
|
||
|
|
INT16_C(-29002), INT16_C( 0), INT16_C( 0), INT16_C( 0)) },
|
||
|
|
{ UINT32_C(1548742660),
|
||
|
|
INT16_C( 11362),
|
||
|
|
simde_mm512_set_epi16(INT16_C( 0), INT16_C( 11362), INT16_C( 0), INT16_C( 11362),
|
||
|
|
INT16_C( 11362), INT16_C( 11362), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 0), INT16_C( 11362), INT16_C( 0), INT16_C( 0),
|
||
|
|
INT16_C( 11362), INT16_C( 11362), INT16_C( 11362), INT16_C( 11362),
|
||
|
|
INT16_C( 11362), INT16_C( 11362), INT16_C( 11362), INT16_C( 11362),
|
||
|
|
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( 11362), INT16_C( 0), INT16_C( 0)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_maskz_set1_epi16(test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i16(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_set1_epi32(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
int32_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ 1727286739,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739),
|
||
|
|
INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739),
|
||
|
|
INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739),
|
||
|
|
INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739), INT32_C( 1727286739)) },
|
||
|
|
{ 1944050466,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466),
|
||
|
|
INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466),
|
||
|
|
INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466),
|
||
|
|
INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466), INT32_C( 1944050466)) },
|
||
|
|
{ -1212539061,
|
||
|
|
simde_mm512_set_epi32(INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061),
|
||
|
|
INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061),
|
||
|
|
INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061),
|
||
|
|
INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061), INT32_C(-1212539061)) },
|
||
|
|
{ -1654733061,
|
||
|
|
simde_mm512_set_epi32(INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061),
|
||
|
|
INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061),
|
||
|
|
INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061),
|
||
|
|
INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061), INT32_C(-1654733061)) },
|
||
|
|
{ -1048158621,
|
||
|
|
simde_mm512_set_epi32(INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621),
|
||
|
|
INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621),
|
||
|
|
INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621),
|
||
|
|
INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621), INT32_C(-1048158621)) },
|
||
|
|
{ -676031020,
|
||
|
|
simde_mm512_set_epi32(INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020),
|
||
|
|
INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020),
|
||
|
|
INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020),
|
||
|
|
INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020), INT32_C( -676031020)) },
|
||
|
|
{ 651688918,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918),
|
||
|
|
INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918),
|
||
|
|
INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918),
|
||
|
|
INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918), INT32_C( 651688918)) },
|
||
|
|
{ -1051556258,
|
||
|
|
simde_mm512_set_epi32(INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258),
|
||
|
|
INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258),
|
||
|
|
INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258),
|
||
|
|
INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258), INT32_C(-1051556258)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_set1_epi32(test_vec[i].a);
|
||
|
|
simde_assert_m512i_i32(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_mask_set1_epi32(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__m512i src;
|
||
|
|
simde__mmask16 k;
|
||
|
|
int32_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ simde_mm512_set_epi32(INT32_C(-2133842294), INT32_C( 1453587049), INT32_C( 2146642803), INT32_C(-1231323727),
|
||
|
|
INT32_C( 1853533908), INT32_C(-1907653908), INT32_C( 564694133), INT32_C(-1137944481),
|
||
|
|
INT32_C( 355997036), INT32_C( 15257739), INT32_C( 1494729649), INT32_C( 1029796613),
|
||
|
|
INT32_C( 2106354400), INT32_C( 1763331885), INT32_C( -506942576), INT32_C( -586993838)),
|
||
|
|
UINT16_C( 2584),
|
||
|
|
-447334412,
|
||
|
|
simde_mm512_set_epi32(INT32_C(-2133842294), INT32_C( 1453587049), INT32_C( 2146642803), INT32_C(-1231323727),
|
||
|
|
INT32_C( -447334412), INT32_C(-1907653908), INT32_C( -447334412), INT32_C(-1137944481),
|
||
|
|
INT32_C( 355997036), INT32_C( 15257739), INT32_C( 1494729649), INT32_C( -447334412),
|
||
|
|
INT32_C( -447334412), INT32_C( 1763331885), INT32_C( -506942576), INT32_C( -586993838)) },
|
||
|
|
{ simde_mm512_set_epi32(INT32_C( -998613800), INT32_C( 131555600), INT32_C( -778207920), INT32_C(-1881674086),
|
||
|
|
INT32_C( 920672518), INT32_C(-1753434445), INT32_C( 982638267), INT32_C( 1856541033),
|
||
|
|
INT32_C( -869506663), INT32_C( -394635465), INT32_C(-1596048192), INT32_C( 274218308),
|
||
|
|
INT32_C( 757893716), INT32_C(-2119306902), INT32_C( 364747827), INT32_C( -200526147)),
|
||
|
|
UINT16_C(52133),
|
||
|
|
749362876,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 749362876), INT32_C( 749362876), INT32_C( -778207920), INT32_C(-1881674086),
|
||
|
|
INT32_C( 749362876), INT32_C(-1753434445), INT32_C( 749362876), INT32_C( 749362876),
|
||
|
|
INT32_C( 749362876), INT32_C( -394635465), INT32_C( 749362876), INT32_C( 274218308),
|
||
|
|
INT32_C( 757893716), INT32_C( 749362876), INT32_C( 364747827), INT32_C( 749362876)) },
|
||
|
|
{ simde_mm512_set_epi32(INT32_C(-2009617550), INT32_C( 1354406381), INT32_C( 2028903938), INT32_C(-1425115920),
|
||
|
|
INT32_C(-1833209985), INT32_C( -485232115), INT32_C( -246273875), INT32_C(-1220668381),
|
||
|
|
INT32_C( 1710154952), INT32_C(-1764069342), INT32_C( -426734827), INT32_C(-1603498425),
|
||
|
|
INT32_C(-1463214772), INT32_C(-1312774926), INT32_C( 714085999), INT32_C( -352604741)),
|
||
|
|
UINT16_C(50570),
|
||
|
|
722829713,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 722829713), INT32_C( 722829713), INT32_C( 2028903938), INT32_C(-1425115920),
|
||
|
|
INT32_C(-1833209985), INT32_C( 722829713), INT32_C( -246273875), INT32_C( 722829713),
|
||
|
|
INT32_C( 722829713), INT32_C(-1764069342), INT32_C( -426734827), INT32_C(-1603498425),
|
||
|
|
INT32_C( 722829713), INT32_C(-1312774926), INT32_C( 722829713), INT32_C( -352604741)) },
|
||
|
|
{ simde_mm512_set_epi32(INT32_C(-1600817970), INT32_C( -289243644), INT32_C( 742005878), INT32_C( -612930926),
|
||
|
|
INT32_C( 717430896), INT32_C( 1787140065), INT32_C(-1405808293), INT32_C( 816556317),
|
||
|
|
INT32_C( 1747379900), INT32_C(-1006412100), INT32_C( 2116251350), INT32_C(-1238632202),
|
||
|
|
INT32_C( 1684739890), INT32_C( 1414060999), INT32_C(-2081867445), INT32_C( 1952705540)),
|
||
|
|
UINT16_C(15423),
|
||
|
|
1968604658,
|
||
|
|
simde_mm512_set_epi32(INT32_C(-1600817970), INT32_C( -289243644), INT32_C( 1968604658), INT32_C( 1968604658),
|
||
|
|
INT32_C( 1968604658), INT32_C( 1968604658), INT32_C(-1405808293), INT32_C( 816556317),
|
||
|
|
INT32_C( 1747379900), INT32_C(-1006412100), INT32_C( 1968604658), INT32_C( 1968604658),
|
||
|
|
INT32_C( 1968604658), INT32_C( 1968604658), INT32_C( 1968604658), INT32_C( 1968604658)) },
|
||
|
|
{ simde_mm512_set_epi32(INT32_C( -666739030), INT32_C(-1370874438), INT32_C(-1476494318), INT32_C(-1101994537),
|
||
|
|
INT32_C( 338919471), INT32_C( -523657701), INT32_C( 1918205933), INT32_C( -933363441),
|
||
|
|
INT32_C( 191279486), INT32_C( -793805997), INT32_C(-1611569913), INT32_C(-1249963897),
|
||
|
|
INT32_C(-1384621234), INT32_C( 1593832662), INT32_C( 656079206), INT32_C(-1000644982)),
|
||
|
|
UINT16_C(34631),
|
||
|
|
997675190,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 997675190), INT32_C(-1370874438), INT32_C(-1476494318), INT32_C(-1101994537),
|
||
|
|
INT32_C( 338919471), INT32_C( 997675190), INT32_C( 997675190), INT32_C( 997675190),
|
||
|
|
INT32_C( 191279486), INT32_C( 997675190), INT32_C(-1611569913), INT32_C(-1249963897),
|
||
|
|
INT32_C(-1384621234), INT32_C( 997675190), INT32_C( 997675190), INT32_C( 997675190)) },
|
||
|
|
{ simde_mm512_set_epi32(INT32_C( 121649236), INT32_C( 1078857855), INT32_C( -789079366), INT32_C( 720922870),
|
||
|
|
INT32_C( 2041256669), INT32_C( -203208947), INT32_C( 1607011101), INT32_C(-1156829654),
|
||
|
|
INT32_C( 230848793), INT32_C( 1678224863), INT32_C( 2110278578), INT32_C(-1808926794),
|
||
|
|
INT32_C( 1395318189), INT32_C( 331190146), INT32_C( 150534496), INT32_C( 511594435)),
|
||
|
|
UINT16_C(61391),
|
||
|
|
-1035845727,
|
||
|
|
simde_mm512_set_epi32(INT32_C(-1035845727), INT32_C(-1035845727), INT32_C(-1035845727), INT32_C( 720922870),
|
||
|
|
INT32_C(-1035845727), INT32_C(-1035845727), INT32_C(-1035845727), INT32_C(-1035845727),
|
||
|
|
INT32_C(-1035845727), INT32_C(-1035845727), INT32_C( 2110278578), INT32_C(-1808926794),
|
||
|
|
INT32_C(-1035845727), INT32_C(-1035845727), INT32_C(-1035845727), INT32_C(-1035845727)) },
|
||
|
|
{ simde_mm512_set_epi32(INT32_C( -439673063), INT32_C( 281345174), INT32_C( 1703672409), INT32_C( 1433894072),
|
||
|
|
INT32_C(-1374287391), INT32_C(-2054374124), INT32_C(-2087863688), INT32_C( 775409014),
|
||
|
|
INT32_C( 684629778), INT32_C(-1498533524), INT32_C( -208955538), INT32_C( 1063127700),
|
||
|
|
INT32_C( 429182470), INT32_C(-1892329828), INT32_C( 837229295), INT32_C( -115373033)),
|
||
|
|
UINT16_C( 2879),
|
||
|
|
-1796290912,
|
||
|
|
simde_mm512_set_epi32(INT32_C( -439673063), INT32_C( 281345174), INT32_C( 1703672409), INT32_C( 1433894072),
|
||
|
|
INT32_C(-1796290912), INT32_C(-2054374124), INT32_C(-1796290912), INT32_C(-1796290912),
|
||
|
|
INT32_C( 684629778), INT32_C(-1498533524), INT32_C(-1796290912), INT32_C(-1796290912),
|
||
|
|
INT32_C(-1796290912), INT32_C(-1796290912), INT32_C(-1796290912), INT32_C(-1796290912)) },
|
||
|
|
{ simde_mm512_set_epi32(INT32_C( 211854878), INT32_C( 1120217162), INT32_C( 1399020352), INT32_C(-1730262794),
|
||
|
|
INT32_C( -217750907), INT32_C(-1958971298), INT32_C( 1308051941), INT32_C( 659156948),
|
||
|
|
INT32_C( -413755412), INT32_C(-1891691945), INT32_C(-1613764989), INT32_C( 1818229349),
|
||
|
|
INT32_C( 1838020027), INT32_C( 1546326520), INT32_C( 1564338027), INT32_C( 1340948138)),
|
||
|
|
UINT16_C(26109),
|
||
|
|
154532243,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 211854878), INT32_C( 154532243), INT32_C( 154532243), INT32_C(-1730262794),
|
||
|
|
INT32_C( -217750907), INT32_C( 154532243), INT32_C( 1308051941), INT32_C( 154532243),
|
||
|
|
INT32_C( 154532243), INT32_C( 154532243), INT32_C( 154532243), INT32_C( 154532243),
|
||
|
|
INT32_C( 154532243), INT32_C( 154532243), INT32_C( 1564338027), INT32_C( 154532243)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_mask_set1_epi32(test_vec[i].src, test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i32(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_maskz_set1_epi32(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__mmask16 k;
|
||
|
|
int32_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ UINT16_C(55449),
|
||
|
|
1161879327,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 1161879327), INT32_C( 1161879327), INT32_C( 0), INT32_C( 1161879327),
|
||
|
|
INT32_C( 1161879327), INT32_C( 0), INT32_C( 0), INT32_C( 0),
|
||
|
|
INT32_C( 1161879327), INT32_C( 0), INT32_C( 0), INT32_C( 1161879327),
|
||
|
|
INT32_C( 1161879327), INT32_C( 0), INT32_C( 0), INT32_C( 1161879327)) },
|
||
|
|
{ UINT16_C(42205),
|
||
|
|
491258437,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 491258437), INT32_C( 0), INT32_C( 491258437), INT32_C( 0),
|
||
|
|
INT32_C( 0), INT32_C( 491258437), INT32_C( 0), INT32_C( 0),
|
||
|
|
INT32_C( 491258437), INT32_C( 491258437), INT32_C( 0), INT32_C( 491258437),
|
||
|
|
INT32_C( 491258437), INT32_C( 491258437), INT32_C( 0), INT32_C( 491258437)) },
|
||
|
|
{ UINT16_C(46294),
|
||
|
|
1464671644,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 1464671644), INT32_C( 0), INT32_C( 1464671644), INT32_C( 1464671644),
|
||
|
|
INT32_C( 0), INT32_C( 1464671644), INT32_C( 0), INT32_C( 0),
|
||
|
|
INT32_C( 1464671644), INT32_C( 1464671644), INT32_C( 0), INT32_C( 1464671644),
|
||
|
|
INT32_C( 0), INT32_C( 1464671644), INT32_C( 1464671644), INT32_C( 0)) },
|
||
|
|
{ UINT16_C(57846),
|
||
|
|
1382569562,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 1382569562), INT32_C( 1382569562), INT32_C( 1382569562), INT32_C( 0),
|
||
|
|
INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 1382569562),
|
||
|
|
INT32_C( 1382569562), INT32_C( 1382569562), INT32_C( 1382569562), INT32_C( 1382569562),
|
||
|
|
INT32_C( 0), INT32_C( 1382569562), INT32_C( 1382569562), INT32_C( 0)) },
|
||
|
|
{ UINT16_C(64688),
|
||
|
|
417592133,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 417592133), INT32_C( 417592133), INT32_C( 417592133), INT32_C( 417592133),
|
||
|
|
INT32_C( 417592133), INT32_C( 417592133), INT32_C( 0), INT32_C( 0),
|
||
|
|
INT32_C( 417592133), INT32_C( 0), INT32_C( 417592133), INT32_C( 417592133),
|
||
|
|
INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0)) },
|
||
|
|
{ UINT16_C(40468),
|
||
|
|
103154350,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 103154350), INT32_C( 0), INT32_C( 0), INT32_C( 103154350),
|
||
|
|
INT32_C( 103154350), INT32_C( 103154350), INT32_C( 103154350), INT32_C( 0),
|
||
|
|
INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 103154350),
|
||
|
|
INT32_C( 0), INT32_C( 103154350), INT32_C( 0), INT32_C( 0)) },
|
||
|
|
{ UINT16_C(20696),
|
||
|
|
487897671,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 0), INT32_C( 487897671), INT32_C( 0), INT32_C( 487897671),
|
||
|
|
INT32_C( 0), INT32_C( 0), INT32_C( 0), INT32_C( 0),
|
||
|
|
INT32_C( 487897671), INT32_C( 487897671), INT32_C( 0), INT32_C( 487897671),
|
||
|
|
INT32_C( 487897671), INT32_C( 0), INT32_C( 0), INT32_C( 0)) },
|
||
|
|
{ UINT16_C(47493),
|
||
|
|
643357764,
|
||
|
|
simde_mm512_set_epi32(INT32_C( 643357764), INT32_C( 0), INT32_C( 643357764), INT32_C( 643357764),
|
||
|
|
INT32_C( 643357764), INT32_C( 0), INT32_C( 0), INT32_C( 643357764),
|
||
|
|
INT32_C( 643357764), INT32_C( 0), INT32_C( 0), INT32_C( 0),
|
||
|
|
INT32_C( 0), INT32_C( 643357764), INT32_C( 0), INT32_C( 643357764)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_maskz_set1_epi32(test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i32(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_set1_epi64(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
int64_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ -8789375007372599774,
|
||
|
|
simde_mm512_set_epi64(INT64_C(-8789375007372599774), INT64_C(-8789375007372599774),
|
||
|
|
INT64_C(-8789375007372599774), INT64_C(-8789375007372599774),
|
||
|
|
INT64_C(-8789375007372599774), INT64_C(-8789375007372599774),
|
||
|
|
INT64_C(-8789375007372599774), INT64_C(-8789375007372599774)) },
|
||
|
|
{ -4285935604177939284,
|
||
|
|
simde_mm512_set_epi64(INT64_C(-4285935604177939284), INT64_C(-4285935604177939284),
|
||
|
|
INT64_C(-4285935604177939284), INT64_C(-4285935604177939284),
|
||
|
|
INT64_C(-4285935604177939284), INT64_C(-4285935604177939284),
|
||
|
|
INT64_C(-4285935604177939284), INT64_C(-4285935604177939284)) },
|
||
|
|
{ -1541935515905504488,
|
||
|
|
simde_mm512_set_epi64(INT64_C(-1541935515905504488), INT64_C(-1541935515905504488),
|
||
|
|
INT64_C(-1541935515905504488), INT64_C(-1541935515905504488),
|
||
|
|
INT64_C(-1541935515905504488), INT64_C(-1541935515905504488),
|
||
|
|
INT64_C(-1541935515905504488), INT64_C(-1541935515905504488)) },
|
||
|
|
{ 5952985382071947058,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 5952985382071947058), INT64_C( 5952985382071947058),
|
||
|
|
INT64_C( 5952985382071947058), INT64_C( 5952985382071947058),
|
||
|
|
INT64_C( 5952985382071947058), INT64_C( 5952985382071947058),
|
||
|
|
INT64_C( 5952985382071947058), INT64_C( 5952985382071947058)) },
|
||
|
|
{ -7162660555270519798,
|
||
|
|
simde_mm512_set_epi64(INT64_C(-7162660555270519798), INT64_C(-7162660555270519798),
|
||
|
|
INT64_C(-7162660555270519798), INT64_C(-7162660555270519798),
|
||
|
|
INT64_C(-7162660555270519798), INT64_C(-7162660555270519798),
|
||
|
|
INT64_C(-7162660555270519798), INT64_C(-7162660555270519798)) },
|
||
|
|
{ 8404097979084250521,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 8404097979084250521), INT64_C( 8404097979084250521),
|
||
|
|
INT64_C( 8404097979084250521), INT64_C( 8404097979084250521),
|
||
|
|
INT64_C( 8404097979084250521), INT64_C( 8404097979084250521),
|
||
|
|
INT64_C( 8404097979084250521), INT64_C( 8404097979084250521)) },
|
||
|
|
{ 274863432779804064,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 274863432779804064), INT64_C( 274863432779804064),
|
||
|
|
INT64_C( 274863432779804064), INT64_C( 274863432779804064),
|
||
|
|
INT64_C( 274863432779804064), INT64_C( 274863432779804064),
|
||
|
|
INT64_C( 274863432779804064), INT64_C( 274863432779804064)) },
|
||
|
|
{ -6073562903357076278,
|
||
|
|
simde_mm512_set_epi64(INT64_C(-6073562903357076278), INT64_C(-6073562903357076278),
|
||
|
|
INT64_C(-6073562903357076278), INT64_C(-6073562903357076278),
|
||
|
|
INT64_C(-6073562903357076278), INT64_C(-6073562903357076278),
|
||
|
|
INT64_C(-6073562903357076278), INT64_C(-6073562903357076278)) },
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_set1_epi64(test_vec[i].a);
|
||
|
|
simde_assert_m512i_i64(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_mask_set1_epi64(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__m512i src;
|
||
|
|
simde__mmask8 k;
|
||
|
|
int64_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ simde_mm512_set_epi64(INT64_C( 1045216498523672669), INT64_C(-6036444540175881058),
|
||
|
|
INT64_C(-5911148920502355606), INT64_C(-7577028982327639795),
|
||
|
|
INT64_C(-2741592730704877834), INT64_C(-6453831303076951346),
|
||
|
|
INT64_C(-6689489276565790355), INT64_C( 202845396246057443)),
|
||
|
|
UINT8_C(230),
|
||
|
|
147395854529182590,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 147395854529182590), INT64_C( 147395854529182590),
|
||
|
|
INT64_C( 147395854529182590), INT64_C(-7577028982327639795),
|
||
|
|
INT64_C(-2741592730704877834), INT64_C( 147395854529182590),
|
||
|
|
INT64_C( 147395854529182590), INT64_C( 202845396246057443)) },
|
||
|
|
{ simde_mm512_set_epi64(INT64_C(-7718401035083209663), INT64_C(-3076780457048070953),
|
||
|
|
INT64_C( 6475016072843370494), INT64_C(-8381463578250516776),
|
||
|
|
INT64_C( 7440179812526306236), INT64_C(-1565233080792835049),
|
||
|
|
INT64_C(-3520705077242655190), INT64_C( 711599945422741640)),
|
||
|
|
UINT8_C(183),
|
||
|
|
7896918852801948623,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 7896918852801948623), INT64_C(-3076780457048070953),
|
||
|
|
INT64_C( 7896918852801948623), INT64_C( 7896918852801948623),
|
||
|
|
INT64_C( 7440179812526306236), INT64_C( 7896918852801948623),
|
||
|
|
INT64_C( 7896918852801948623), INT64_C( 7896918852801948623)) },
|
||
|
|
{ simde_mm512_set_epi64(INT64_C( 4486030894140599897), INT64_C( 6422628958957749227),
|
||
|
|
INT64_C(-5036188723709908563), INT64_C( 7249692644755604208),
|
||
|
|
INT64_C(-7968846935772652304), INT64_C(-1019958922473354647),
|
||
|
|
INT64_C( 5481721181155050457), INT64_C( 3220728135426515219)),
|
||
|
|
UINT8_C(250),
|
||
|
|
6737731418145878376,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 6737731418145878376), INT64_C( 6737731418145878376),
|
||
|
|
INT64_C( 6737731418145878376), INT64_C( 6737731418145878376),
|
||
|
|
INT64_C( 6737731418145878376), INT64_C(-1019958922473354647),
|
||
|
|
INT64_C( 6737731418145878376), INT64_C( 3220728135426515219)) },
|
||
|
|
{ simde_mm512_set_epi64(INT64_C(-6396453660831390526), INT64_C( 8933529613499491135),
|
||
|
|
INT64_C( -583608444119273487), INT64_C( 2774349158822651995),
|
||
|
|
INT64_C( 5342483589547515588), INT64_C( 169032945576329978),
|
||
|
|
INT64_C(-6862029605560509115), INT64_C( 6948715933942990141)),
|
||
|
|
UINT8_C(144),
|
||
|
|
5224961598009568585,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 5224961598009568585), INT64_C( 8933529613499491135),
|
||
|
|
INT64_C( -583608444119273487), INT64_C( 5224961598009568585),
|
||
|
|
INT64_C( 5342483589547515588), INT64_C( 169032945576329978),
|
||
|
|
INT64_C(-6862029605560509115), INT64_C( 6948715933942990141)) },
|
||
|
|
{ simde_mm512_set_epi64(INT64_C(-4346308446834850778), INT64_C( 2749670639259677889),
|
||
|
|
INT64_C(-1682235429196139261), INT64_C(-8570560540139381802),
|
||
|
|
INT64_C(-7853283901496397391), INT64_C( 153768084219711829),
|
||
|
|
INT64_C(-3210037353748455743), INT64_C(-4029896259883002015)),
|
||
|
|
UINT8_C(214),
|
||
|
|
-5146489163462262224,
|
||
|
|
simde_mm512_set_epi64(INT64_C(-5146489163462262224), INT64_C(-5146489163462262224),
|
||
|
|
INT64_C(-1682235429196139261), INT64_C(-5146489163462262224),
|
||
|
|
INT64_C(-7853283901496397391), INT64_C(-5146489163462262224),
|
||
|
|
INT64_C(-5146489163462262224), INT64_C(-4029896259883002015)) },
|
||
|
|
{ simde_mm512_set_epi64(INT64_C( 6394437943527522650), INT64_C(-6125470791748892618),
|
||
|
|
INT64_C(-5975035781359101837), INT64_C( 4399409063692409934),
|
||
|
|
INT64_C(-8019209045639092618), INT64_C(-3157603671849839607),
|
||
|
|
INT64_C(-6814419689115640150), INT64_C( 5538401471960412489)),
|
||
|
|
UINT8_C( 88),
|
||
|
|
-748084489617986997,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 6394437943527522650), INT64_C( -748084489617986997),
|
||
|
|
INT64_C(-5975035781359101837), INT64_C( -748084489617986997),
|
||
|
|
INT64_C( -748084489617986997), INT64_C(-3157603671849839607),
|
||
|
|
INT64_C(-6814419689115640150), INT64_C( 5538401471960412489)) },
|
||
|
|
{ simde_mm512_set_epi64(INT64_C( 6475451416366061513), INT64_C( 3128457729014411682),
|
||
|
|
INT64_C( 4167134861407868007), INT64_C( 2076318686723048286),
|
||
|
|
INT64_C( 764926893292127387), INT64_C(-3471922167199587188),
|
||
|
|
INT64_C(-1007473193319966067), INT64_C(-7587900950013848349)),
|
||
|
|
UINT8_C( 14),
|
||
|
|
-3095861881784422408,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 6475451416366061513), INT64_C( 3128457729014411682),
|
||
|
|
INT64_C( 4167134861407868007), INT64_C( 2076318686723048286),
|
||
|
|
INT64_C(-3095861881784422408), INT64_C(-3095861881784422408),
|
||
|
|
INT64_C(-3095861881784422408), INT64_C(-7587900950013848349)) },
|
||
|
|
{ simde_mm512_set_epi64(INT64_C(-8918688664014182717), INT64_C(-5923824341695687917),
|
||
|
|
INT64_C( 597335319340416274), INT64_C(-6405873593024845306),
|
||
|
|
INT64_C( 9156616106305782892), INT64_C(-3930771615997737816),
|
||
|
|
INT64_C(-3489614562807589194), INT64_C(-6234599678791232286)),
|
||
|
|
UINT8_C( 48),
|
||
|
|
-2201472844397108415,
|
||
|
|
simde_mm512_set_epi64(INT64_C(-8918688664014182717), INT64_C(-5923824341695687917),
|
||
|
|
INT64_C(-2201472844397108415), INT64_C(-2201472844397108415),
|
||
|
|
INT64_C( 9156616106305782892), INT64_C(-3930771615997737816),
|
||
|
|
INT64_C(-3489614562807589194), INT64_C(-6234599678791232286)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_mask_set1_epi64(test_vec[i].src, test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i64(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
static int
|
||
|
|
test_simde_mm512_maskz_set1_epi64(SIMDE_MUNIT_TEST_ARGS) {
|
||
|
|
const struct {
|
||
|
|
simde__mmask8 k;
|
||
|
|
int64_t a;
|
||
|
|
simde__m512i r;
|
||
|
|
} test_vec[8] = {
|
||
|
|
{ UINT8_C(207),
|
||
|
|
9161374966470958313,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 9161374966470958313), INT64_C( 9161374966470958313),
|
||
|
|
INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C( 9161374966470958313), INT64_C( 9161374966470958313),
|
||
|
|
INT64_C( 9161374966470958313), INT64_C( 9161374966470958313)) },
|
||
|
|
{ UINT8_C( 52),
|
||
|
|
-5504071340329784539,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C(-5504071340329784539), INT64_C(-5504071340329784539),
|
||
|
|
INT64_C( 0), INT64_C(-5504071340329784539),
|
||
|
|
INT64_C( 0), INT64_C( 0)) },
|
||
|
|
{ UINT8_C( 37),
|
||
|
|
-4694012945600318045,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C(-4694012945600318045), INT64_C( 0),
|
||
|
|
INT64_C( 0), INT64_C(-4694012945600318045),
|
||
|
|
INT64_C( 0), INT64_C(-4694012945600318045)) },
|
||
|
|
{ UINT8_C( 77),
|
||
|
|
-4616382267006571958,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 0), INT64_C(-4616382267006571958),
|
||
|
|
INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C(-4616382267006571958), INT64_C(-4616382267006571958),
|
||
|
|
INT64_C( 0), INT64_C(-4616382267006571958)) },
|
||
|
|
{ UINT8_C( 33),
|
||
|
|
-7296455954195359480,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C(-7296455954195359480), INT64_C( 0),
|
||
|
|
INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C( 0), INT64_C(-7296455954195359480)) },
|
||
|
|
{ UINT8_C( 47),
|
||
|
|
-8949112185126954032,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C(-8949112185126954032), INT64_C( 0),
|
||
|
|
INT64_C(-8949112185126954032), INT64_C(-8949112185126954032),
|
||
|
|
INT64_C(-8949112185126954032), INT64_C(-8949112185126954032)) },
|
||
|
|
{ UINT8_C( 80),
|
||
|
|
8577224771648710248,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 0), INT64_C( 8577224771648710248),
|
||
|
|
INT64_C( 0), INT64_C( 8577224771648710248),
|
||
|
|
INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C( 0), INT64_C( 0)) },
|
||
|
|
{ UINT8_C( 2),
|
||
|
|
-5341779416438471199,
|
||
|
|
simde_mm512_set_epi64(INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C( 0), INT64_C( 0),
|
||
|
|
INT64_C(-5341779416438471199), INT64_C( 0)) }
|
||
|
|
};
|
||
|
|
|
||
|
|
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
|
||
|
|
simde__m512i r = simde_mm512_maskz_set1_epi64(test_vec[i].k, test_vec[i].a);
|
||
|
|
simde_assert_m512i_i64(r, ==, test_vec[i].r);
|
||
|
|
}
|
||
|
|
|
||
|
|
return 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
SIMDE_TEST_FUNC_LIST_BEGIN
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_set1_epi8)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_set1_epi8)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_set1_epi8)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_set1_epi16)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_set1_epi16)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_set1_epi16)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_set1_epi32)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_set1_epi32)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_set1_epi32)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_set1_epi64)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_set1_epi64)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_set1_epi64)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_set1_ps)
|
||
|
|
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_set1_pd)
|
||
|
|
SIMDE_TEST_FUNC_LIST_END
|
||
|
|
|
||
|
|
#include <test/x86/avx512/test-avx512-footer.h>
|