libdpf/thirdparty/simde/test/x86/avx512/subs.c

3167 lines
254 KiB
C
Raw Normal View History

/* 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 Hidayat Khan <huk2209@gmail.com>
*/
#define SIMDE_TEST_X86_AVX512_INSN subs
#include <test/x86/avx512/test-avx512.h>
#include <simde/x86/avx512/set.h>
#include <simde/x86/avx512/subs.h>
static int
test_simde_mm512_subs_epi8(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ simde_mm512_set_epi8(INT8_C( 82), INT8_C( 83), INT8_C( 117), INT8_C( 65),
INT8_C( -47), INT8_C(-122), INT8_C( 116), INT8_C( 14),
INT8_C( 76), INT8_C( 1), INT8_C( -50), INT8_C( 4),
INT8_C( 83), INT8_C( -77), INT8_C( 112), INT8_C(-102),
INT8_C( 99), INT8_C(-118), INT8_C( -47), INT8_C( -67),
INT8_C( 60), INT8_C( -34), INT8_C( 78), INT8_C(-110),
INT8_C( -58), INT8_C( 87), INT8_C( -61), INT8_C( 26),
INT8_C( -17), INT8_C( -46), INT8_C( 116), INT8_C( -20),
INT8_C(-120), INT8_C( 48), INT8_C( 24), INT8_C( 46),
INT8_C( 103), INT8_C( -34), INT8_C( 42), INT8_C( 51),
INT8_C( -65), INT8_C( 86), INT8_C( 61), INT8_C( -56),
INT8_C( 58), INT8_C( 119), INT8_C( 93), INT8_C( -1),
INT8_C( -58), INT8_C(-121), INT8_C( -32), INT8_C( 98),
INT8_C( -66), INT8_C( 79), INT8_C( 99), INT8_C( -93),
INT8_C( 77), INT8_C( -56), INT8_C( -78), INT8_C( 39),
INT8_C( -50), INT8_C( -60), INT8_C( -68), INT8_C( -4)),
simde_mm512_set_epi8(INT8_C( 106), INT8_C( 39), INT8_C(-106), INT8_C( 14),
INT8_C( -28), INT8_C( -2), INT8_C( 39), INT8_C( -28),
INT8_C( 54), INT8_C( 70), INT8_C( -19), INT8_C( -12),
INT8_C( -42), INT8_C( 28), INT8_C( -13), INT8_C( -6),
INT8_C( 116), INT8_C( 2), INT8_C( 23), INT8_C( 121),
INT8_C( 112), INT8_C( -35), INT8_C(-124), INT8_C( 10),
INT8_C( -16), INT8_C(-117), INT8_C( 26), INT8_C(-125),
INT8_C( 36), INT8_C( 109), INT8_C( 29), INT8_C( -35),
INT8_C( -9), INT8_C( -85), INT8_C( -38), INT8_C( 95),
INT8_C( -88), INT8_C( 3), INT8_C( 4), INT8_C( 100),
INT8_C( 85), INT8_C( 21), INT8_C( 66), INT8_C( -33),
INT8_C( -77), INT8_C( -5), INT8_C(-126), INT8_C( 122),
INT8_C( -30), INT8_C( -83), INT8_C( 74), INT8_C(-108),
INT8_C( 83), INT8_C( -96), INT8_C( -57), INT8_C(-108),
INT8_C( 89), INT8_C( 59), INT8_C( 111), INT8_C( -47),
INT8_C( -10), INT8_C( -18), INT8_C( 20), INT8_C(-125)),
simde_mm512_set_epi8(INT8_C( -24), INT8_C( 44), INT8_C( 127), INT8_C( 51),
INT8_C( -19), INT8_C(-120), INT8_C( 77), INT8_C( 42),
INT8_C( 22), INT8_C( -69), INT8_C( -31), INT8_C( 16),
INT8_C( 125), INT8_C(-105), INT8_C( 125), INT8_C( -96),
INT8_C( -17), INT8_C(-120), INT8_C( -70), INT8_C(-128),
INT8_C( -52), INT8_C( 1), INT8_C( 127), INT8_C(-120),
INT8_C( -42), INT8_C( 127), INT8_C( -87), INT8_C( 127),
INT8_C( -53), INT8_C(-128), INT8_C( 87), INT8_C( 15),
INT8_C(-111), INT8_C( 127), INT8_C( 62), INT8_C( -49),
INT8_C( 127), INT8_C( -37), INT8_C( 38), INT8_C( -49),
INT8_C(-128), INT8_C( 65), INT8_C( -5), INT8_C( -23),
INT8_C( 127), INT8_C( 124), INT8_C( 127), INT8_C(-123),
INT8_C( -28), INT8_C( -38), INT8_C(-106), INT8_C( 127),
INT8_C(-128), INT8_C( 127), INT8_C( 127), INT8_C( 15),
INT8_C( -12), INT8_C(-115), INT8_C(-128), INT8_C( 86),
INT8_C( -40), INT8_C( -42), INT8_C( -88), INT8_C( 121)) },
{ simde_mm512_set_epi8(INT8_C(-108), INT8_C(-116), INT8_C( 21), INT8_C(-123),
INT8_C( -53), INT8_C( 42), INT8_C( 66), INT8_C( 13),
INT8_C( 9), INT8_C( 115), INT8_C( 86), INT8_C( 126),
INT8_C( -24), INT8_C( 35), INT8_C( -5), INT8_C( 103),
INT8_C( 38), INT8_C( 111), INT8_C( 24), INT8_C( -71),
INT8_C( -1), INT8_C( 17), INT8_C( -63), INT8_C( -13),
INT8_C( 14), INT8_C( 82), INT8_C( 78), INT8_C(-102),
INT8_C( -7), INT8_C( 93), INT8_C( 25), INT8_C( 103),
INT8_C( 113), INT8_C( -15), INT8_C( -19), INT8_C( -73),
INT8_C( -11), INT8_C( 103), INT8_C( -97), INT8_C( 123),
INT8_C( 28), INT8_C( 53), INT8_C( -15), INT8_C( 122),
INT8_C( 3), INT8_C( -54), INT8_C( -61), INT8_C( 58),
INT8_C( -44), INT8_C( -3), INT8_C( -43), INT8_C( -35),
INT8_C(-118), INT8_C( -18), INT8_C( 15), INT8_C( 54),
INT8_C(-102), INT8_C( -58), INT8_C( -74), INT8_C( -70),
INT8_C( 46), INT8_C( 48), INT8_C( -35), INT8_C( 92)),
simde_mm512_set_epi8(INT8_C( 6), INT8_C( 68), INT8_C( 77), INT8_C( -94),
INT8_C( -48), INT8_C(-101), INT8_C( -8), INT8_C( 82),
INT8_C( 50), INT8_C( -15), INT8_C( 6), INT8_C( 30),
INT8_C( -47), INT8_C( -15), INT8_C( -14), INT8_C( -97),
INT8_C( 28), INT8_C( -47), INT8_C( -92), INT8_C( -84),
INT8_C( -37), INT8_C( -33), INT8_C(-123), INT8_C( -19),
INT8_C( 58), INT8_C( 29), INT8_C( 93), INT8_C( -55),
INT8_C(-127), INT8_C( -60), INT8_C( 32), INT8_C( 116),
INT8_C( -46), INT8_C( 51), INT8_C( -40), INT8_C( 10),
INT8_C( 4), INT8_C( 50), INT8_C( 48), INT8_C( 53),
INT8_C( 78), INT8_C( 21), INT8_C( 64), INT8_C( 107),
INT8_C( 16), INT8_C( 48), INT8_C( -46), INT8_C( 62),
INT8_C( 75), INT8_C( 85), INT8_C(-115), INT8_C( -14),
INT8_C( -99), INT8_C( 86), INT8_C(-116), INT8_C( -74),
INT8_C( 38), INT8_C( 27), INT8_C(-115), INT8_C( 55),
INT8_C( -91), INT8_C( -71), INT8_C( -14), INT8_C( -84)),
simde_mm512_set_epi8(INT8_C(-114), INT8_C(-128), INT8_C( -56), INT8_C( -29),
INT8_C( -5), INT8_C( 127), INT8_C( 74), INT8_C( -69),
INT8_C( -41), INT8_C( 127), INT8_C( 80), INT8_C( 96),
INT8_C( 23), INT8_C( 50), INT8_C( 9), INT8_C( 127),
INT8_C( 10), INT8_C( 127), INT8_C( 116), INT8_C( 13),
INT8_C( 36), INT8_C( 50), INT8_C( 60), INT8_C( 6),
INT8_C( -44), INT8_C( 53), INT8_C( -15), INT8_C( -47),
INT8_C( 120), INT8_C( 127), INT8_C( -7), INT8_C( -13),
INT8_C( 127), INT8_C( -66), INT8_C( 21), INT8_C( -83),
INT8_C( -15), INT8_C( 53), INT8_C(-128), INT8_C( 70),
INT8_C( -50), INT8_C( 32), INT8_C( -79), INT8_C( 15),
INT8_C( -13), INT8_C(-102), INT8_C( -15), INT8_C( -4),
INT8_C(-119), INT8_C( -88), INT8_C( 72), INT8_C( -21),
INT8_C( -19), INT8_C(-104), INT8_C( 127), INT8_C( 127),
INT8_C(-128), INT8_C( -85), INT8_C( 41), INT8_C(-125),
INT8_C( 127), INT8_C( 119), INT8_C( -21), INT8_C( 127)) },
{ simde_mm512_set_epi8(INT8_C( 2), INT8_C( -77), INT8_C( -19), INT8_C( 41),
INT8_C( -13), INT8_C( 75), INT8_C(-123), INT8_C( 96),
INT8_C( -86), INT8_C( -24), INT8_C( -27), INT8_C( -84),
INT8_C( 35), INT8_C( -86), INT8_C( -72), INT8_C( -97),
INT8_C( 44), INT8_C( 11), INT8_C(-106), INT8_C( 44),
INT8_C( 0), INT8_C( 90), INT8_C( -79), INT8_C( 91),
INT8_C( 119), INT8_C( 59), INT8_C( 105), INT8_C(-128),
INT8_C( 110), INT8_C( -29), INT8_C( 67), INT8_C( 114),
INT8_C( -39), INT8_C( -49), INT8_C( 105), INT8_C( -40),
INT8_C( -33), INT8_C( 120), INT8_C( -27), INT8_C( 100),
INT8_C( -90), INT8_C( 86), INT8_C( -18), INT8_C( -57),
INT8_C( 84), INT8_C( -26), INT8_C( -77), INT8_C( 17),
INT8_C( -47), INT8_C( 51), INT8_C( -83), INT8_C( 53),
INT8_C( 71), INT8_C( 96), INT8_C( 110), INT8_C( -89),
INT8_C( 27), INT8_C( -45), INT8_C(-126), INT8_C( 40),
INT8_C( 95), INT8_C( -87), INT8_C( -62), INT8_C( -52)),
simde_mm512_set_epi8(INT8_C( -84), INT8_C( 127), INT8_C( 61), INT8_C( -16),
INT8_C( 30), INT8_C( 6), INT8_C(-112), INT8_C( 104),
INT8_C( -60), INT8_C( -88), INT8_C( -39), INT8_C( -19),
INT8_C( 44), INT8_C( 36), INT8_C( 105), INT8_C( 120),
INT8_C( -26), INT8_C( 21), INT8_C( 14), INT8_C( 42),
INT8_C( 49), INT8_C( -84), INT8_C(-120), INT8_C(-107),
INT8_C( 123), INT8_C( -47), INT8_C( 21), INT8_C( -10),
INT8_C( 95), INT8_C( 124), INT8_C( -33), INT8_C( -34),
INT8_C( -33), INT8_C( -71), INT8_C( 11), INT8_C( 74),
INT8_C( 104), INT8_C( 108), INT8_C( -35), INT8_C( -59),
INT8_C( -55), INT8_C(-126), INT8_C( 107), INT8_C( 23),
INT8_C( 29), INT8_C( -27), INT8_C( 123), INT8_C( 23),
INT8_C( -83), INT8_C( -90), INT8_C( 9), INT8_C( 94),
INT8_C( 91), INT8_C( 69), INT8_C( -51), INT8_C(-103),
INT8_C( -72), INT8_C( -45), INT8_C( 16), INT8_C( 108),
INT8_C( -80), INT8_C( 27), INT8_C( 58), INT8_C( -83)),
simde_mm512_set_epi8(INT8_C( 86), INT8_C(-128), INT8_C( -80), INT8_C( 57),
INT8_C( -43), INT8_C( 69), INT8_C( -11), INT8_C( -8),
INT8_C( -26), INT8_C( 64), INT8_C( 12), INT8_C( -65),
INT8_C( -9), INT8_C(-122), INT8_C(-128), INT8_C(-128),
INT8_C( 70), INT8_C( -10), INT8_C(-120), INT8_C( 2),
INT8_C( -49), INT8_C( 127), INT8_C( 41), INT8_C( 127),
INT8_C( -4), INT8_C( 106), INT8_C( 84), INT8_C(-118),
INT8_C( 15), INT8_C(-128), INT8_C( 100), INT8_C( 127),
INT8_C( -6), INT8_C( 22), INT8_C( 94), INT8_C(-114),
INT8_C(-128), INT8_C( 12), INT8_C( 8), INT8_C( 127),
INT8_C( -35), INT8_C( 127), INT8_C(-125), INT8_C( -80),
INT8_C( 55), INT8_C( 1), INT8_C(-128), INT8_C( -6),
INT8_C( 36), INT8_C( 127), INT8_C( -92), INT8_C( -41),
INT8_C( -20), INT8_C( 27), INT8_C( 127), INT8_C( 14),
INT8_C( 99), INT8_C( 0), INT8_C(-128), INT8_C( -68),
INT8_C( 127), INT8_C(-114), INT8_C(-120), INT8_C( 31)) },
{ simde_mm512_set_epi8(INT8_C( 17), INT8_C( 99), INT8_C( -13), INT8_C( -49),
INT8_C( 45), INT8_C(-128), INT8_C( 55), INT8_C( 105),
INT8_C( -34), INT8_C( -51), INT8_C( -97), INT8_C(-103),
INT8_C(-124), INT8_C( 111), INT8_C( 74), INT8_C( 75),
INT8_C( 102), INT8_C( 98), INT8_C(-117), INT8_C( 9),
INT8_C( -74), INT8_C( 61), INT8_C( 99), INT8_C( 124),
INT8_C( 79), INT8_C(-114), INT8_C( 19), INT8_C( 97),
INT8_C(-100), INT8_C(-124), INT8_C( -17), INT8_C( -62),
INT8_C( 25), INT8_C( -3), INT8_C( -7), INT8_C( 72),
INT8_C(-117), INT8_C( -27), INT8_C( -56), INT8_C( 92),
INT8_C( -20), INT8_C( -53), INT8_C( 2), INT8_C( -38),
INT8_C( -81), INT8_C( 59), INT8_C( 66), INT8_C( 90),
INT8_C( 36), INT8_C( 100), INT8_C( 112), INT8_C( 123),
INT8_C( -72), INT8_C( -97), INT8_C(-115), INT8_C( 17),
INT8_C( -93), INT8_C(-122), INT8_C( 31), INT8_C( 27),
INT8_C( 109), INT8_C( 115), INT8_C( 53), INT8_C( -96)),
simde_mm512_set_epi8(INT8_C( -43), INT8_C( -18), INT8_C( 114), INT8_C( -29),
INT8_C( 118), INT8_C( -1), INT8_C( -20), INT8_C( -38),
INT8_C( -80), INT8_C( 88), INT8_C(-111), INT8_C( -91),
INT8_C( 44), INT8_C( -72), INT8_C( 106), INT8_C( 19),
INT8_C( -46), INT8_C( 107), INT8_C( 46), INT8_C( 44),
INT8_C( -65), INT8_C(-128), INT8_C( 41), INT8_C( 44),
INT8_C( 68), INT8_C( 69), INT8_C( -78), INT8_C( -47),
INT8_C( 109), INT8_C( 120), INT8_C( -57), INT8_C( -95),
INT8_C( 95), INT8_C( 80), INT8_C( -30), INT8_C( 97),
INT8_C( -48), INT8_C( -97), INT8_C( 111), INT8_C( -80),
INT8_C(-122), INT8_C( -81), INT8_C( -71), INT8_C( 85),
INT8_C( 77), INT8_C( -42), INT8_C(-115), INT8_C( -77),
INT8_C( 29), INT8_C( 77), INT8_C( 64), INT8_C( -20),
INT8_C( 27), INT8_C( 41), INT8_C( 13), INT8_C( 109),
INT8_C( 22), INT8_C( -98), INT8_C( 20), INT8_C( -28),
INT8_C( 66), INT8_C( -7), INT8_C(-113), INT8_C(-119)),
simde_mm512_set_epi8(INT8_C( 60), INT8_C( 117), INT8_C(-127), INT8_C( -20),
INT8_C( -73), INT8_C(-127), INT8_C( 75), INT8_C( 127),
INT8_C( 46), INT8_C(-128), INT8_C( 14), INT8_C( -12),
INT8_C(-128), INT8_C( 127), INT8_C( -32), INT8_C( 56),
INT8_C( 127), INT8_C( -9), INT8_C(-128), INT8_C( -35),
INT8_C( -9), INT8_C( 127), INT8_C( 58), INT8_C( 80),
INT8_C( 11), INT8_C(-128), INT8_C( 97), INT8_C( 127),
INT8_C(-128), INT8_C(-128), INT8_C( 40), INT8_C( 33),
INT8_C( -70), INT8_C( -83), INT8_C( 23), INT8_C( -25),
INT8_C( -69), INT8_C( 70), INT8_C(-128), INT8_C( 127),
INT8_C( 102), INT8_C( 28), INT8_C( 73), INT8_C(-123),
INT8_C(-128), INT8_C( 101), INT8_C( 127), INT8_C( 127),
INT8_C( 7), INT8_C( 23), INT8_C( 48), INT8_C( 127),
INT8_C( -99), INT8_C(-128), INT8_C(-128), INT8_C( -92),
INT8_C(-115), INT8_C( -24), INT8_C( 11), INT8_C( 55),
INT8_C( 43), INT8_C( 122), INT8_C( 127), INT8_C( 23)) },
{ simde_mm512_set_epi8(INT8_C(-124), INT8_C( -73), INT8_C( 74), INT8_C( 5),
INT8_C( -9), INT8_C( 17), INT8_C( -81), INT8_C( -54),
INT8_C( -5), INT8_C( -33), INT8_C( -12), INT8_C( 26),
INT8_C( 86), INT8_C( 122), INT8_C( -44), INT8_C( -23),
INT8_C( 0), INT8_C( 43), INT8_C( -25), INT8_C(-122),
INT8_C( -79), INT8_C(-122), INT8_C( -88), INT8_C(-121),
INT8_C(-102), INT8_C( 66), INT8_C( -93), INT8_C( 105),
INT8_C( 109), INT8_C( -68), INT8_C( 24), INT8_C( -54),
INT8_C( 40), INT8_C( 68), INT8_C( 2), INT8_C( 60),
INT8_C( 0), INT8_C( 5), INT8_C( 59), INT8_C( -54),
INT8_C( -76), INT8_C( 27), INT8_C( -23), INT8_C( 77),
INT8_C(-108), INT8_C( -28), INT8_C(-114), INT8_C( 56),
INT8_C( -54), INT8_C(-108), INT8_C( -15), INT8_C( -89),
INT8_C(-103), INT8_C( -45), INT8_C( 74), INT8_C( -3),
INT8_C(-108), INT8_C( 55), INT8_C( -79), INT8_C( -62),
INT8_C( 14), INT8_C( 106), INT8_C( -16), INT8_C( -10)),
simde_mm512_set_epi8(INT8_C( -47), INT8_C( 124), INT8_C( 57), INT8_C( -74),
INT8_C( 20), INT8_C( 124), INT8_C( 70), INT8_C( -69),
INT8_C( -65), INT8_C( -12), INT8_C( 124), INT8_C( -90),
INT8_C(-113), INT8_C( 63), INT8_C( -79), INT8_C( -70),
INT8_C( -76), INT8_C( -34), INT8_C( -60), INT8_C( -4),
INT8_C( -41), INT8_C( 60), INT8_C( 77), INT8_C( -57),
INT8_C( 13), INT8_C( 2), INT8_C( 111), INT8_C( -39),
INT8_C( 41), INT8_C( 54), INT8_C( -37), INT8_C( 114),
INT8_C( 92), INT8_C(-111), INT8_C( 77), INT8_C( 14),
INT8_C(-104), INT8_C( -39), INT8_C( -74), INT8_C( 66),
INT8_C( 16), INT8_C( -26), INT8_C( -89), INT8_C(-114),
INT8_C( -68), INT8_C( 6), INT8_C( 62), INT8_C( -93),
INT8_C( 55), INT8_C(-113), INT8_C( -60), INT8_C( -56),
INT8_C( -37), INT8_C( 2), INT8_C( -15), INT8_C( 88),
INT8_C( 26), INT8_C( 54), INT8_C( 82), INT8_C( 124),
INT8_C( -38), INT8_C(-107), INT8_C( 40), INT8_C( 13)),
simde_mm512_set_epi8(INT8_C( -77), INT8_C(-128), INT8_C( 17), INT8_C( 79),
INT8_C( -29), INT8_C(-107), INT8_C(-128), INT8_C( 15),
INT8_C( 60), INT8_C( -21), INT8_C(-128), INT8_C( 116),
INT8_C( 127), INT8_C( 59), INT8_C( 35), INT8_C( 47),
INT8_C( 76), INT8_C( 77), INT8_C( 35), INT8_C(-118),
INT8_C( -38), INT8_C(-128), INT8_C(-128), INT8_C( -64),
INT8_C(-115), INT8_C( 64), INT8_C(-128), INT8_C( 127),
INT8_C( 68), INT8_C(-122), INT8_C( 61), INT8_C(-128),
INT8_C( -52), INT8_C( 127), INT8_C( -75), INT8_C( 46),
INT8_C( 104), INT8_C( 44), INT8_C( 127), INT8_C(-120),
INT8_C( -92), INT8_C( 53), INT8_C( 66), INT8_C( 127),
INT8_C( -40), INT8_C( -34), INT8_C(-128), INT8_C( 127),
INT8_C(-109), INT8_C( 5), INT8_C( 45), INT8_C( -33),
INT8_C( -66), INT8_C( -47), INT8_C( 89), INT8_C( -91),
INT8_C(-128), INT8_C( 1), INT8_C(-128), INT8_C(-128),
INT8_C( 52), INT8_C( 127), INT8_C( -56), INT8_C( -23)) },
{ simde_mm512_set_epi8(INT8_C( 5), INT8_C( -68), INT8_C( -18), INT8_C( -37),
INT8_C( 5), INT8_C( 16), INT8_C(-109), INT8_C( -67),
INT8_C( -62), INT8_C( -4), INT8_C( 14), INT8_C(-109),
INT8_C( -29), INT8_C(-121), INT8_C(-109), INT8_C( -55),
INT8_C( 1), INT8_C( -38), INT8_C( 107), INT8_C( 55),
INT8_C( -36), INT8_C( -76), INT8_C( 35), INT8_C( -40),
INT8_C( 10), INT8_C( -90), INT8_C( -48), INT8_C(-112),
INT8_C( -9), INT8_C( -53), INT8_C( 105), INT8_C( 27),
INT8_C( -97), INT8_C(-124), INT8_C( 4), INT8_C( -36),
INT8_C( -16), INT8_C( -87), INT8_C( -89), INT8_C(-104),
INT8_C( -30), INT8_C(-101), INT8_C( 69), INT8_C( 79),
INT8_C( 59), INT8_C( -97), INT8_C( -15), INT8_C( 17),
INT8_C( 106), INT8_C( -85), INT8_C( 126), INT8_C(-121),
INT8_C( -91), INT8_C( 26), INT8_C(-115), INT8_C(-117),
INT8_C( 91), INT8_C( 73), INT8_C( -60), INT8_C( 69),
INT8_C( -23), INT8_C( 48), INT8_C( 70), INT8_C( -8)),
simde_mm512_set_epi8(INT8_C( 91), INT8_C(-103), INT8_C( 69), INT8_C( 61),
INT8_C( -82), INT8_C( 73), INT8_C( 122), INT8_C( -22),
INT8_C( 122), INT8_C( 76), INT8_C( -9), INT8_C( 121),
INT8_C(-123), INT8_C(-119), INT8_C(-127), INT8_C( 126),
INT8_C( 105), INT8_C( 10), INT8_C(-120), INT8_C(-127),
INT8_C( -50), INT8_C( 15), INT8_C( -93), INT8_C( -86),
INT8_C(-125), INT8_C( 45), INT8_C( -39), INT8_C(-119),
INT8_C( 74), INT8_C( -92), INT8_C( -78), INT8_C( 53),
INT8_C( 17), INT8_C( -21), INT8_C( 105), INT8_C(-102),
INT8_C( -1), INT8_C( -19), INT8_C( 110), INT8_C( -84),
INT8_C( -93), INT8_C( 19), INT8_C( -98), INT8_C(-128),
INT8_C( -23), INT8_C( 49), INT8_C( 100), INT8_C( 122),
INT8_C( -96), INT8_C(-103), INT8_C( 60), INT8_C( -24),
INT8_C( 23), INT8_C( -52), INT8_C( -37), INT8_C( -56),
INT8_C( -50), INT8_C( 4), INT8_C( -69), INT8_C( 1),
INT8_C( -25), INT8_C( -10), INT8_C( 93), INT8_C( 51)),
simde_mm512_set_epi8(INT8_C( -86), INT8_C( 35), INT8_C( -87), INT8_C( -98),
INT8_C( 87), INT8_C( -57), INT8_C(-128), INT8_C( -45),
INT8_C(-128), INT8_C( -80), INT8_C( 23), INT8_C(-128),
INT8_C( 94), INT8_C( -2), INT8_C( 18), INT8_C(-128),
INT8_C(-104), INT8_C( -48), INT8_C( 127), INT8_C( 127),
INT8_C( 14), INT8_C( -91), INT8_C( 127), INT8_C( 46),
INT8_C( 127), INT8_C(-128), INT8_C( -9), INT8_C( 7),
INT8_C( -83), INT8_C( 39), INT8_C( 127), INT8_C( -26),
INT8_C(-114), INT8_C(-103), INT8_C(-101), INT8_C( 66),
INT8_C( -15), INT8_C( -68), INT8_C(-128), INT8_C( -20),
INT8_C( 63), INT8_C(-120), INT8_C( 127), INT8_C( 127),
INT8_C( 82), INT8_C(-128), INT8_C(-115), INT8_C(-105),
INT8_C( 127), INT8_C( 18), INT8_C( 66), INT8_C( -97),
INT8_C(-114), INT8_C( 78), INT8_C( -78), INT8_C( -61),
INT8_C( 127), INT8_C( 69), INT8_C( 9), INT8_C( 68),
INT8_C( 2), INT8_C( 58), INT8_C( -23), INT8_C( -59)) },
{ simde_mm512_set_epi8(INT8_C( -89), INT8_C( 43), INT8_C( 52), INT8_C( 82),
INT8_C( -37), INT8_C( 55), INT8_C( 112), INT8_C( -22),
INT8_C( -75), INT8_C( -36), INT8_C( -34), INT8_C( -15),
INT8_C( 35), INT8_C( -42), INT8_C(-101), INT8_C( -5),
INT8_C( 2), INT8_C( 35), INT8_C( 14), INT8_C( -73),
INT8_C( -50), INT8_C( -33), INT8_C( -65), INT8_C( 94),
INT8_C( -6), INT8_C( -21), INT8_C( -28), INT8_C( 21),
INT8_C( 102), INT8_C( -87), INT8_C( 114), INT8_C( 125),
INT8_C( 113), INT8_C( 124), INT8_C(-121), INT8_C(-122),
INT8_C( 23), INT8_C( 107), INT8_C( 24), INT8_C( 126),
INT8_C( 80), INT8_C( 59), INT8_C( 39), INT8_C( -61),
INT8_C(-105), INT8_C( 32), INT8_C( 55), INT8_C( -9),
INT8_C( 60), INT8_C(-125), INT8_C( 72), INT8_C( -36),
INT8_C( 77), INT8_C( -65), INT8_C( 117), INT8_C( -85),
INT8_C( 98), INT8_C( -83), INT8_C( -69), INT8_C( -52),
INT8_C( 41), INT8_C( -10), INT8_C( -18), INT8_C( 56)),
simde_mm512_set_epi8(INT8_C( 22), INT8_C( 122), INT8_C( -90), INT8_C( 2),
INT8_C( -65), INT8_C( 51), INT8_C( -94), INT8_C( -50),
INT8_C( -15), INT8_C( 19), INT8_C( -19), INT8_C( 66),
INT8_C( 119), INT8_C(-118), INT8_C(-112), INT8_C(-116),
INT8_C( 44), INT8_C( -12), INT8_C( 31), INT8_C( 43),
INT8_C( -16), INT8_C( -37), INT8_C( -24), INT8_C( -32),
INT8_C( -95), INT8_C( -86), INT8_C( -96), INT8_C( 80),
INT8_C( 68), INT8_C( 13), INT8_C( -8), INT8_C( 67),
INT8_C( 107), INT8_C(-125), INT8_C( 104), INT8_C( -80),
INT8_C( 97), INT8_C( -78), INT8_C( 106), INT8_C( -53),
INT8_C( -36), INT8_C( -90), INT8_C( 74), INT8_C( -72),
INT8_C( 59), INT8_C( -81), INT8_C( -8), INT8_C( -25),
INT8_C( -55), INT8_C( -99), INT8_C( 20), INT8_C( 9),
INT8_C( -89), INT8_C( -90), INT8_C( 108), INT8_C( 56),
INT8_C( -19), INT8_C( 81), INT8_C( 122), INT8_C( 6),
INT8_C(-119), INT8_C( 122), INT8_C( -35), INT8_C( 106)),
simde_mm512_set_epi8(INT8_C(-111), INT8_C( -79), INT8_C( 127), INT8_C( 80),
INT8_C( 28), INT8_C( 4), INT8_C( 127), INT8_C( 28),
INT8_C( -60), INT8_C( -55), INT8_C( -15), INT8_C( -81),
INT8_C( -84), INT8_C( 76), INT8_C( 11), INT8_C( 111),
INT8_C( -42), INT8_C( 47), INT8_C( -17), INT8_C(-116),
INT8_C( -34), INT8_C( 4), INT8_C( -41), INT8_C( 126),
INT8_C( 89), INT8_C( 65), INT8_C( 68), INT8_C( -59),
INT8_C( 34), INT8_C(-100), INT8_C( 122), INT8_C( 58),
INT8_C( 6), INT8_C( 127), INT8_C(-128), INT8_C( -42),
INT8_C( -74), INT8_C( 127), INT8_C( -82), INT8_C( 127),
INT8_C( 116), INT8_C( 127), INT8_C( -35), INT8_C( 11),
INT8_C(-128), INT8_C( 113), INT8_C( 63), INT8_C( 16),
INT8_C( 115), INT8_C( -26), INT8_C( 52), INT8_C( -45),
INT8_C( 127), INT8_C( 25), INT8_C( 9), INT8_C(-128),
INT8_C( 117), INT8_C(-128), INT8_C(-128), INT8_C( -58),
INT8_C( 127), INT8_C(-128), INT8_C( 17), INT8_C( -50)) },
{ simde_mm512_set_epi8(INT8_C( 105), INT8_C(-115), INT8_C( 121), INT8_C(-101),
INT8_C( 0), INT8_C( 63), INT8_C( -42), INT8_C( -34),
INT8_C( -5), INT8_C( -47), INT8_C(-123), INT8_C( -52),
INT8_C( -86), INT8_C( -28), INT8_C( -63), INT8_C( 20),
INT8_C( -60), INT8_C( -63), INT8_C( 99), INT8_C( 78),
INT8_C( 56), INT8_C( -72), INT8_C( -55), INT8_C( -72),
INT8_C( 79), INT8_C( -81), INT8_C( 124), INT8_C( -85),
INT8_C( -65), INT8_C( 122), INT8_C( -25), INT8_C( -58),
INT8_C( -64), INT8_C( 52), INT8_C( -12), INT8_C( 1),
INT8_C( -62), INT8_C( -28), INT8_C( -28), INT8_C(-104),
INT8_C( 54), INT8_C(-103), INT8_C( -55), INT8_C( -22),
INT8_C( -91), INT8_C( 6), INT8_C( -9), INT8_C( -31),
INT8_C( 18), INT8_C(-111), INT8_C( 58), INT8_C( 71),
INT8_C( -73), INT8_C( -96), INT8_C( 28), INT8_C( -4),
INT8_C( 47), INT8_C( 66), INT8_C( 121), INT8_C( 38),
INT8_C( 69), INT8_C(-107), INT8_C( -57), INT8_C(-120)),
simde_mm512_set_epi8(INT8_C( -49), INT8_C( 15), INT8_C( -15), INT8_C( -59),
INT8_C(-113), INT8_C( 102), INT8_C( -48), INT8_C( -78),
INT8_C( 31), INT8_C( 94), INT8_C( 79), INT8_C( 92),
INT8_C( 106), INT8_C( -68), INT8_C( 96), INT8_C( -97),
INT8_C( -27), INT8_C(-118), INT8_C( -11), INT8_C( 112),
INT8_C(-125), INT8_C( 70), INT8_C( 26), INT8_C( -38),
INT8_C( -16), INT8_C(-112), INT8_C( 10), INT8_C( 98),
INT8_C( -4), INT8_C( 120), INT8_C( -33), INT8_C(-127),
INT8_C( -65), INT8_C( -40), INT8_C( 88), INT8_C( -6),
INT8_C( 74), INT8_C( 41), INT8_C( 39), INT8_C( 79),
INT8_C(-125), INT8_C( -7), INT8_C( 62), INT8_C(-112),
INT8_C(-119), INT8_C( -9), INT8_C( 71), INT8_C( -68),
INT8_C( -79), INT8_C( 48), INT8_C( -20), INT8_C( -97),
INT8_C(-116), INT8_C( 120), INT8_C( -65), INT8_C( 6),
INT8_C( -32), INT8_C( -75), INT8_C(-106), INT8_C( 26),
INT8_C( -96), INT8_C( 50), INT8_C( -45), INT8_C( 16)),
simde_mm512_set_epi8(INT8_C( 127), INT8_C(-128), INT8_C( 127), INT8_C( -42),
INT8_C( 113), INT8_C( -39), INT8_C( 6), INT8_C( 44),
INT8_C( -36), INT8_C(-128), INT8_C(-128), INT8_C(-128),
INT8_C(-128), INT8_C( 40), INT8_C(-128), INT8_C( 117),
INT8_C( -33), INT8_C( 55), INT8_C( 110), INT8_C( -34),
INT8_C( 127), INT8_C(-128), INT8_C( -81), INT8_C( -34),
INT8_C( 95), INT8_C( 31), INT8_C( 114), INT8_C(-128),
INT8_C( -61), INT8_C( 2), INT8_C( 8), INT8_C( 69),
INT8_C( 1), INT8_C( 92), INT8_C(-100), INT8_C( 7),
INT8_C(-128), INT8_C( -69), INT8_C( -67), INT8_C(-128),
INT8_C( 127), INT8_C( -96), INT8_C(-117), INT8_C( 90),
INT8_C( 28), INT8_C( 15), INT8_C( -80), INT8_C( 37),
INT8_C( 97), INT8_C(-128), INT8_C( 78), INT8_C( 127),
INT8_C( 43), INT8_C(-128), INT8_C( 93), INT8_C( -10),
INT8_C( 79), INT8_C( 127), INT8_C( 127), INT8_C( 12),
INT8_C( 127), INT8_C(-128), INT8_C( -12), INT8_C(-128)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_subs_epi8(test_vec[i].a, test_vec[i].b);
simde_assert_m512i_i8(r, ==, test_vec[i].r);
}
return 0;
}
static int
test_simde_mm512_mask_subs_epi8(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__m512i src;
simde__mmask64 k;
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ simde_mm512_set_epi8(INT8_C( 52), INT8_C(-124), INT8_C( -17), INT8_C( -9),
INT8_C( 31), INT8_C( 67), INT8_C( -76), INT8_C( -4),
INT8_C( -52), INT8_C( 99), INT8_C( 106), INT8_C( -35),
INT8_C(-115), INT8_C(-127), INT8_C( 121), INT8_C( -60),
INT8_C( -27), INT8_C( 73), INT8_C( -21), INT8_C( -51),
INT8_C(-127), INT8_C( 68), INT8_C( 109), INT8_C( 35),
INT8_C( 96), INT8_C( 3), INT8_C( -62), INT8_C( -43),
INT8_C( -75), INT8_C( 102), INT8_C(-105), INT8_C( 63),
INT8_C( 64), INT8_C( 114), INT8_C( 112), INT8_C( 10),
INT8_C( 108), INT8_C( 71), INT8_C( -40), INT8_C( 20),
INT8_C( -40), INT8_C( 26), INT8_C( -94), INT8_C( 107),
INT8_C( -89), INT8_C( 22), INT8_C( 55), INT8_C( 105),
INT8_C( 23), INT8_C( 52), INT8_C( 82), INT8_C( 50),
INT8_C( -48), INT8_C( 77), INT8_C( 73), INT8_C( 98),
INT8_C( -85), INT8_C( 123), INT8_C( 15), INT8_C( 36),
INT8_C(-103), INT8_C( 18), INT8_C( -81), INT8_C( 9)),
UINT64_C( 2070647823),
simde_mm512_set_epi8(INT8_C( 87), INT8_C( 118), INT8_C( 10), INT8_C( -53),
INT8_C( -21), INT8_C( -77), INT8_C( 81), INT8_C( 16),
INT8_C( 125), INT8_C( 53), INT8_C( -93), INT8_C( -44),
INT8_C( -14), INT8_C( -81), INT8_C( 93), INT8_C( -81),
INT8_C( 69), INT8_C( 88), INT8_C( 17), INT8_C(-127),
INT8_C( 49), INT8_C( 91), INT8_C( 55), INT8_C( -23),
INT8_C( -84), INT8_C( 12), INT8_C( -97), INT8_C( -75),
INT8_C( 99), INT8_C( 54), INT8_C( -92), INT8_C( -28),
INT8_C( -2), INT8_C( 69), INT8_C(-102), INT8_C( 42),
INT8_C( 41), INT8_C(-101), INT8_C( -59), INT8_C( -72),
INT8_C( -53), INT8_C( -47), INT8_C( -78), INT8_C( 67),
INT8_C( 54), INT8_C( 12), INT8_C( -65), INT8_C( 101),
INT8_C( 77), INT8_C( -96), INT8_C( -15), INT8_C( 66),
INT8_C( 50), INT8_C( 9), INT8_C( -75), INT8_C( 102),
INT8_C( 2), INT8_C( -31), INT8_C( 83), INT8_C( -71),
INT8_C( -84), INT8_C( -66), INT8_C(-111), INT8_C( -2)),
simde_mm512_set_epi8(INT8_C( 87), INT8_C(-105), INT8_C( 96), INT8_C( -79),
INT8_C( 99), INT8_C( 74), INT8_C( 20), INT8_C( 120),
INT8_C( 60), INT8_C( 49), INT8_C( 101), INT8_C( -94),
INT8_C( -5), INT8_C( 114), INT8_C( 17), INT8_C( 1),
INT8_C( 36), INT8_C( -92), INT8_C( 39), INT8_C(-108),
INT8_C( -15), INT8_C( 14), INT8_C( -15), INT8_C( 79),
INT8_C( 112), INT8_C( 108), INT8_C( -44), INT8_C( -18),
INT8_C( 125), INT8_C( 93), INT8_C( -92), INT8_C( -51),
INT8_C( 21), INT8_C( -19), INT8_C( -56), INT8_C( 114),
INT8_C( -95), INT8_C( 40), INT8_C( -27), INT8_C( -85),
INT8_C( 26), INT8_C( 29), INT8_C( -30), INT8_C( 53),
INT8_C( -69), INT8_C( -26), INT8_C( 79), INT8_C(-124),
INT8_C( -35), INT8_C( -29), INT8_C( -59), INT8_C( -99),
INT8_C(-118), INT8_C( 30), INT8_C( 105), INT8_C( 3),
INT8_C( -2), INT8_C( 26), INT8_C(-121), INT8_C( 115),
INT8_C( -78), INT8_C( 10), INT8_C( 6), INT8_C( -16)),
simde_mm512_set_epi8(INT8_C( 52), INT8_C(-124), INT8_C( -17), INT8_C( -9),
INT8_C( 31), INT8_C( 67), INT8_C( -76), INT8_C( -4),
INT8_C( -52), INT8_C( 99), INT8_C( 106), INT8_C( -35),
INT8_C(-115), INT8_C(-127), INT8_C( 121), INT8_C( -60),
INT8_C( -27), INT8_C( 73), INT8_C( -21), INT8_C( -51),
INT8_C(-127), INT8_C( 68), INT8_C( 109), INT8_C( 35),
INT8_C( 96), INT8_C( 3), INT8_C( -62), INT8_C( -43),
INT8_C( -75), INT8_C( 102), INT8_C(-105), INT8_C( 63),
INT8_C( 64), INT8_C( 88), INT8_C( -46), INT8_C( -72),
INT8_C( 127), INT8_C( 71), INT8_C( -32), INT8_C( 13),
INT8_C( -40), INT8_C( -76), INT8_C( -48), INT8_C( 107),
INT8_C( 123), INT8_C( 22), INT8_C(-128), INT8_C( 127),
INT8_C( 112), INT8_C( 52), INT8_C( 82), INT8_C( 127),
INT8_C( -48), INT8_C( -21), INT8_C( 73), INT8_C( 98),
INT8_C( -85), INT8_C( 123), INT8_C( 15), INT8_C( 36),
INT8_C( -6), INT8_C( -76), INT8_C(-117), INT8_C( 14)) },
{ simde_mm512_set_epi8(INT8_C( -60), INT8_C( -92), INT8_C( -73), INT8_C( -20),
INT8_C( -84), INT8_C( -11), INT8_C( -28), INT8_C(-123),
INT8_C( -48), INT8_C(-118), INT8_C(-107), INT8_C( 73),
INT8_C( -80), INT8_C( 46), INT8_C(-117), INT8_C( -85),
INT8_C( -21), INT8_C( -54), INT8_C( -49), INT8_C( -8),
INT8_C( 51), INT8_C( 126), INT8_C( 22), INT8_C( 70),
INT8_C( -86), INT8_C( -98), INT8_C( -17), INT8_C( -29),
INT8_C( 75), INT8_C( 115), INT8_C( 61), INT8_C( 76),
INT8_C( -65), INT8_C( 43), INT8_C( -13), INT8_C( -2),
INT8_C( 81), INT8_C( -26), INT8_C( -6), INT8_C( -15),
INT8_C( -40), INT8_C( 72), INT8_C( 66), INT8_C( 32),
INT8_C( 22), INT8_C( -74), INT8_C( -73), INT8_C( 67),
INT8_C( 75), INT8_C( -18), INT8_C( -97), INT8_C( 75),
INT8_C( -47), INT8_C( 32), INT8_C( 26), INT8_C(-108),
INT8_C( 31), INT8_C( 110), INT8_C(-101), INT8_C( -57),
INT8_C( 28), INT8_C( -50), INT8_C( -16), INT8_C( 37)),
UINT64_C( 3026541283),
simde_mm512_set_epi8(INT8_C( -66), INT8_C( -12), INT8_C( -24), INT8_C(-107),
INT8_C(-117), INT8_C( 63), INT8_C( 42), INT8_C( 79),
INT8_C( -78), INT8_C( -79), INT8_C( -22), INT8_C( -52),
INT8_C( -78), INT8_C( -8), INT8_C( -61), INT8_C( 101),
INT8_C(-111), INT8_C( 35), INT8_C( -89), INT8_C( 127),
INT8_C( 50), INT8_C(-115), INT8_C( 91), INT8_C( -72),
INT8_C( -97), INT8_C( -34), INT8_C( -80), INT8_C( -31),
INT8_C( -60), INT8_C( 119), INT8_C(-106), INT8_C( 66),
INT8_C( 75), INT8_C(-108), INT8_C(-113), INT8_C( 120),
INT8_C( 36), INT8_C( 112), INT8_C( -45), INT8_C( 41),
INT8_C( 90), INT8_C( -32), INT8_C( 22), INT8_C( 86),
INT8_C( 72), INT8_C( -20), INT8_C( -4), INT8_C(-125),
INT8_C( -37), INT8_C( 84), INT8_C( -95), INT8_C( -66),
INT8_C( 109), INT8_C( 18), INT8_C( 120), INT8_C(-115),
INT8_C( 83), INT8_C( 26), INT8_C(-108), INT8_C(-128),
INT8_C( 113), INT8_C( -65), INT8_C( 84), INT8_C( -78)),
simde_mm512_set_epi8(INT8_C(-100), INT8_C(-107), INT8_C( 106), INT8_C( -87),
INT8_C( 61), INT8_C( -94), INT8_C( 7), INT8_C( 84),
INT8_C( 25), INT8_C( 77), INT8_C( 24), INT8_C( 35),
INT8_C( 56), INT8_C( -72), INT8_C( 65), INT8_C( -77),
INT8_C( 81), INT8_C( 110), INT8_C( 109), INT8_C( 26),
INT8_C( -46), INT8_C( 6), INT8_C( -4), INT8_C( -76),
INT8_C( 49), INT8_C( 67), INT8_C( -22), INT8_C( 12),
INT8_C( 66), INT8_C( -76), INT8_C( -71), INT8_C( 20),
INT8_C( -11), INT8_C( 97), INT8_C( 20), INT8_C( -1),
INT8_C( 69), INT8_C( 54), INT8_C( -68), INT8_C( 104),
INT8_C( 61), INT8_C( -16), INT8_C( -52), INT8_C( -98),
INT8_C(-126), INT8_C(-109), INT8_C( 86), INT8_C( 51),
INT8_C( 95), INT8_C( -88), INT8_C( 6), INT8_C(-121),
INT8_C( 49), INT8_C( 97), INT8_C( -69), INT8_C( 125),
INT8_C( 57), INT8_C( 79), INT8_C( 6), INT8_C( 7),
INT8_C( 37), INT8_C(-119), INT8_C( -51), INT8_C( 99)),
simde_mm512_set_epi8(INT8_C( -60), INT8_C( -92), INT8_C( -73), INT8_C( -20),
INT8_C( -84), INT8_C( -11), INT8_C( -28), INT8_C(-123),
INT8_C( -48), INT8_C(-118), INT8_C(-107), INT8_C( 73),
INT8_C( -80), INT8_C( 46), INT8_C(-117), INT8_C( -85),
INT8_C( -21), INT8_C( -54), INT8_C( -49), INT8_C( -8),
INT8_C( 51), INT8_C( 126), INT8_C( 22), INT8_C( 70),
INT8_C( -86), INT8_C( -98), INT8_C( -17), INT8_C( -29),
INT8_C( 75), INT8_C( 115), INT8_C( 61), INT8_C( 76),
INT8_C( 86), INT8_C( 43), INT8_C(-128), INT8_C( 121),
INT8_C( 81), INT8_C( 58), INT8_C( -6), INT8_C( -15),
INT8_C( -40), INT8_C( -16), INT8_C( 74), INT8_C( 32),
INT8_C( 22), INT8_C( 89), INT8_C( -73), INT8_C(-128),
INT8_C( 75), INT8_C( 127), INT8_C( -97), INT8_C( 55),
INT8_C( 60), INT8_C( 32), INT8_C( 127), INT8_C(-108),
INT8_C( 26), INT8_C( -53), INT8_C(-114), INT8_C( -57),
INT8_C( 28), INT8_C( -50), INT8_C( 127), INT8_C(-128)) },
{ simde_mm512_set_epi8(INT8_C( 66), INT8_C( 28), INT8_C( -53), INT8_C( 48),
INT8_C( -75), INT8_C( -97), INT8_C( -42), INT8_C( 47),
INT8_C( -33), INT8_C( -17), INT8_C( 113), INT8_C( 120),
INT8_C(-111), INT8_C( 14), INT8_C( 77), INT8_C(-108),
INT8_C( 25), INT8_C( -42), INT8_C( 109), INT8_C( -97),
INT8_C( -19), INT8_C( -18), INT8_C( -1), INT8_C( -50),
INT8_C( -87), INT8_C( -70), INT8_C( 94), INT8_C( -91),
INT8_C( 23), INT8_C( 33), INT8_C( -10), INT8_C( 81),
INT8_C( 81), INT8_C( -63), INT8_C( 35), INT8_C( 44),
INT8_C( 11), INT8_C(-124), INT8_C( -20), INT8_C( 71),
INT8_C( -25), INT8_C(-112), INT8_C( 2), INT8_C( 59),
INT8_C( 21), INT8_C(-113), INT8_C( 35), INT8_C( -40),
INT8_C( -89), INT8_C( -74), INT8_C( -34), INT8_C( 115),
INT8_C( -51), INT8_C( 30), INT8_C(-104), INT8_C( 117),
INT8_C( 127), INT8_C( -8), INT8_C( 57), INT8_C( -73),
INT8_C( 40), INT8_C( -7), INT8_C( 90), INT8_C(-110)),
UINT64_C( 3345097188),
simde_mm512_set_epi8(INT8_C( 58), INT8_C(-128), INT8_C(-123), INT8_C( -3),
INT8_C( 74), INT8_C( -78), INT8_C(-124), INT8_C( -30),
INT8_C( 21), INT8_C( 86), INT8_C( -53), INT8_C(-116),
INT8_C(-126), INT8_C( 10), INT8_C(-123), INT8_C( -78),
INT8_C( 2), INT8_C( 100), INT8_C( -90), INT8_C( -79),
INT8_C( -46), INT8_C( -83), INT8_C( 11), INT8_C(-120),
INT8_C( -56), INT8_C( -4), INT8_C( -39), INT8_C(-114),
INT8_C( -98), INT8_C(-108), INT8_C( -22), INT8_C( 24),
INT8_C( 127), INT8_C( -20), INT8_C( 7), INT8_C( -16),
INT8_C( -8), INT8_C( 19), INT8_C( 119), INT8_C( -44),
INT8_C( 7), INT8_C( -47), INT8_C(-126), INT8_C(-119),
INT8_C( 1), INT8_C( 111), INT8_C( -95), INT8_C( -67),
INT8_C( 38), INT8_C( -19), INT8_C( 96), INT8_C( -21),
INT8_C( -76), INT8_C(-123), INT8_C(-115), INT8_C( -61),
INT8_C( 96), INT8_C( 30), INT8_C( 105), INT8_C( -4),
INT8_C( 44), INT8_C( 54), INT8_C( 89), INT8_C( 40)),
simde_mm512_set_epi8(INT8_C( -42), INT8_C( 43), INT8_C( 6), INT8_C( -97),
INT8_C( -90), INT8_C( -4), INT8_C( -71), INT8_C( 33),
INT8_C( 1), INT8_C( 3), INT8_C( -91), INT8_C( -62),
INT8_C(-106), INT8_C( -6), INT8_C( 35), INT8_C( 67),
INT8_C( 97), INT8_C( 46), INT8_C( 89), INT8_C( 56),
INT8_C( -84), INT8_C( -39), INT8_C( -70), INT8_C( 78),
INT8_C( -49), INT8_C( 94), INT8_C( -1), INT8_C( -23),
INT8_C( -88), INT8_C( -11), INT8_C(-128), INT8_C( -62),
INT8_C( 106), INT8_C( 125), INT8_C( -71), INT8_C( -96),
INT8_C( -28), INT8_C( -58), INT8_C( -40), INT8_C( -32),
INT8_C( -13), INT8_C( -84), INT8_C( -69), INT8_C( -40),
INT8_C(-122), INT8_C( 117), INT8_C( 115), INT8_C( -87),
INT8_C( 101), INT8_C( -82), INT8_C( -68), INT8_C( -48),
INT8_C( 42), INT8_C( 29), INT8_C( 67), INT8_C( 9),
INT8_C( -44), INT8_C( 54), INT8_C(-101), INT8_C( -13),
INT8_C( 111), INT8_C( 110), INT8_C( 114), INT8_C( -57)),
simde_mm512_set_epi8(INT8_C( 66), INT8_C( 28), INT8_C( -53), INT8_C( 48),
INT8_C( -75), INT8_C( -97), INT8_C( -42), INT8_C( 47),
INT8_C( -33), INT8_C( -17), INT8_C( 113), INT8_C( 120),
INT8_C(-111), INT8_C( 14), INT8_C( 77), INT8_C(-108),
INT8_C( 25), INT8_C( -42), INT8_C( 109), INT8_C( -97),
INT8_C( -19), INT8_C( -18), INT8_C( -1), INT8_C( -50),
INT8_C( -87), INT8_C( -70), INT8_C( 94), INT8_C( -91),
INT8_C( 23), INT8_C( 33), INT8_C( -10), INT8_C( 81),
INT8_C( 21), INT8_C(-128), INT8_C( 35), INT8_C( 44),
INT8_C( 11), INT8_C( 77), INT8_C( 127), INT8_C( -12),
INT8_C( -25), INT8_C( 37), INT8_C( -57), INT8_C( 59),
INT8_C( 21), INT8_C(-113), INT8_C(-128), INT8_C( -40),
INT8_C( -89), INT8_C( -74), INT8_C( 127), INT8_C( 115),
INT8_C( -51), INT8_C( 30), INT8_C(-104), INT8_C( -70),
INT8_C( 127), INT8_C( -24), INT8_C( 127), INT8_C( -73),
INT8_C( 40), INT8_C( -56), INT8_C( 90), INT8_C(-110)) },
{ simde_mm512_set_epi8(INT8_C( 127), INT8_C( 66), INT8_C( 63), INT8_C( -46),
INT8_C( 90), INT8_C( 39), INT8_C( -89), INT8_C(-105),
INT8_C( -51), INT8_C( -46), INT8_C( 111), INT8_C( -45),
INT8_C( -76), INT8_C(-112), INT8_C( -37), INT8_C(-120),
INT8_C( 50), INT8_C( -97), INT8_C( -2), INT8_C( 121),
INT8_C( 68), INT8_C(-106), INT8_C( 101), INT8_C( 115),
INT8_C( -29), INT8_C( 59), INT8_C( 77), INT8_C( -36),
INT8_C( 111), INT8_C( 95), INT8_C( 48), INT8_C( 113),
INT8_C( -97), INT8_C( 105), INT8_C( -37), INT8_C( -42),
INT8_C( -7), INT8_C( 31), INT8_C( 45), INT8_C( -5),
INT8_C( -29), INT8_C( 44), INT8_C( 78), INT8_C( -25),
INT8_C( -47), INT8_C(-119), INT8_C( -90), INT8_C( 115),
INT8_C( 44), INT8_C( 94), INT8_C( 127), INT8_C( -12),
INT8_C( 90), INT8_C( 111), INT8_C( -20), INT8_C(-110),
INT8_C( -82), INT8_C( -19), INT8_C( -79), INT8_C(-128),
INT8_C( -6), INT8_C(-119), INT8_C( 100), INT8_C( 125)),
UINT64_C( 1390729414),
simde_mm512_set_epi8(INT8_C( 89), INT8_C( 39), INT8_C( 109), INT8_C( 109),
INT8_C( -71), INT8_C( -81), INT8_C( 67), INT8_C( 48),
INT8_C( -43), INT8_C( 31), INT8_C( -36), INT8_C( -53),
INT8_C( -7), INT8_C( 84), INT8_C( -92), INT8_C( 124),
INT8_C( -22), INT8_C( 31), INT8_C( 42), INT8_C(-103),
INT8_C( 29), INT8_C( 75), INT8_C( -91), INT8_C( 75),
INT8_C( 107), INT8_C( 62), INT8_C( 126), INT8_C( 7),
INT8_C( -89), INT8_C( 119), INT8_C( 79), INT8_C( -38),
INT8_C( 18), INT8_C( 57), INT8_C(-102), INT8_C( 66),
INT8_C( -7), INT8_C( 89), INT8_C( 57), INT8_C( -55),
INT8_C( -68), INT8_C( 21), INT8_C( -21), INT8_C( -6),
INT8_C( -26), INT8_C( 122), INT8_C( 114), INT8_C( 83),
INT8_C( 80), INT8_C( 103), INT8_C( 109), INT8_C( -19),
INT8_C( -24), INT8_C( -48), INT8_C( 79), INT8_C( 5),
INT8_C( 66), INT8_C( -40), INT8_C( -14), INT8_C( -56),
INT8_C( -68), INT8_C( -68), INT8_C(-124), INT8_C( -65)),
simde_mm512_set_epi8(INT8_C(-102), INT8_C(-123), INT8_C( 20), INT8_C( 36),
INT8_C( 70), INT8_C( -95), INT8_C( 63), INT8_C( 110),
INT8_C( 98), INT8_C(-128), INT8_C( -74), INT8_C( -50),
INT8_C( 17), INT8_C( -37), INT8_C(-104), INT8_C( -74),
INT8_C( -4), INT8_C( 15), INT8_C( -59), INT8_C( 62),
INT8_C( -89), INT8_C( 103), INT8_C( -5), INT8_C( 71),
INT8_C( 103), INT8_C(-119), INT8_C( -62), INT8_C( -47),
INT8_C( -78), INT8_C( 32), INT8_C( 104), INT8_C( 33),
INT8_C( -45), INT8_C( -54), INT8_C( 17), INT8_C(-117),
INT8_C( 96), INT8_C( 66), INT8_C( -18), INT8_C( -58),
INT8_C(-111), INT8_C(-110), INT8_C( -14), INT8_C( 7),
INT8_C( 85), INT8_C(-113), INT8_C( 19), INT8_C( -72),
INT8_C( 51), INT8_C( -49), INT8_C( 69), INT8_C( -80),
INT8_C( 34), INT8_C( 87), INT8_C( 88), INT8_C( -38),
INT8_C( -14), INT8_C( -30), INT8_C(-111), INT8_C( -87),
INT8_C( 37), INT8_C( 40), INT8_C( -30), INT8_C( -40)),
simde_mm512_set_epi8(INT8_C( 127), INT8_C( 66), INT8_C( 63), INT8_C( -46),
INT8_C( 90), INT8_C( 39), INT8_C( -89), INT8_C(-105),
INT8_C( -51), INT8_C( -46), INT8_C( 111), INT8_C( -45),
INT8_C( -76), INT8_C(-112), INT8_C( -37), INT8_C(-120),
INT8_C( 50), INT8_C( -97), INT8_C( -2), INT8_C( 121),
INT8_C( 68), INT8_C(-106), INT8_C( 101), INT8_C( 115),
INT8_C( -29), INT8_C( 59), INT8_C( 77), INT8_C( -36),
INT8_C( 111), INT8_C( 95), INT8_C( 48), INT8_C( 113),
INT8_C( -97), INT8_C( 111), INT8_C( -37), INT8_C( 127),
INT8_C( -7), INT8_C( 31), INT8_C( 75), INT8_C( -5),
INT8_C( 43), INT8_C( 127), INT8_C( -7), INT8_C( -25),
INT8_C( -47), INT8_C( 127), INT8_C( -90), INT8_C( 115),
INT8_C( 29), INT8_C( 127), INT8_C( 127), INT8_C( 61),
INT8_C( -58), INT8_C( 111), INT8_C( -20), INT8_C(-110),
INT8_C( 80), INT8_C( -10), INT8_C( -79), INT8_C(-128),
INT8_C( -6), INT8_C(-108), INT8_C( -94), INT8_C( 125)) },
{ simde_mm512_set_epi8(INT8_C( 91), INT8_C( 46), INT8_C( -16), INT8_C( 27),
INT8_C( -66), INT8_C( -93), INT8_C( -43), INT8_C( 14),
INT8_C( 100), INT8_C(-113), INT8_C( 32), INT8_C( 15),
INT8_C( -79), INT8_C( 63), INT8_C( -18), INT8_C( -96),
INT8_C(-119), INT8_C( 114), INT8_C( -87), INT8_C( -82),
INT8_C( 76), INT8_C( 117), INT8_C( 14), INT8_C( -65),
INT8_C( -37), INT8_C( -15), INT8_C( 43), INT8_C( 5),
INT8_C(-108), INT8_C( -5), INT8_C( -84), INT8_C( 13),
INT8_C( -66), INT8_C( 80), INT8_C( -20), INT8_C( 34),
INT8_C(-122), INT8_C(-101), INT8_C( -91), INT8_C( -35),
INT8_C( 57), INT8_C( 117), INT8_C( -26), INT8_C( 112),
INT8_C( 59), INT8_C( 54), INT8_C( 91), INT8_C(-111),
INT8_C( 111), INT8_C( 34), INT8_C( -76), INT8_C( 65),
INT8_C( -31), INT8_C( 25), INT8_C( -63), INT8_C(-128),
INT8_C( -28), INT8_C( 80), INT8_C( -75), INT8_C( 83),
INT8_C( -23), INT8_C( -65), INT8_C( -75), INT8_C( -10)),
UINT64_C( 2530018527),
simde_mm512_set_epi8(INT8_C( 54), INT8_C( 110), INT8_C( -53), INT8_C( 100),
INT8_C( 94), INT8_C( -2), INT8_C( 72), INT8_C( 95),
INT8_C( -61), INT8_C( -31), INT8_C( 2), INT8_C( 88),
INT8_C( 69), INT8_C(-117), INT8_C( 33), INT8_C( -57),
INT8_C( -67), INT8_C( 92), INT8_C( -31), INT8_C( -16),
INT8_C(-115), INT8_C( -91), INT8_C( 0), INT8_C( -73),
INT8_C( -3), INT8_C( -71), INT8_C( 55), INT8_C( -82),
INT8_C( -28), INT8_C( -34), INT8_C( -40), INT8_C( 60),
INT8_C( 31), INT8_C(-113), INT8_C( 90), INT8_C( 114),
INT8_C( 73), INT8_C( 77), INT8_C( -29), INT8_C( 80),
INT8_C(-106), INT8_C( 121), INT8_C(-122), INT8_C( -4),
INT8_C( 104), INT8_C( -76), INT8_C( 85), INT8_C( -33),
INT8_C( -62), INT8_C( 96), INT8_C( -27), INT8_C( -88),
INT8_C( -35), INT8_C( -58), INT8_C( -83), INT8_C( 36),
INT8_C( -16), INT8_C( 50), INT8_C(-127), INT8_C( -82),
INT8_C( 106), INT8_C( 56), INT8_C( 74), INT8_C( -59)),
simde_mm512_set_epi8(INT8_C( -24), INT8_C( -30), INT8_C( 27), INT8_C( -44),
INT8_C( -74), INT8_C( -85), INT8_C( -66), INT8_C( 26),
INT8_C( -69), INT8_C( 112), INT8_C( -22), INT8_C( 62),
INT8_C( 24), INT8_C(-107), INT8_C( -41), INT8_C( -21),
INT8_C( 68), INT8_C( -34), INT8_C( 109), INT8_C( 58),
INT8_C( 16), INT8_C( -72), INT8_C( -84), INT8_C( 18),
INT8_C( -73), INT8_C( -54), INT8_C( 16), INT8_C( -93),
INT8_C( -51), INT8_C( -50), INT8_C( 54), INT8_C( -69),
INT8_C( -98), INT8_C(-113), INT8_C( -73), INT8_C(-124),
INT8_C( -65), INT8_C( -51), INT8_C( 43), INT8_C( 10),
INT8_C( -79), INT8_C( 35), INT8_C( -67), INT8_C( 69),
INT8_C( 84), INT8_C( -44), INT8_C( -48), INT8_C( 89),
INT8_C( 96), INT8_C(-100), INT8_C( -47), INT8_C( 114),
INT8_C(-109), INT8_C( 8), INT8_C( 51), INT8_C( 120),
INT8_C( -12), INT8_C(-128), INT8_C( -4), INT8_C(-105),
INT8_C( 83), INT8_C(-123), INT8_C( -98), INT8_C( -2)),
simde_mm512_set_epi8(INT8_C( 91), INT8_C( 46), INT8_C( -16), INT8_C( 27),
INT8_C( -66), INT8_C( -93), INT8_C( -43), INT8_C( 14),
INT8_C( 100), INT8_C(-113), INT8_C( 32), INT8_C( 15),
INT8_C( -79), INT8_C( 63), INT8_C( -18), INT8_C( -96),
INT8_C(-119), INT8_C( 114), INT8_C( -87), INT8_C( -82),
INT8_C( 76), INT8_C( 117), INT8_C( 14), INT8_C( -65),
INT8_C( -37), INT8_C( -15), INT8_C( 43), INT8_C( 5),
INT8_C(-108), INT8_C( -5), INT8_C( -84), INT8_C( 13),
INT8_C( 127), INT8_C( 80), INT8_C( -20), INT8_C( 127),
INT8_C(-122), INT8_C( 127), INT8_C( -72), INT8_C( -35),
INT8_C( -27), INT8_C( 86), INT8_C( -26), INT8_C( 112),
INT8_C( 20), INT8_C( -32), INT8_C( 91), INT8_C(-122),
INT8_C( 111), INT8_C( 34), INT8_C( -76), INT8_C( 65),
INT8_C( -31), INT8_C( -66), INT8_C( -63), INT8_C(-128),
INT8_C( -4), INT8_C( 127), INT8_C( -75), INT8_C( 23),
INT8_C( 23), INT8_C( 127), INT8_C( 127), INT8_C( -57)) },
{ simde_mm512_set_epi8(INT8_C( 125), INT8_C( -29), INT8_C( 116), INT8_C( -26),
INT8_C( 78), INT8_C( 37), INT8_C( -43), INT8_C( 45),
INT8_C( -81), INT8_C(-109), INT8_C( 26), INT8_C( -51),
INT8_C( -54), INT8_C( 99), INT8_C( 124), INT8_C( 2),
INT8_C( 10), INT8_C( 6), INT8_C( -77), INT8_C( -61),
INT8_C( 59), INT8_C( 60), INT8_C( 42), INT8_C( 33),
INT8_C( 126), INT8_C( 88), INT8_C( 41), INT8_C( 66),
INT8_C( 98), INT8_C( 111), INT8_C( 94), INT8_C( -70),
INT8_C( 116), INT8_C( -40), INT8_C( -88), INT8_C( 13),
INT8_C( 50), INT8_C( 54), INT8_C( 32), INT8_C( -48),
INT8_C( 85), INT8_C( 12), INT8_C( -17), INT8_C( 78),
INT8_C( 2), INT8_C( -46), INT8_C( 21), INT8_C( 89),
INT8_C( -58), INT8_C( -19), INT8_C( -7), INT8_C( -46),
INT8_C( 58), INT8_C( 120), INT8_C( -85), INT8_C( 46),
INT8_C( 80), INT8_C( -20), INT8_C( 94), INT8_C( 32),
INT8_C( -61), INT8_C( 80), INT8_C( -39), INT8_C( 109)),
UINT64_C( 1874542844),
simde_mm512_set_epi8(INT8_C(-100), INT8_C( 8), INT8_C( -30), INT8_C( -66),
INT8_C( -36), INT8_C( -55), INT8_C(-115), INT8_C( 64),
INT8_C( 70), INT8_C( -8), INT8_C(-128), INT8_C( 84),
INT8_C( 103), INT8_C( -54), INT8_C( 15), INT8_C( -45),
INT8_C(-118), INT8_C( -27), INT8_C( 32), INT8_C( -75),
INT8_C( 62), INT8_C( 67), INT8_C( -42), INT8_C( 4),
INT8_C( 16), INT8_C( 45), INT8_C( 43), INT8_C( 21),
INT8_C( 14), INT8_C( -97), INT8_C( -37), INT8_C( -6),
INT8_C(-100), INT8_C( -82), INT8_C( 58), INT8_C( 88),
INT8_C( 61), INT8_C( 74), INT8_C( 5), INT8_C( 44),
INT8_C( 61), INT8_C( -83), INT8_C( 68), INT8_C( -3),
INT8_C( 41), INT8_C( 117), INT8_C( 116), INT8_C( -16),
INT8_C( 48), INT8_C( -35), INT8_C( -2), INT8_C( -9),
INT8_C( -72), INT8_C( 97), INT8_C(-100), INT8_C( 120),
INT8_C( -96), INT8_C( 21), INT8_C( 35), INT8_C( 38),
INT8_C( -30), INT8_C( 81), INT8_C(-111), INT8_C( 42)),
simde_mm512_set_epi8(INT8_C( -63), INT8_C( 101), INT8_C( -21), INT8_C( -29),
INT8_C( -58), INT8_C( 75), INT8_C( -46), INT8_C( -8),
INT8_C( -92), INT8_C( 68), INT8_C( 64), INT8_C( 71),
INT8_C( 50), INT8_C( -60), INT8_C( 45), INT8_C( 13),
INT8_C( 106), INT8_C( 39), INT8_C( 64), INT8_C( 94),
INT8_C( -73), INT8_C( 90), INT8_C( -93), INT8_C(-109),
INT8_C(-100), INT8_C( 76), INT8_C( 29), INT8_C( -99),
INT8_C( 84), INT8_C( 37), INT8_C( 69), INT8_C( 125),
INT8_C( -66), INT8_C( 106), INT8_C( 75), INT8_C(-109),
INT8_C( 19), INT8_C( 119), INT8_C( 108), INT8_C( 52),
INT8_C( -69), INT8_C( 84), INT8_C( 6), INT8_C( 75),
INT8_C( 9), INT8_C(-103), INT8_C( -24), INT8_C( 9),
INT8_C( -42), INT8_C( 127), INT8_C( 47), INT8_C( -53),
INT8_C( 93), INT8_C( 18), INT8_C( -4), INT8_C( -42),
INT8_C( -20), INT8_C( 12), INT8_C( 100), INT8_C( -66),
INT8_C( -56), INT8_C( -47), INT8_C( -16), INT8_C( 104)),
simde_mm512_set_epi8(INT8_C( 125), INT8_C( -29), INT8_C( 116), INT8_C( -26),
INT8_C( 78), INT8_C( 37), INT8_C( -43), INT8_C( 45),
INT8_C( -81), INT8_C(-109), INT8_C( 26), INT8_C( -51),
INT8_C( -54), INT8_C( 99), INT8_C( 124), INT8_C( 2),
INT8_C( 10), INT8_C( 6), INT8_C( -77), INT8_C( -61),
INT8_C( 59), INT8_C( 60), INT8_C( 42), INT8_C( 33),
INT8_C( 126), INT8_C( 88), INT8_C( 41), INT8_C( 66),
INT8_C( 98), INT8_C( 111), INT8_C( 94), INT8_C( -70),
INT8_C( 116), INT8_C(-128), INT8_C( -17), INT8_C( 13),
INT8_C( 42), INT8_C( -45), INT8_C(-103), INT8_C( -8),
INT8_C( 127), INT8_C( 12), INT8_C( 62), INT8_C( -78),
INT8_C( 32), INT8_C( -46), INT8_C( 127), INT8_C( -25),
INT8_C( -58), INT8_C(-128), INT8_C( -7), INT8_C( -46),
INT8_C( 58), INT8_C( 120), INT8_C( -85), INT8_C( 46),
INT8_C( -76), INT8_C( 9), INT8_C( -65), INT8_C( 104),
INT8_C( 26), INT8_C( 127), INT8_C( -39), INT8_C( 109)) },
{ simde_mm512_set_epi8(INT8_C(-105), INT8_C( -37), INT8_C( 57), INT8_C( -65),
INT8_C( -18), INT8_C( -12), INT8_C( -19), INT8_C( 108),
INT8_C(-104), INT8_C( -75), INT8_C( 90), INT8_C( 70),
INT8_C( -27), INT8_C( 72), INT8_C( 24), INT8_C( -76),
INT8_C( -96), INT8_C(-123), INT8_C( 29), INT8_C(-106),
INT8_C( 55), INT8_C( 118), INT8_C( 81), INT8_C( 39),
INT8_C( -71), INT8_C( -44), INT8_C( 102), INT8_C( -78),
INT8_C( -31), INT8_C( -59), INT8_C( 63), INT8_C( 2),
INT8_C(-102), INT8_C( 50), INT8_C( 51), INT8_C(-105),
INT8_C( -79), INT8_C( 83), INT8_C( 28), INT8_C( 101),
INT8_C( 60), INT8_C( -89), INT8_C(-127), INT8_C( 40),
INT8_C( 37), INT8_C( -30), INT8_C( -95), INT8_C( -95),
INT8_C( -12), INT8_C( -31), INT8_C( -9), INT8_C( 29),
INT8_C( 10), INT8_C( 43), INT8_C( -6), INT8_C( -78),
INT8_C( -94), INT8_C( 107), INT8_C( 111), INT8_C( 4),
INT8_C( -9), INT8_C( 42), INT8_C( -92), INT8_C( 29)),
UINT64_C( 3975530942),
simde_mm512_set_epi8(INT8_C( -43), INT8_C( 17), INT8_C(-121), INT8_C( 17),
INT8_C( -38), INT8_C( 95), INT8_C( 94), INT8_C( -34),
INT8_C( 26), INT8_C(-107), INT8_C( 37), INT8_C(-105),
INT8_C( 52), INT8_C( 37), INT8_C( 92), INT8_C( -72),
INT8_C( -33), INT8_C( -75), INT8_C( -94), INT8_C( 1),
INT8_C( -71), INT8_C( 17), INT8_C(-112), INT8_C( -35),
INT8_C( 16), INT8_C( 122), INT8_C( -73), INT8_C( 18),
INT8_C( 88), INT8_C( 56), INT8_C( -10), INT8_C( -55),
INT8_C( 123), INT8_C(-125), INT8_C( -53), INT8_C( -1),
INT8_C( 2), INT8_C( 36), INT8_C( 121), INT8_C( -35),
INT8_C( 48), INT8_C( 77), INT8_C( 102), INT8_C( -56),
INT8_C( 57), INT8_C( -53), INT8_C( -69), INT8_C( -26),
INT8_C( -26), INT8_C( 90), INT8_C( 94), INT8_C( 84),
INT8_C( -13), INT8_C( 64), INT8_C( 115), INT8_C(-119),
INT8_C( 126), INT8_C( 83), INT8_C( 55), INT8_C( -37),
INT8_C( -59), INT8_C( 31), INT8_C( 24), INT8_C( 17)),
simde_mm512_set_epi8(INT8_C( 74), INT8_C( 90), INT8_C( 31), INT8_C( 63),
INT8_C( -50), INT8_C( 3), INT8_C( 34), INT8_C( -98),
INT8_C( -18), INT8_C(-126), INT8_C( 83), INT8_C( 80),
INT8_C( 21), INT8_C( 114), INT8_C( -45), INT8_C( -76),
INT8_C( -10), INT8_C( -63), INT8_C( -36), INT8_C(-104),
INT8_C( -48), INT8_C( -29), INT8_C( -85), INT8_C( 3),
INT8_C(-112), INT8_C( -72), INT8_C( 68), INT8_C( 5),
INT8_C( -84), INT8_C( -48), INT8_C(-110), INT8_C(-128),
INT8_C( 89), INT8_C( -17), INT8_C( -2), INT8_C( -14),
INT8_C( 61), INT8_C( 40), INT8_C( -41), INT8_C( 78),
INT8_C( -65), INT8_C( 82), INT8_C( -97), INT8_C(-107),
INT8_C( 36), INT8_C( 59), INT8_C( -78), INT8_C( 61),
INT8_C( 9), INT8_C( 86), INT8_C( 122), INT8_C( 2),
INT8_C( 27), INT8_C( 124), INT8_C( -38), INT8_C( 23),
INT8_C( -78), INT8_C( 48), INT8_C( 17), INT8_C( 54),
INT8_C( 116), INT8_C(-115), INT8_C( 105), INT8_C( -48)),
simde_mm512_set_epi8(INT8_C(-105), INT8_C( -37), INT8_C( 57), INT8_C( -65),
INT8_C( -18), INT8_C( -12), INT8_C( -19), INT8_C( 108),
INT8_C(-104), INT8_C( -75), INT8_C( 90), INT8_C( 70),
INT8_C( -27), INT8_C( 72), INT8_C( 24), INT8_C( -76),
INT8_C( -96), INT8_C(-123), INT8_C( 29), INT8_C(-106),
INT8_C( 55), INT8_C( 118), INT8_C( 81), INT8_C( 39),
INT8_C( -71), INT8_C( -44), INT8_C( 102), INT8_C( -78),
INT8_C( -31), INT8_C( -59), INT8_C( 63), INT8_C( 2),
INT8_C( 34), INT8_C(-108), INT8_C( -51), INT8_C(-105),
INT8_C( -59), INT8_C( -4), INT8_C( 28), INT8_C( 101),
INT8_C( 113), INT8_C( -5), INT8_C( 127), INT8_C( 51),
INT8_C( 37), INT8_C(-112), INT8_C( -95), INT8_C( -87),
INT8_C( -35), INT8_C( 4), INT8_C( -9), INT8_C( 29),
INT8_C( -40), INT8_C( 43), INT8_C( -6), INT8_C(-128),
INT8_C( 127), INT8_C( 107), INT8_C( 38), INT8_C( -91),
INT8_C(-128), INT8_C( 127), INT8_C( -81), INT8_C( 29)) },
{ simde_mm512_set_epi8(INT8_C( -61), INT8_C( -50), INT8_C( -30), INT8_C( 100),
INT8_C( -32), INT8_C(-100), INT8_C( 0), INT8_C( -53),
INT8_C( -74), INT8_C( 41), INT8_C( 37), INT8_C( 44),
INT8_C( 4), INT8_C( -98), INT8_C( 73), INT8_C( -60),
INT8_C( 85), INT8_C( 11), INT8_C( 90), INT8_C( 41),
INT8_C( 94), INT8_C( 105), INT8_C( -3), INT8_C( -61),
INT8_C( 118), INT8_C( -95), INT8_C(-121), INT8_C( -38),
INT8_C(-104), INT8_C( 36), INT8_C( 86), INT8_C( 49),
INT8_C( 118), INT8_C( -55), INT8_C( -12), INT8_C( -47),
INT8_C( 98), INT8_C( 69), INT8_C(-107), INT8_C( 120),
INT8_C( 49), INT8_C( 116), INT8_C( -55), INT8_C( -29),
INT8_C( 93), INT8_C(-120), INT8_C( 116), INT8_C( -2),
INT8_C(-100), INT8_C(-116), INT8_C( -60), INT8_C( -65),
INT8_C( 55), INT8_C( 64), INT8_C( -42), INT8_C( -46),
INT8_C(-101), INT8_C( -6), INT8_C( -22), INT8_C( 36),
INT8_C( 111), INT8_C( -33), INT8_C( 84), INT8_C( 25)),
UINT64_C( 2085281943),
simde_mm512_set_epi8(INT8_C( 125), INT8_C( 0), INT8_C( 14), INT8_C( 82),
INT8_C( 68), INT8_C( -35), INT8_C( -43), INT8_C( -7),
INT8_C( 68), INT8_C( 127), INT8_C( -94), INT8_C( -60),
INT8_C( -16), INT8_C( -81), INT8_C(-125), INT8_C( 75),
INT8_C( -5), INT8_C( 103), INT8_C( 97), INT8_C( -56),
INT8_C( 5), INT8_C( -6), INT8_C( 40), INT8_C( 58),
INT8_C( 106), INT8_C(-112), INT8_C( -85), INT8_C( 2),
INT8_C( 42), INT8_C( -58), INT8_C( -70), INT8_C( -97),
INT8_C( 95), INT8_C( 14), INT8_C( 116), INT8_C( -67),
INT8_C( 1), INT8_C( 68), INT8_C( -54), INT8_C( -13),
INT8_C( -11), INT8_C( -60), INT8_C( -44), INT8_C( 102),
INT8_C( -9), INT8_C( -71), INT8_C( -51), INT8_C( 40),
INT8_C( 0), INT8_C( -81), INT8_C( 85), INT8_C(-103),
INT8_C( 21), INT8_C( 112), INT8_C( 59), INT8_C( -49),
INT8_C( -57), INT8_C( 28), INT8_C( -72), INT8_C( -76),
INT8_C( -32), INT8_C( -46), INT8_C( -10), INT8_C( 43)),
simde_mm512_set_epi8(INT8_C( 65), INT8_C( 28), INT8_C( 112), INT8_C( 84),
INT8_C( -84), INT8_C( 90), INT8_C( 43), INT8_C( -27),
INT8_C( 82), INT8_C( -68), INT8_C( -29), INT8_C(-114),
INT8_C( 96), INT8_C( 68), INT8_C( 41), INT8_C( -5),
INT8_C( 60), INT8_C( 55), INT8_C( 65), INT8_C( 51),
INT8_C(-116), INT8_C( 90), INT8_C( 113), INT8_C( 72),
INT8_C( 119), INT8_C( -14), INT8_C( 52), INT8_C( 73),
INT8_C( -28), INT8_C( -61), INT8_C( 83), INT8_C( 94),
INT8_C( 116), INT8_C( -75), INT8_C( 6), INT8_C( -97),
INT8_C( 114), INT8_C( 125), INT8_C( -13), INT8_C( -39),
INT8_C( -76), INT8_C( -78), INT8_C( 126), INT8_C( 42),
INT8_C( -31), INT8_C(-119), INT8_C( 44), INT8_C( -13),
INT8_C( 39), INT8_C( 26), INT8_C( 103), INT8_C( 126),
INT8_C( -63), INT8_C( -48), INT8_C( -12), INT8_C( 54),
INT8_C( -42), INT8_C( 31), INT8_C( 1), INT8_C( 119),
INT8_C( -34), INT8_C( -59), INT8_C(-107), INT8_C( 102)),
simde_mm512_set_epi8(INT8_C( -61), INT8_C( -50), INT8_C( -30), INT8_C( 100),
INT8_C( -32), INT8_C(-100), INT8_C( 0), INT8_C( -53),
INT8_C( -74), INT8_C( 41), INT8_C( 37), INT8_C( 44),
INT8_C( 4), INT8_C( -98), INT8_C( 73), INT8_C( -60),
INT8_C( 85), INT8_C( 11), INT8_C( 90), INT8_C( 41),
INT8_C( 94), INT8_C( 105), INT8_C( -3), INT8_C( -61),
INT8_C( 118), INT8_C( -95), INT8_C(-121), INT8_C( -38),
INT8_C(-104), INT8_C( 36), INT8_C( 86), INT8_C( 49),
INT8_C( 118), INT8_C( 89), INT8_C( 110), INT8_C( 30),
INT8_C(-113), INT8_C( -57), INT8_C(-107), INT8_C( 120),
INT8_C( 49), INT8_C( 18), INT8_C( -55), INT8_C( -29),
INT8_C( 22), INT8_C(-120), INT8_C( -95), INT8_C( -2),
INT8_C( -39), INT8_C(-107), INT8_C( -18), INT8_C( -65),
INT8_C( 55), INT8_C( 64), INT8_C( -42), INT8_C( -46),
INT8_C( -15), INT8_C( -6), INT8_C( -22), INT8_C(-128),
INT8_C( 111), INT8_C( 13), INT8_C( 97), INT8_C( -59)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_mask_subs_epi8(test_vec[i].src, test_vec[i].k, test_vec[i].a, test_vec[i].b);
simde_assert_m512i_i8(r, ==, test_vec[i].r);
}
return 0;
}
static int
test_simde_mm512_maskz_subs_epi8(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__mmask64 k;
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ UINT64_C( 2568138505),
simde_mm512_set_epi8(INT8_C( 65), INT8_C( -91), INT8_C( -13), INT8_C( 114),
INT8_C( 123), INT8_C( 107), INT8_C(-108), INT8_C( 15),
INT8_C( 52), INT8_C(-124), INT8_C( -17), INT8_C( -9),
INT8_C( 31), INT8_C( 67), INT8_C( -76), INT8_C( -4),
INT8_C( -52), INT8_C( 99), INT8_C( 106), INT8_C( -35),
INT8_C(-115), INT8_C(-127), INT8_C( 121), INT8_C( -60),
INT8_C( -27), INT8_C( 73), INT8_C( -21), INT8_C( -51),
INT8_C(-127), INT8_C( 68), INT8_C( 109), INT8_C( 35),
INT8_C( 96), INT8_C( 3), INT8_C( -62), INT8_C( -43),
INT8_C( -75), INT8_C( 102), INT8_C(-105), INT8_C( 63),
INT8_C( 64), INT8_C( 114), INT8_C( 112), INT8_C( 10),
INT8_C( 108), INT8_C( 71), INT8_C( -40), INT8_C( 20),
INT8_C( -40), INT8_C( 26), INT8_C( -94), INT8_C( 107),
INT8_C( -89), INT8_C( 22), INT8_C( 55), INT8_C( 105),
INT8_C( 23), INT8_C( 52), INT8_C( 82), INT8_C( 50),
INT8_C( -48), INT8_C( 77), INT8_C( 73), INT8_C( 98)),
simde_mm512_set_epi8(INT8_C( 87), INT8_C( 118), INT8_C( 10), INT8_C( -53),
INT8_C( -21), INT8_C( -77), INT8_C( 81), INT8_C( 16),
INT8_C( 125), INT8_C( 53), INT8_C( -93), INT8_C( -44),
INT8_C( -14), INT8_C( -81), INT8_C( 93), INT8_C( -81),
INT8_C( 69), INT8_C( 88), INT8_C( 17), INT8_C(-127),
INT8_C( 49), INT8_C( 91), INT8_C( 55), INT8_C( -23),
INT8_C( -84), INT8_C( 12), INT8_C( -97), INT8_C( -75),
INT8_C( 99), INT8_C( 54), INT8_C( -92), INT8_C( -28),
INT8_C( -2), INT8_C( 69), INT8_C(-102), INT8_C( 42),
INT8_C( 41), INT8_C(-101), INT8_C( -59), INT8_C( -72),
INT8_C( -53), INT8_C( -47), INT8_C( -78), INT8_C( 67),
INT8_C( 54), INT8_C( 12), INT8_C( -65), INT8_C( 101),
INT8_C( 77), INT8_C( -96), INT8_C( -15), INT8_C( 66),
INT8_C( 50), INT8_C( 9), INT8_C( -75), INT8_C( 102),
INT8_C( 2), INT8_C( -31), INT8_C( 83), INT8_C( -71),
INT8_C( -84), INT8_C( -66), INT8_C(-111), INT8_C( -2)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 98), INT8_C( 0), INT8_C( 0), INT8_C( -85),
INT8_C(-116), INT8_C( 0), INT8_C( 0), INT8_C( 127),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -57),
INT8_C( 0), INT8_C( 0), INT8_C( 25), INT8_C( 0),
INT8_C(-117), INT8_C( 0), INT8_C( -79), INT8_C( 0),
INT8_C(-128), INT8_C( 13), INT8_C( 127), INT8_C( 3),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 36), INT8_C( 0), INT8_C( 0), INT8_C( 100)) },
{ UINT64_C( 2987001584),
simde_mm512_set_epi8(INT8_C( 31), INT8_C( 110), INT8_C(-101), INT8_C( -57),
INT8_C( 28), INT8_C( -50), INT8_C( -16), INT8_C( 37),
INT8_C( 87), INT8_C(-105), INT8_C( 96), INT8_C( -79),
INT8_C( 99), INT8_C( 74), INT8_C( 20), INT8_C( 120),
INT8_C( 60), INT8_C( 49), INT8_C( 101), INT8_C( -94),
INT8_C( -5), INT8_C( 114), INT8_C( 17), INT8_C( 1),
INT8_C( 36), INT8_C( -92), INT8_C( 39), INT8_C(-108),
INT8_C( -15), INT8_C( 14), INT8_C( -15), INT8_C( 79),
INT8_C( 112), INT8_C( 108), INT8_C( -44), INT8_C( -18),
INT8_C( 125), INT8_C( 93), INT8_C( -92), INT8_C( -51),
INT8_C( 21), INT8_C( -19), INT8_C( -56), INT8_C( 114),
INT8_C( -95), INT8_C( 40), INT8_C( -27), INT8_C( -85),
INT8_C( 26), INT8_C( 29), INT8_C( -30), INT8_C( 53),
INT8_C( -69), INT8_C( -26), INT8_C( 79), INT8_C(-124),
INT8_C( -35), INT8_C( -29), INT8_C( -59), INT8_C( -99),
INT8_C(-118), INT8_C( 30), INT8_C( 105), INT8_C( 3)),
simde_mm512_set_epi8(INT8_C( 100), INT8_C(-112), INT8_C( 127), INT8_C( -1),
INT8_C( -76), INT8_C( 101), INT8_C( 90), INT8_C( -29),
INT8_C( -60), INT8_C( -92), INT8_C( -73), INT8_C( -20),
INT8_C( -84), INT8_C( -11), INT8_C( -28), INT8_C(-123),
INT8_C( -48), INT8_C(-118), INT8_C(-107), INT8_C( 73),
INT8_C( -80), INT8_C( 46), INT8_C(-117), INT8_C( -85),
INT8_C( -21), INT8_C( -54), INT8_C( -49), INT8_C( -8),
INT8_C( 51), INT8_C( 126), INT8_C( 22), INT8_C( 70),
INT8_C( -86), INT8_C( -98), INT8_C( -17), INT8_C( -29),
INT8_C( 75), INT8_C( 115), INT8_C( 61), INT8_C( 76),
INT8_C( -65), INT8_C( 43), INT8_C( -13), INT8_C( -2),
INT8_C( 81), INT8_C( -26), INT8_C( -6), INT8_C( -15),
INT8_C( -40), INT8_C( 72), INT8_C( 66), INT8_C( 32),
INT8_C( 22), INT8_C( -74), INT8_C( -73), INT8_C( 67),
INT8_C( 75), INT8_C( -18), INT8_C( -97), INT8_C( 75),
INT8_C( -47), INT8_C( 32), INT8_C( 26), INT8_C(-108)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 127), INT8_C( 0), INT8_C( -27), INT8_C( 11),
INT8_C( 0), INT8_C( 0), INT8_C(-128), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C(-128), INT8_C( 0), INT8_C( -21), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 48), INT8_C( 127), INT8_C( 0),
INT8_C(-110), INT8_C( -11), INT8_C( 38), INT8_C(-128),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0)) },
{ UINT64_C( 1908364466),
simde_mm512_set_epi8(INT8_C( 57), INT8_C( 79), INT8_C( 6), INT8_C( 7),
INT8_C( 37), INT8_C(-119), INT8_C( -51), INT8_C( 99),
INT8_C( -66), INT8_C( -12), INT8_C( -24), INT8_C(-107),
INT8_C(-117), INT8_C( 63), INT8_C( 42), INT8_C( 79),
INT8_C( -78), INT8_C( -79), INT8_C( -22), INT8_C( -52),
INT8_C( -78), INT8_C( -8), INT8_C( -61), INT8_C( 101),
INT8_C(-111), INT8_C( 35), INT8_C( -89), INT8_C( 127),
INT8_C( 50), INT8_C(-115), INT8_C( 91), INT8_C( -72),
INT8_C( -97), INT8_C( -34), INT8_C( -80), INT8_C( -31),
INT8_C( -60), INT8_C( 119), INT8_C(-106), INT8_C( 66),
INT8_C( 75), INT8_C(-108), INT8_C(-113), INT8_C( 120),
INT8_C( 36), INT8_C( 112), INT8_C( -45), INT8_C( 41),
INT8_C( 90), INT8_C( -32), INT8_C( 22), INT8_C( 86),
INT8_C( 72), INT8_C( -20), INT8_C( -4), INT8_C(-125),
INT8_C( -37), INT8_C( 84), INT8_C( -95), INT8_C( -66),
INT8_C( 109), INT8_C( 18), INT8_C( 120), INT8_C(-115)),
simde_mm512_set_epi8(INT8_C( 127), INT8_C( -8), INT8_C( 57), INT8_C( -73),
INT8_C( 40), INT8_C( -7), INT8_C( 90), INT8_C(-110),
INT8_C(-100), INT8_C(-107), INT8_C( 106), INT8_C( -87),
INT8_C( 61), INT8_C( -94), INT8_C( 7), INT8_C( 84),
INT8_C( 25), INT8_C( 77), INT8_C( 24), INT8_C( 35),
INT8_C( 56), INT8_C( -72), INT8_C( 65), INT8_C( -77),
INT8_C( 81), INT8_C( 110), INT8_C( 109), INT8_C( 26),
INT8_C( -46), INT8_C( 6), INT8_C( -4), INT8_C( -76),
INT8_C( 49), INT8_C( 67), INT8_C( -22), INT8_C( 12),
INT8_C( 66), INT8_C( -76), INT8_C( -71), INT8_C( 20),
INT8_C( -11), INT8_C( 97), INT8_C( 20), INT8_C( -1),
INT8_C( 69), INT8_C( 54), INT8_C( -68), INT8_C( 104),
INT8_C( 61), INT8_C( -16), INT8_C( -52), INT8_C( -98),
INT8_C(-126), INT8_C(-109), INT8_C( 86), INT8_C( 51),
INT8_C( 95), INT8_C( -88), INT8_C( 6), INT8_C(-121),
INT8_C( 49), INT8_C( 97), INT8_C( -69), INT8_C( 125)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C(-101), INT8_C( -58), INT8_C( -43),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 46),
INT8_C( 86), INT8_C( 0), INT8_C(-128), INT8_C( 121),
INT8_C( -33), INT8_C( 58), INT8_C( 23), INT8_C( -63),
INT8_C( 0), INT8_C( -16), INT8_C( 0), INT8_C( 127),
INT8_C( 0), INT8_C( 89), INT8_C( 0), INT8_C( 0),
INT8_C(-128), INT8_C( 0), INT8_C(-101), INT8_C( 55),
INT8_C( 0), INT8_C( 0), INT8_C( 127), INT8_C( 0)) },
{ UINT64_C( 3441334389),
simde_mm512_set_epi8(INT8_C( 96), INT8_C( 30), INT8_C( 105), INT8_C( -4),
INT8_C( 44), INT8_C( 54), INT8_C( 89), INT8_C( 40),
INT8_C( 99), INT8_C( 41), INT8_C( 5), INT8_C( -2),
INT8_C( -57), INT8_C( 98), INT8_C( 33), INT8_C( -28),
INT8_C( 66), INT8_C( 28), INT8_C( -53), INT8_C( 48),
INT8_C( -75), INT8_C( -97), INT8_C( -42), INT8_C( 47),
INT8_C( -33), INT8_C( -17), INT8_C( 113), INT8_C( 120),
INT8_C(-111), INT8_C( 14), INT8_C( 77), INT8_C(-108),
INT8_C( 25), INT8_C( -42), INT8_C( 109), INT8_C( -97),
INT8_C( -19), INT8_C( -18), INT8_C( -1), INT8_C( -50),
INT8_C( -87), INT8_C( -70), INT8_C( 94), INT8_C( -91),
INT8_C( 23), INT8_C( 33), INT8_C( -10), INT8_C( 81),
INT8_C( 81), INT8_C( -63), INT8_C( 35), INT8_C( 44),
INT8_C( 11), INT8_C(-124), INT8_C( -20), INT8_C( 71),
INT8_C( -25), INT8_C(-112), INT8_C( 2), INT8_C( 59),
INT8_C( 21), INT8_C(-113), INT8_C( 35), INT8_C( -40)),
simde_mm512_set_epi8(INT8_C( -44), INT8_C( 54), INT8_C(-101), INT8_C( -13),
INT8_C( 111), INT8_C( 110), INT8_C( 114), INT8_C( -57),
INT8_C( 58), INT8_C(-128), INT8_C(-123), INT8_C( -3),
INT8_C( 74), INT8_C( -78), INT8_C(-124), INT8_C( -30),
INT8_C( 21), INT8_C( 86), INT8_C( -53), INT8_C(-116),
INT8_C(-126), INT8_C( 10), INT8_C(-123), INT8_C( -78),
INT8_C( 2), INT8_C( 100), INT8_C( -90), INT8_C( -79),
INT8_C( -46), INT8_C( -83), INT8_C( 11), INT8_C(-120),
INT8_C( -56), INT8_C( -4), INT8_C( -39), INT8_C(-114),
INT8_C( -98), INT8_C(-108), INT8_C( -22), INT8_C( 24),
INT8_C( 127), INT8_C( -20), INT8_C( 7), INT8_C( -16),
INT8_C( -8), INT8_C( 19), INT8_C( 119), INT8_C( -44),
INT8_C( 7), INT8_C( -47), INT8_C(-126), INT8_C(-119),
INT8_C( 1), INT8_C( 111), INT8_C( -95), INT8_C( -67),
INT8_C( 38), INT8_C( -19), INT8_C( 96), INT8_C( -21),
INT8_C( -76), INT8_C(-123), INT8_C(-115), INT8_C( -61)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 81), INT8_C( -38), INT8_C( 0), INT8_C( 0),
INT8_C( 79), INT8_C( 90), INT8_C( 0), INT8_C( -74),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -75),
INT8_C( 31), INT8_C( 14), INT8_C(-128), INT8_C( 0),
INT8_C( 74), INT8_C( 0), INT8_C( 0), INT8_C( 127),
INT8_C( 10), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( -93), INT8_C( -94), INT8_C( 80),
INT8_C( 0), INT8_C( 10), INT8_C( 0), INT8_C( 21)) },
{ UINT64_C( 706560777),
simde_mm512_set_epi8(INT8_C( 44), INT8_C( 94), INT8_C( 127), INT8_C( -12),
INT8_C( 90), INT8_C( 111), INT8_C( -20), INT8_C(-110),
INT8_C( -82), INT8_C( -19), INT8_C( -79), INT8_C(-128),
INT8_C( -6), INT8_C(-119), INT8_C( 100), INT8_C( 125),
INT8_C( -42), INT8_C( 43), INT8_C( 6), INT8_C( -97),
INT8_C( -90), INT8_C( -4), INT8_C( -71), INT8_C( 33),
INT8_C( 1), INT8_C( 3), INT8_C( -91), INT8_C( -62),
INT8_C(-106), INT8_C( -6), INT8_C( 35), INT8_C( 67),
INT8_C( 97), INT8_C( 46), INT8_C( 89), INT8_C( 56),
INT8_C( -84), INT8_C( -39), INT8_C( -70), INT8_C( 78),
INT8_C( -49), INT8_C( 94), INT8_C( -1), INT8_C( -23),
INT8_C( -88), INT8_C( -11), INT8_C(-128), INT8_C( -62),
INT8_C( 106), INT8_C( 125), INT8_C( -71), INT8_C( -96),
INT8_C( -28), INT8_C( -58), INT8_C( -40), INT8_C( -32),
INT8_C( -13), INT8_C( -84), INT8_C( -69), INT8_C( -40),
INT8_C(-122), INT8_C( 117), INT8_C( 115), INT8_C( -87)),
simde_mm512_set_epi8(INT8_C( 66), INT8_C( -40), INT8_C( -14), INT8_C( -56),
INT8_C( -68), INT8_C( -68), INT8_C(-124), INT8_C( -65),
INT8_C( 41), INT8_C( -59), INT8_C(-122), INT8_C( 101),
INT8_C( 82), INT8_C( -28), INT8_C( -40), INT8_C( -58),
INT8_C( 127), INT8_C( 66), INT8_C( 63), INT8_C( -46),
INT8_C( 90), INT8_C( 39), INT8_C( -89), INT8_C(-105),
INT8_C( -51), INT8_C( -46), INT8_C( 111), INT8_C( -45),
INT8_C( -76), INT8_C(-112), INT8_C( -37), INT8_C(-120),
INT8_C( 50), INT8_C( -97), INT8_C( -2), INT8_C( 121),
INT8_C( 68), INT8_C(-106), INT8_C( 101), INT8_C( 115),
INT8_C( -29), INT8_C( 59), INT8_C( 77), INT8_C( -36),
INT8_C( 111), INT8_C( 95), INT8_C( 48), INT8_C( 113),
INT8_C( -97), INT8_C( 105), INT8_C( -37), INT8_C( -42),
INT8_C( -7), INT8_C( 31), INT8_C( 45), INT8_C( -5),
INT8_C( -29), INT8_C( 44), INT8_C( 78), INT8_C( -25),
INT8_C( -47), INT8_C(-119), INT8_C( -90), INT8_C( 115)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 91), INT8_C( 0),
INT8_C(-128), INT8_C( 0), INT8_C(-128), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 13),
INT8_C(-128), INT8_C(-106), INT8_C( 0), INT8_C(-128),
INT8_C( 0), INT8_C( 20), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( -85), INT8_C( -27),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( -75), INT8_C( 0), INT8_C( 0), INT8_C(-128)) },
{ UINT64_C( 3905965829),
simde_mm512_set_epi8(INT8_C( 51), INT8_C( -49), INT8_C( 69), INT8_C( -80),
INT8_C( 34), INT8_C( 87), INT8_C( 88), INT8_C( -38),
INT8_C( -14), INT8_C( -30), INT8_C(-111), INT8_C( -87),
INT8_C( 37), INT8_C( 40), INT8_C( -30), INT8_C( -40),
INT8_C( 89), INT8_C( 39), INT8_C( 109), INT8_C( 109),
INT8_C( -71), INT8_C( -81), INT8_C( 67), INT8_C( 48),
INT8_C( -43), INT8_C( 31), INT8_C( -36), INT8_C( -53),
INT8_C( -7), INT8_C( 84), INT8_C( -92), INT8_C( 124),
INT8_C( -22), INT8_C( 31), INT8_C( 42), INT8_C(-103),
INT8_C( 29), INT8_C( 75), INT8_C( -91), INT8_C( 75),
INT8_C( 107), INT8_C( 62), INT8_C( 126), INT8_C( 7),
INT8_C( -89), INT8_C( 119), INT8_C( 79), INT8_C( -38),
INT8_C( 18), INT8_C( 57), INT8_C(-102), INT8_C( 66),
INT8_C( -7), INT8_C( 89), INT8_C( 57), INT8_C( -55),
INT8_C( -68), INT8_C( 21), INT8_C( -21), INT8_C( -6),
INT8_C( -26), INT8_C( 122), INT8_C( 114), INT8_C( 83)),
simde_mm512_set_epi8(INT8_C( 111), INT8_C( 34), INT8_C( -76), INT8_C( 65),
INT8_C( -31), INT8_C( 25), INT8_C( -63), INT8_C(-128),
INT8_C( -28), INT8_C( 80), INT8_C( -75), INT8_C( 83),
INT8_C( -23), INT8_C( -65), INT8_C( -75), INT8_C( -10),
INT8_C(-102), INT8_C(-123), INT8_C( 20), INT8_C( 36),
INT8_C( 70), INT8_C( -95), INT8_C( 63), INT8_C( 110),
INT8_C( 98), INT8_C(-128), INT8_C( -74), INT8_C( -50),
INT8_C( 17), INT8_C( -37), INT8_C(-104), INT8_C( -74),
INT8_C( -4), INT8_C( 15), INT8_C( -59), INT8_C( 62),
INT8_C( -89), INT8_C( 103), INT8_C( -5), INT8_C( 71),
INT8_C( 103), INT8_C(-119), INT8_C( -62), INT8_C( -47),
INT8_C( -78), INT8_C( 32), INT8_C( 104), INT8_C( 33),
INT8_C( -45), INT8_C( -54), INT8_C( 17), INT8_C(-117),
INT8_C( 96), INT8_C( 66), INT8_C( -18), INT8_C( -58),
INT8_C(-111), INT8_C(-110), INT8_C( -14), INT8_C( 7),
INT8_C( 85), INT8_C(-113), INT8_C( 19), INT8_C( -72)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( -18), INT8_C( 16), INT8_C( 101), INT8_C( 0),
INT8_C( 118), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 4), INT8_C( 127), INT8_C( 0), INT8_C( 54),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 111), INT8_C( 0), INT8_C( 0),
INT8_C(-103), INT8_C( 23), INT8_C( 75), INT8_C( 3),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 127), INT8_C( 0), INT8_C( 127)) },
{ UINT64_C( 993418129),
simde_mm512_set_epi8(INT8_C( -62), INT8_C( 96), INT8_C( -27), INT8_C( -88),
INT8_C( -35), INT8_C( -58), INT8_C( -83), INT8_C( 36),
INT8_C( -16), INT8_C( 50), INT8_C(-127), INT8_C( -82),
INT8_C( 106), INT8_C( 56), INT8_C( 74), INT8_C( -59),
INT8_C( -80), INT8_C( -22), INT8_C( 6), INT8_C( -65),
INT8_C(-106), INT8_C( -51), INT8_C( 4), INT8_C( -33),
INT8_C( 91), INT8_C( 46), INT8_C( -16), INT8_C( 27),
INT8_C( -66), INT8_C( -93), INT8_C( -43), INT8_C( 14),
INT8_C( 100), INT8_C(-113), INT8_C( 32), INT8_C( 15),
INT8_C( -79), INT8_C( 63), INT8_C( -18), INT8_C( -96),
INT8_C(-119), INT8_C( 114), INT8_C( -87), INT8_C( -82),
INT8_C( 76), INT8_C( 117), INT8_C( 14), INT8_C( -65),
INT8_C( -37), INT8_C( -15), INT8_C( 43), INT8_C( 5),
INT8_C(-108), INT8_C( -5), INT8_C( -84), INT8_C( 13),
INT8_C( -66), INT8_C( 80), INT8_C( -20), INT8_C( 34),
INT8_C(-122), INT8_C(-101), INT8_C( -91), INT8_C( -35)),
simde_mm512_set_epi8(INT8_C( 96), INT8_C(-100), INT8_C( -47), INT8_C( 114),
INT8_C(-109), INT8_C( 8), INT8_C( 51), INT8_C( 120),
INT8_C( -12), INT8_C(-128), INT8_C( -4), INT8_C(-105),
INT8_C( 83), INT8_C(-123), INT8_C( -98), INT8_C( -2),
INT8_C( 54), INT8_C( 110), INT8_C( -53), INT8_C( 100),
INT8_C( 94), INT8_C( -2), INT8_C( 72), INT8_C( 95),
INT8_C( -61), INT8_C( -31), INT8_C( 2), INT8_C( 88),
INT8_C( 69), INT8_C(-117), INT8_C( 33), INT8_C( -57),
INT8_C( -67), INT8_C( 92), INT8_C( -31), INT8_C( -16),
INT8_C(-115), INT8_C( -91), INT8_C( 0), INT8_C( -73),
INT8_C( -3), INT8_C( -71), INT8_C( 55), INT8_C( -82),
INT8_C( -28), INT8_C( -34), INT8_C( -40), INT8_C( 60),
INT8_C( 31), INT8_C(-113), INT8_C( 90), INT8_C( 114),
INT8_C( 73), INT8_C( 77), INT8_C( -29), INT8_C( 80),
INT8_C(-106), INT8_C( 121), INT8_C(-122), INT8_C( -4),
INT8_C( 104), INT8_C( -76), INT8_C( 85), INT8_C( -33)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 63), INT8_C( 31),
INT8_C( 36), INT8_C( 0), INT8_C( -18), INT8_C( -23),
INT8_C( 0), INT8_C( 0), INT8_C(-128), INT8_C( 0),
INT8_C( 0), INT8_C( 127), INT8_C( 54), INT8_C( 0),
INT8_C( 0), INT8_C( 98), INT8_C( 0), INT8_C(-109),
INT8_C(-128), INT8_C( 0), INT8_C( -55), INT8_C( -67),
INT8_C( 40), INT8_C( 0), INT8_C( 0), INT8_C( 38),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( -2)) },
{ UINT64_C( 1423233113),
simde_mm512_set_epi8(INT8_C( 85), INT8_C( 12), INT8_C( -17), INT8_C( 78),
INT8_C( 2), INT8_C( -46), INT8_C( 21), INT8_C( 89),
INT8_C( -58), INT8_C( -19), INT8_C( -7), INT8_C( -46),
INT8_C( 58), INT8_C( 120), INT8_C( -85), INT8_C( 46),
INT8_C( 80), INT8_C( -20), INT8_C( 94), INT8_C( 32),
INT8_C( -61), INT8_C( 80), INT8_C( -39), INT8_C( 109),
INT8_C( -24), INT8_C( -30), INT8_C( 27), INT8_C( -44),
INT8_C( -74), INT8_C( -85), INT8_C( -66), INT8_C( 26),
INT8_C( -69), INT8_C( 112), INT8_C( -22), INT8_C( 62),
INT8_C( 24), INT8_C(-107), INT8_C( -41), INT8_C( -21),
INT8_C( 68), INT8_C( -34), INT8_C( 109), INT8_C( 58),
INT8_C( 16), INT8_C( -72), INT8_C( -84), INT8_C( 18),
INT8_C( -73), INT8_C( -54), INT8_C( 16), INT8_C( -93),
INT8_C( -51), INT8_C( -50), INT8_C( 54), INT8_C( -69),
INT8_C( -98), INT8_C(-113), INT8_C( -73), INT8_C(-124),
INT8_C( -65), INT8_C( -51), INT8_C( 43), INT8_C( 10)),
simde_mm512_set_epi8(INT8_C( 48), INT8_C( -35), INT8_C( -2), INT8_C( -9),
INT8_C( -72), INT8_C( 97), INT8_C(-100), INT8_C( 120),
INT8_C( -96), INT8_C( 21), INT8_C( 35), INT8_C( 38),
INT8_C( -30), INT8_C( 81), INT8_C(-111), INT8_C( 42),
INT8_C( 39), INT8_C(-112), INT8_C( 20), INT8_C(-116),
INT8_C( 111), INT8_C( -69), INT8_C( 64), INT8_C( -4),
INT8_C( 125), INT8_C( -29), INT8_C( 116), INT8_C( -26),
INT8_C( 78), INT8_C( 37), INT8_C( -43), INT8_C( 45),
INT8_C( -81), INT8_C(-109), INT8_C( 26), INT8_C( -51),
INT8_C( -54), INT8_C( 99), INT8_C( 124), INT8_C( 2),
INT8_C( 10), INT8_C( 6), INT8_C( -77), INT8_C( -61),
INT8_C( 59), INT8_C( 60), INT8_C( 42), INT8_C( 33),
INT8_C( 126), INT8_C( 88), INT8_C( 41), INT8_C( 66),
INT8_C( 98), INT8_C( 111), INT8_C( 94), INT8_C( -70),
INT8_C( 116), INT8_C( -40), INT8_C( -88), INT8_C( 13),
INT8_C( 50), INT8_C( 54), INT8_C( 32), INT8_C( -48)),
simde_mm512_set_epi8(INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( 127), INT8_C( 0), INT8_C( 113),
INT8_C( 0), INT8_C(-128), INT8_C( 0), INT8_C( 0),
INT8_C( 58), INT8_C( -40), INT8_C( 0), INT8_C( 119),
INT8_C( 0), INT8_C(-128), INT8_C( 0), INT8_C( 0),
INT8_C(-128), INT8_C(-128), INT8_C( 0), INT8_C(-128),
INT8_C( 0), INT8_C( 0), INT8_C( 0), INT8_C( 0),
INT8_C( 0), INT8_C( -73), INT8_C( 0), INT8_C(-128),
INT8_C(-115), INT8_C( 0), INT8_C( 0), INT8_C( 58)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_maskz_subs_epi8(test_vec[i].k, test_vec[i].a, test_vec[i].b);
simde_assert_m512i_i8(r, ==, test_vec[i].r);
}
return 0;
}
static int
test_simde_mm512_subs_epi16(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ simde_mm512_set_epi16(INT16_C( 21075), INT16_C( 30017), INT16_C(-11898), INT16_C( 29710),
INT16_C( 19457), INT16_C(-12796), INT16_C( 21427), INT16_C( 28826),
INT16_C( 25482), INT16_C(-11843), INT16_C( 15582), INT16_C( 20114),
INT16_C(-14761), INT16_C(-15590), INT16_C( -4142), INT16_C( 29932),
INT16_C(-30672), INT16_C( 6190), INT16_C( 26590), INT16_C( 10803),
INT16_C(-16554), INT16_C( 15816), INT16_C( 14967), INT16_C( 24063),
INT16_C(-14713), INT16_C( -8094), INT16_C(-16817), INT16_C( 25507),
INT16_C( 19912), INT16_C(-19929), INT16_C(-12604), INT16_C(-17156)),
simde_mm512_set_epi16(INT16_C( 27175), INT16_C(-27122), INT16_C( -6914), INT16_C( 10212),
INT16_C( 13894), INT16_C( -4620), INT16_C(-10724), INT16_C( -3078),
INT16_C( 29698), INT16_C( 6009), INT16_C( 28893), INT16_C(-31734),
INT16_C( -3957), INT16_C( 6787), INT16_C( 9325), INT16_C( 7645),
INT16_C( -2133), INT16_C( -9633), INT16_C(-22525), INT16_C( 1124),
INT16_C( 21781), INT16_C( 17119), INT16_C(-19461), INT16_C(-32134),
INT16_C( -7507), INT16_C( 19092), INT16_C( 21408), INT16_C(-14444),
INT16_C( 22843), INT16_C( 28625), INT16_C( -2322), INT16_C( 5251)),
simde_mm512_set_epi16(INT16_C( -6100), INT16_C( 32767), INT16_C( -4984), INT16_C( 19498),
INT16_C( 5563), INT16_C( -8176), INT16_C( 32151), INT16_C( 31904),
INT16_C( -4216), INT16_C(-17852), INT16_C(-13311), INT16_C( 32767),
INT16_C(-10804), INT16_C(-22377), INT16_C(-13467), INT16_C( 22287),
INT16_C(-28539), INT16_C( 15823), INT16_C( 32767), INT16_C( 9679),
INT16_C(-32768), INT16_C( -1303), INT16_C( 32767), INT16_C( 32767),
INT16_C( -7206), INT16_C(-27186), INT16_C(-32768), INT16_C( 32767),
INT16_C( -2931), INT16_C(-32768), INT16_C(-10282), INT16_C(-22407)) },
{ simde_mm512_set_epi16(INT16_C(-27508), INT16_C( 5509), INT16_C(-13526), INT16_C( 16909),
INT16_C( 2419), INT16_C( 22142), INT16_C( -6109), INT16_C( -1177),
INT16_C( 9839), INT16_C( 6329), INT16_C( -239), INT16_C(-15885),
INT16_C( 3666), INT16_C( 20122), INT16_C( -1699), INT16_C( 6503),
INT16_C( 29169), INT16_C( -4681), INT16_C( -2713), INT16_C(-24709),
INT16_C( 7221), INT16_C( -3718), INT16_C( 970), INT16_C(-15558),
INT16_C(-11011), INT16_C(-10787), INT16_C(-29970), INT16_C( 3894),
INT16_C(-25914), INT16_C(-18758), INT16_C( 11824), INT16_C( -8868)),
simde_mm512_set_epi16(INT16_C( 1604), INT16_C( 19874), INT16_C(-12133), INT16_C( -1966),
INT16_C( 13041), INT16_C( 1566), INT16_C(-11791), INT16_C( -3425),
INT16_C( 7377), INT16_C(-23380), INT16_C( -9249), INT16_C(-31251),
INT16_C( 14877), INT16_C( 24009), INT16_C(-32316), INT16_C( 8308),
INT16_C(-11725), INT16_C(-10230), INT16_C( 1074), INT16_C( 12341),
INT16_C( 19989), INT16_C( 16491), INT16_C( 4144), INT16_C(-11714),
INT16_C( 19285), INT16_C(-29198), INT16_C(-25258), INT16_C(-29514),
INT16_C( 9755), INT16_C(-29385), INT16_C(-23111), INT16_C( -3412)),
simde_mm512_set_epi16(INT16_C(-29112), INT16_C(-14365), INT16_C( -1393), INT16_C( 18875),
INT16_C(-10622), INT16_C( 20576), INT16_C( 5682), INT16_C( 2248),
INT16_C( 2462), INT16_C( 29709), INT16_C( 9010), INT16_C( 15366),
INT16_C(-11211), INT16_C( -3887), INT16_C( 30617), INT16_C( -1805),
INT16_C( 32767), INT16_C( 5549), INT16_C( -3787), INT16_C(-32768),
INT16_C(-12768), INT16_C(-20209), INT16_C( -3174), INT16_C( -3844),
INT16_C(-30296), INT16_C( 18411), INT16_C( -4712), INT16_C( 32767),
INT16_C(-32768), INT16_C( 10627), INT16_C( 32767), INT16_C( -5456)) },
{ simde_mm512_set_epi16(INT16_C( 691), INT16_C( -4823), INT16_C( -3253), INT16_C(-31392),
INT16_C(-21784), INT16_C( -6740), INT16_C( 9130), INT16_C(-18273),
INT16_C( 11275), INT16_C(-27092), INT16_C( 90), INT16_C(-20133),
INT16_C( 30523), INT16_C( 27008), INT16_C( 28387), INT16_C( 17266),
INT16_C( -9777), INT16_C( 27096), INT16_C( -8328), INT16_C( -6812),
INT16_C(-22954), INT16_C( -4409), INT16_C( 21734), INT16_C(-19695),
INT16_C(-11981), INT16_C(-21195), INT16_C( 18272), INT16_C( 28327),
INT16_C( 7123), INT16_C(-32216), INT16_C( 24489), INT16_C(-15668)),
simde_mm512_set_epi16(INT16_C(-21377), INT16_C( 15856), INT16_C( 7686), INT16_C(-28568),
INT16_C(-15192), INT16_C( -9747), INT16_C( 11300), INT16_C( 27000),
INT16_C( -6635), INT16_C( 3626), INT16_C( 12716), INT16_C(-30571),
INT16_C( 31697), INT16_C( 5622), INT16_C( 24444), INT16_C( -8226),
INT16_C( -8263), INT16_C( 2890), INT16_C( 26732), INT16_C( -8763),
INT16_C(-13950), INT16_C( 27415), INT16_C( 7653), INT16_C( 31511),
INT16_C(-21082), INT16_C( 2398), INT16_C( 23365), INT16_C(-12903),
INT16_C(-18221), INT16_C( 4204), INT16_C(-20453), INT16_C( 15021)),
simde_mm512_set_epi16(INT16_C( 22068), INT16_C(-20679), INT16_C(-10939), INT16_C( -2824),
INT16_C( -6592), INT16_C( 3007), INT16_C( -2170), INT16_C(-32768),
INT16_C( 17910), INT16_C(-30718), INT16_C(-12626), INT16_C( 10438),
INT16_C( -1174), INT16_C( 21386), INT16_C( 3943), INT16_C( 25492),
INT16_C( -1514), INT16_C( 24206), INT16_C(-32768), INT16_C( 1951),
INT16_C( -9004), INT16_C(-31824), INT16_C( 14081), INT16_C(-32768),
INT16_C( 9101), INT16_C(-23593), INT16_C( -5093), INT16_C( 32767),
INT16_C( 25344), INT16_C(-32768), INT16_C( 32767), INT16_C(-30689)) },
{ simde_mm512_set_epi16(INT16_C( 4451), INT16_C( -3121), INT16_C( 11648), INT16_C( 14185),
INT16_C( -8499), INT16_C(-24679), INT16_C(-31633), INT16_C( 19019),
INT16_C( 26210), INT16_C(-29943), INT16_C(-18883), INT16_C( 25468),
INT16_C( 20366), INT16_C( 4961), INT16_C(-25468), INT16_C( -4158),
INT16_C( 6653), INT16_C( -1720), INT16_C(-29723), INT16_C(-14244),
INT16_C( -4917), INT16_C( 730), INT16_C(-20677), INT16_C( 16986),
INT16_C( 9316), INT16_C( 28795), INT16_C(-18273), INT16_C(-29423),
INT16_C(-23674), INT16_C( 7963), INT16_C( 28019), INT16_C( 13728)),
simde_mm512_set_epi16(INT16_C(-10770), INT16_C( 29411), INT16_C( 30463), INT16_C( -4902),
INT16_C(-20392), INT16_C(-28251), INT16_C( 11448), INT16_C( 27155),
INT16_C(-11669), INT16_C( 11820), INT16_C(-16512), INT16_C( 10540),
INT16_C( 17477), INT16_C(-19759), INT16_C( 28024), INT16_C(-14431),
INT16_C( 24400), INT16_C( -7583), INT16_C(-12129), INT16_C( 28592),
INT16_C(-31057), INT16_C(-18091), INT16_C( 19926), INT16_C(-29261),
INT16_C( 7501), INT16_C( 16620), INT16_C( 6953), INT16_C( 3437),
INT16_C( 5790), INT16_C( 5348), INT16_C( 17145), INT16_C(-28791)),
simde_mm512_set_epi16(INT16_C( 15221), INT16_C(-32532), INT16_C(-18815), INT16_C( 19087),
INT16_C( 11893), INT16_C( 3572), INT16_C(-32768), INT16_C( -8136),
INT16_C( 32767), INT16_C(-32768), INT16_C( -2371), INT16_C( 14928),
INT16_C( 2889), INT16_C( 24720), INT16_C(-32768), INT16_C( 10273),
INT16_C(-17747), INT16_C( 5863), INT16_C(-17594), INT16_C(-32768),
INT16_C( 26140), INT16_C( 18821), INT16_C(-32768), INT16_C( 32767),
INT16_C( 1815), INT16_C( 12175), INT16_C(-25226), INT16_C(-32768),
INT16_C(-29464), INT16_C( 2615), INT16_C( 10874), INT16_C( 32767)) },
{ simde_mm512_set_epi16(INT16_C(-31561), INT16_C( 18949), INT16_C( -2287), INT16_C(-20534),
INT16_C( -1057), INT16_C( -3046), INT16_C( 22138), INT16_C(-11031),
INT16_C( 43), INT16_C( -6266), INT16_C(-20090), INT16_C(-22393),
INT16_C(-26046), INT16_C(-23703), INT16_C( 28092), INT16_C( 6346),
INT16_C( 10308), INT16_C( 572), INT16_C( 5), INT16_C( 15306),
INT16_C(-19429), INT16_C( -5811), INT16_C(-27420), INT16_C(-29128),
INT16_C(-13676), INT16_C( -3673), INT16_C(-26157), INT16_C( 19197),
INT16_C(-27593), INT16_C(-20030), INT16_C( 3690), INT16_C( -3850)),
simde_mm512_set_epi16(INT16_C(-11908), INT16_C( 14774), INT16_C( 5244), INT16_C( 18107),
INT16_C(-16396), INT16_C( 31910), INT16_C(-28865), INT16_C(-20038),
INT16_C(-19234), INT16_C(-15108), INT16_C(-10436), INT16_C( 19911),
INT16_C( 3330), INT16_C( 28633), INT16_C( 10550), INT16_C( -9358),
INT16_C( 23697), INT16_C( 19726), INT16_C(-26407), INT16_C(-18878),
INT16_C( 4326), INT16_C(-22642), INT16_C(-17402), INT16_C( 16035),
INT16_C( 14223), INT16_C(-15160), INT16_C( -9470), INT16_C( -3752),
INT16_C( 6710), INT16_C( 21116), INT16_C( -9579), INT16_C( 10253)),
simde_mm512_set_epi16(INT16_C(-19653), INT16_C( 4175), INT16_C( -7531), INT16_C(-32768),
INT16_C( 15339), INT16_C(-32768), INT16_C( 32767), INT16_C( 9007),
INT16_C( 19277), INT16_C( 8842), INT16_C( -9654), INT16_C(-32768),
INT16_C(-29376), INT16_C(-32768), INT16_C( 17542), INT16_C( 15704),
INT16_C(-13389), INT16_C(-19154), INT16_C( 26412), INT16_C( 32767),
INT16_C(-23755), INT16_C( 16831), INT16_C(-10018), INT16_C(-32768),
INT16_C(-27899), INT16_C( 11487), INT16_C(-16687), INT16_C( 22949),
INT16_C(-32768), INT16_C(-32768), INT16_C( 13269), INT16_C(-14103)) },
{ simde_mm512_set_epi16(INT16_C( 1468), INT16_C( -4389), INT16_C( 1296), INT16_C(-27715),
INT16_C(-15620), INT16_C( 3731), INT16_C( -7289), INT16_C(-27703),
INT16_C( 474), INT16_C( 27447), INT16_C( -9036), INT16_C( 9176),
INT16_C( 2726), INT16_C(-12144), INT16_C( -2101), INT16_C( 26907),
INT16_C(-24700), INT16_C( 1244), INT16_C( -3927), INT16_C(-22632),
INT16_C( -7525), INT16_C( 17743), INT16_C( 15263), INT16_C( -3823),
INT16_C( 27307), INT16_C( 32391), INT16_C(-23270), INT16_C(-29301),
INT16_C( 23369), INT16_C(-15291), INT16_C( -5840), INT16_C( 18168)),
simde_mm512_set_epi16(INT16_C( 23449), INT16_C( 17725), INT16_C(-20919), INT16_C( 31466),
INT16_C( 31308), INT16_C( -2183), INT16_C(-31351), INT16_C(-32386),
INT16_C( 26890), INT16_C(-30591), INT16_C(-12785), INT16_C(-23638),
INT16_C(-31955), INT16_C( -9847), INT16_C( 19108), INT16_C(-19915),
INT16_C( 4587), INT16_C( 27034), INT16_C( -19), INT16_C( 28332),
INT16_C(-23789), INT16_C(-24960), INT16_C( -5839), INT16_C( 25722),
INT16_C(-24423), INT16_C( 15592), INT16_C( 6092), INT16_C( -9272),
INT16_C(-12796), INT16_C(-17663), INT16_C( -6154), INT16_C( 23859)),
simde_mm512_set_epi16(INT16_C(-21981), INT16_C(-22114), INT16_C( 22215), INT16_C(-32768),
INT16_C(-32768), INT16_C( 5914), INT16_C( 24062), INT16_C( 4683),
INT16_C(-26416), INT16_C( 32767), INT16_C( 3749), INT16_C( 32767),
INT16_C( 32767), INT16_C( -2297), INT16_C(-21209), INT16_C( 32767),
INT16_C(-29287), INT16_C(-25790), INT16_C( -3908), INT16_C(-32768),
INT16_C( 16264), INT16_C( 32767), INT16_C( 21102), INT16_C(-29545),
INT16_C( 32767), INT16_C( 16799), INT16_C(-29362), INT16_C(-20029),
INT16_C( 32767), INT16_C( 2372), INT16_C( 314), INT16_C( -5691)) },
{ simde_mm512_set_epi16(INT16_C(-22741), INT16_C( 13394), INT16_C( -9417), INT16_C( 28906),
INT16_C(-18980), INT16_C( -8463), INT16_C( 9174), INT16_C(-25605),
INT16_C( 547), INT16_C( 3767), INT16_C(-12577), INT16_C(-16546),
INT16_C( -1301), INT16_C( -7147), INT16_C( 26281), INT16_C( 29309),
INT16_C( 29052), INT16_C(-30842), INT16_C( 5995), INT16_C( 6270),
INT16_C( 20539), INT16_C( 10179), INT16_C(-26848), INT16_C( 14327),
INT16_C( 15491), INT16_C( 18652), INT16_C( 19903), INT16_C( 30123),
INT16_C( 25261), INT16_C(-17460), INT16_C( 10742), INT16_C( -4552)),
simde_mm512_set_epi16(INT16_C( 5754), INT16_C(-23038), INT16_C(-16589), INT16_C(-23858),
INT16_C( -3821), INT16_C( -4798), INT16_C( 30602), INT16_C(-28532),
INT16_C( 11508), INT16_C( 7979), INT16_C( -3877), INT16_C( -5920),
INT16_C(-24150), INT16_C(-24496), INT16_C( 17421), INT16_C( -1981),
INT16_C( 27523), INT16_C( 26800), INT16_C( 25010), INT16_C( 27339),
INT16_C( -9050), INT16_C( 19128), INT16_C( 15279), INT16_C( -1817),
INT16_C(-13923), INT16_C( 5129), INT16_C(-22618), INT16_C( 27704),
INT16_C( -4783), INT16_C( 31238), INT16_C(-30342), INT16_C( -8854)),
simde_mm512_set_epi16(INT16_C(-28495), INT16_C( 32767), INT16_C( 7172), INT16_C( 32767),
INT16_C(-15159), INT16_C( -3665), INT16_C(-21428), INT16_C( 2927),
INT16_C(-10961), INT16_C( -4212), INT16_C( -8700), INT16_C(-10626),
INT16_C( 22849), INT16_C( 17349), INT16_C( 8860), INT16_C( 31290),
INT16_C( 1529), INT16_C(-32768), INT16_C(-19015), INT16_C(-21069),
INT16_C( 29589), INT16_C( -8949), INT16_C(-32768), INT16_C( 16144),
INT16_C( 29414), INT16_C( 13523), INT16_C( 32767), INT16_C( 2419),
INT16_C( 30044), INT16_C(-32768), INT16_C( 32767), INT16_C( 4302)) },
{ simde_mm512_set_epi16(INT16_C( 27021), INT16_C( 31131), INT16_C( 63), INT16_C(-10530),
INT16_C( -1071), INT16_C(-31284), INT16_C(-21788), INT16_C(-16108),
INT16_C(-15167), INT16_C( 25422), INT16_C( 14520), INT16_C(-13896),
INT16_C( 20399), INT16_C( 31915), INT16_C(-16518), INT16_C( -6202),
INT16_C(-16332), INT16_C( -3071), INT16_C(-15644), INT16_C( -7016),
INT16_C( 13977), INT16_C(-13846), INT16_C(-23290), INT16_C( -2079),
INT16_C( 4753), INT16_C( 14919), INT16_C(-18528), INT16_C( 7420),
INT16_C( 12098), INT16_C( 31014), INT16_C( 17813), INT16_C(-14456)),
simde_mm512_set_epi16(INT16_C(-12529), INT16_C( -3643), INT16_C(-28826), INT16_C(-12110),
INT16_C( 8030), INT16_C( 20316), INT16_C( 27324), INT16_C( 24735),
INT16_C( -6774), INT16_C( -2704), INT16_C(-31930), INT16_C( 6874),
INT16_C( -3952), INT16_C( 2658), INT16_C( -904), INT16_C( -8319),
INT16_C(-16424), INT16_C( 22778), INT16_C( 18985), INT16_C( 10063),
INT16_C(-31751), INT16_C( 16016), INT16_C(-30217), INT16_C( 18364),
INT16_C(-20176), INT16_C( -4961), INT16_C(-29576), INT16_C(-16634),
INT16_C( -8011), INT16_C(-27110), INT16_C(-24526), INT16_C(-11504)),
simde_mm512_set_epi16(INT16_C( 32767), INT16_C( 32767), INT16_C( 28889), INT16_C( 1580),
INT16_C( -9101), INT16_C(-32768), INT16_C(-32768), INT16_C(-32768),
INT16_C( -8393), INT16_C( 28126), INT16_C( 32767), INT16_C(-20770),
INT16_C( 24351), INT16_C( 29257), INT16_C(-15614), INT16_C( 2117),
INT16_C( 92), INT16_C(-25849), INT16_C(-32768), INT16_C(-17079),
INT16_C( 32767), INT16_C(-29862), INT16_C( 6927), INT16_C(-20443),
INT16_C( 24929), INT16_C( 19880), INT16_C( 11048), INT16_C( 24054),
INT16_C( 20109), INT16_C( 32767), INT16_C( 32767), INT16_C( -2952)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_subs_epi16(test_vec[i].a, test_vec[i].b);
simde_assert_m512i_i16(r, ==, test_vec[i].r);
}
return 0;
}
static int
test_simde_mm512_subs_epu8(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ simde_x_mm512_set_epu8(UINT8_C( 82), UINT8_C( 83), UINT8_C(117), UINT8_C( 65),
UINT8_C(209), UINT8_C(134), UINT8_C(116), UINT8_C( 14),
UINT8_C( 76), UINT8_C( 1), UINT8_C(206), UINT8_C( 4),
UINT8_C( 83), UINT8_C(179), UINT8_C(112), UINT8_C(154),
UINT8_C( 99), UINT8_C(138), UINT8_C(209), UINT8_C(189),
UINT8_C( 60), UINT8_C(222), UINT8_C( 78), UINT8_C(146),
UINT8_C(198), UINT8_C( 87), UINT8_C(195), UINT8_C( 26),
UINT8_C(239), UINT8_C(210), UINT8_C(116), UINT8_C(236),
UINT8_C(136), UINT8_C( 48), UINT8_C( 24), UINT8_C( 46),
UINT8_C(103), UINT8_C(222), UINT8_C( 42), UINT8_C( 51),
UINT8_C(191), UINT8_C( 86), UINT8_C( 61), UINT8_C(200),
UINT8_C( 58), UINT8_C(119), UINT8_C( 93), UINT8_C(255),
UINT8_C(198), UINT8_C(135), UINT8_C(224), UINT8_C( 98),
UINT8_C(190), UINT8_C( 79), UINT8_C( 99), UINT8_C(163),
UINT8_C( 77), UINT8_C(200), UINT8_C(178), UINT8_C( 39),
UINT8_C(206), UINT8_C(196), UINT8_C(188), UINT8_C(252)),
simde_x_mm512_set_epu8(UINT8_C(106), UINT8_C( 39), UINT8_C(150), UINT8_C( 14),
UINT8_C(228), UINT8_C(254), UINT8_C( 39), UINT8_C(228),
UINT8_C( 54), UINT8_C( 70), UINT8_C(237), UINT8_C(244),
UINT8_C(214), UINT8_C( 28), UINT8_C(243), UINT8_C(250),
UINT8_C(116), UINT8_C( 2), UINT8_C( 23), UINT8_C(121),
UINT8_C(112), UINT8_C(221), UINT8_C(132), UINT8_C( 10),
UINT8_C(240), UINT8_C(139), UINT8_C( 26), UINT8_C(131),
UINT8_C( 36), UINT8_C(109), UINT8_C( 29), UINT8_C(221),
UINT8_C(247), UINT8_C(171), UINT8_C(218), UINT8_C( 95),
UINT8_C(168), UINT8_C( 3), UINT8_C( 4), UINT8_C(100),
UINT8_C( 85), UINT8_C( 21), UINT8_C( 66), UINT8_C(223),
UINT8_C(179), UINT8_C(251), UINT8_C(130), UINT8_C(122),
UINT8_C(226), UINT8_C(173), UINT8_C( 74), UINT8_C(148),
UINT8_C( 83), UINT8_C(160), UINT8_C(199), UINT8_C(148),
UINT8_C( 89), UINT8_C( 59), UINT8_C(111), UINT8_C(209),
UINT8_C(246), UINT8_C(238), UINT8_C( 20), UINT8_C(131)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 44), UINT8_C( 0), UINT8_C( 51),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 77), UINT8_C( 0),
UINT8_C( 22), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(151), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(136), UINT8_C(186), UINT8_C( 68),
UINT8_C( 0), UINT8_C( 1), UINT8_C( 0), UINT8_C(136),
UINT8_C( 0), UINT8_C( 0), UINT8_C(169), UINT8_C( 0),
UINT8_C(203), UINT8_C(101), UINT8_C( 87), UINT8_C( 15),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(219), UINT8_C( 38), UINT8_C( 0),
UINT8_C(106), UINT8_C( 65), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C(133),
UINT8_C( 0), UINT8_C( 0), UINT8_C(150), UINT8_C( 0),
UINT8_C(107), UINT8_C( 0), UINT8_C( 0), UINT8_C( 15),
UINT8_C( 0), UINT8_C(141), UINT8_C( 67), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C(168), UINT8_C(121)) },
{ simde_x_mm512_set_epu8(UINT8_C(148), UINT8_C(140), UINT8_C( 21), UINT8_C(133),
UINT8_C(203), UINT8_C( 42), UINT8_C( 66), UINT8_C( 13),
UINT8_C( 9), UINT8_C(115), UINT8_C( 86), UINT8_C(126),
UINT8_C(232), UINT8_C( 35), UINT8_C(251), UINT8_C(103),
UINT8_C( 38), UINT8_C(111), UINT8_C( 24), UINT8_C(185),
UINT8_C(255), UINT8_C( 17), UINT8_C(193), UINT8_C(243),
UINT8_C( 14), UINT8_C( 82), UINT8_C( 78), UINT8_C(154),
UINT8_C(249), UINT8_C( 93), UINT8_C( 25), UINT8_C(103),
UINT8_C(113), UINT8_C(241), UINT8_C(237), UINT8_C(183),
UINT8_C(245), UINT8_C(103), UINT8_C(159), UINT8_C(123),
UINT8_C( 28), UINT8_C( 53), UINT8_C(241), UINT8_C(122),
UINT8_C( 3), UINT8_C(202), UINT8_C(195), UINT8_C( 58),
UINT8_C(212), UINT8_C(253), UINT8_C(213), UINT8_C(221),
UINT8_C(138), UINT8_C(238), UINT8_C( 15), UINT8_C( 54),
UINT8_C(154), UINT8_C(198), UINT8_C(182), UINT8_C(186),
UINT8_C( 46), UINT8_C( 48), UINT8_C(221), UINT8_C( 92)),
simde_x_mm512_set_epu8(UINT8_C( 6), UINT8_C( 68), UINT8_C( 77), UINT8_C(162),
UINT8_C(208), UINT8_C(155), UINT8_C(248), UINT8_C( 82),
UINT8_C( 50), UINT8_C(241), UINT8_C( 6), UINT8_C( 30),
UINT8_C(209), UINT8_C(241), UINT8_C(242), UINT8_C(159),
UINT8_C( 28), UINT8_C(209), UINT8_C(164), UINT8_C(172),
UINT8_C(219), UINT8_C(223), UINT8_C(133), UINT8_C(237),
UINT8_C( 58), UINT8_C( 29), UINT8_C( 93), UINT8_C(201),
UINT8_C(129), UINT8_C(196), UINT8_C( 32), UINT8_C(116),
UINT8_C(210), UINT8_C( 51), UINT8_C(216), UINT8_C( 10),
UINT8_C( 4), UINT8_C( 50), UINT8_C( 48), UINT8_C( 53),
UINT8_C( 78), UINT8_C( 21), UINT8_C( 64), UINT8_C(107),
UINT8_C( 16), UINT8_C( 48), UINT8_C(210), UINT8_C( 62),
UINT8_C( 75), UINT8_C( 85), UINT8_C(141), UINT8_C(242),
UINT8_C(157), UINT8_C( 86), UINT8_C(140), UINT8_C(182),
UINT8_C( 38), UINT8_C( 27), UINT8_C(141), UINT8_C( 55),
UINT8_C(165), UINT8_C(185), UINT8_C(242), UINT8_C(172)),
simde_x_mm512_set_epu8(UINT8_C(142), UINT8_C( 72), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 80), UINT8_C( 96),
UINT8_C( 23), UINT8_C( 0), UINT8_C( 9), UINT8_C( 0),
UINT8_C( 10), UINT8_C( 0), UINT8_C( 0), UINT8_C( 13),
UINT8_C( 36), UINT8_C( 0), UINT8_C( 60), UINT8_C( 6),
UINT8_C( 0), UINT8_C( 53), UINT8_C( 0), UINT8_C( 0),
UINT8_C(120), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(190), UINT8_C( 21), UINT8_C(173),
UINT8_C(241), UINT8_C( 53), UINT8_C(111), UINT8_C( 70),
UINT8_C( 0), UINT8_C( 32), UINT8_C(177), UINT8_C( 15),
UINT8_C( 0), UINT8_C(154), UINT8_C( 0), UINT8_C( 0),
UINT8_C(137), UINT8_C(168), UINT8_C( 72), UINT8_C( 0),
UINT8_C( 0), UINT8_C(152), UINT8_C( 0), UINT8_C( 0),
UINT8_C(116), UINT8_C(171), UINT8_C( 41), UINT8_C(131),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0)) },
{ simde_x_mm512_set_epu8(UINT8_C( 2), UINT8_C(179), UINT8_C(237), UINT8_C( 41),
UINT8_C(243), UINT8_C( 75), UINT8_C(133), UINT8_C( 96),
UINT8_C(170), UINT8_C(232), UINT8_C(229), UINT8_C(172),
UINT8_C( 35), UINT8_C(170), UINT8_C(184), UINT8_C(159),
UINT8_C( 44), UINT8_C( 11), UINT8_C(150), UINT8_C( 44),
UINT8_C( 0), UINT8_C( 90), UINT8_C(177), UINT8_C( 91),
UINT8_C(119), UINT8_C( 59), UINT8_C(105), UINT8_C(128),
UINT8_C(110), UINT8_C(227), UINT8_C( 67), UINT8_C(114),
UINT8_C(217), UINT8_C(207), UINT8_C(105), UINT8_C(216),
UINT8_C(223), UINT8_C(120), UINT8_C(229), UINT8_C(100),
UINT8_C(166), UINT8_C( 86), UINT8_C(238), UINT8_C(199),
UINT8_C( 84), UINT8_C(230), UINT8_C(179), UINT8_C( 17),
UINT8_C(209), UINT8_C( 51), UINT8_C(173), UINT8_C( 53),
UINT8_C( 71), UINT8_C( 96), UINT8_C(110), UINT8_C(167),
UINT8_C( 27), UINT8_C(211), UINT8_C(130), UINT8_C( 40),
UINT8_C( 95), UINT8_C(169), UINT8_C(194), UINT8_C(204)),
simde_x_mm512_set_epu8(UINT8_C(172), UINT8_C(127), UINT8_C( 61), UINT8_C(240),
UINT8_C( 30), UINT8_C( 6), UINT8_C(144), UINT8_C(104),
UINT8_C(196), UINT8_C(168), UINT8_C(217), UINT8_C(237),
UINT8_C( 44), UINT8_C( 36), UINT8_C(105), UINT8_C(120),
UINT8_C(230), UINT8_C( 21), UINT8_C( 14), UINT8_C( 42),
UINT8_C( 49), UINT8_C(172), UINT8_C(136), UINT8_C(149),
UINT8_C(123), UINT8_C(209), UINT8_C( 21), UINT8_C(246),
UINT8_C( 95), UINT8_C(124), UINT8_C(223), UINT8_C(222),
UINT8_C(223), UINT8_C(185), UINT8_C( 11), UINT8_C( 74),
UINT8_C(104), UINT8_C(108), UINT8_C(221), UINT8_C(197),
UINT8_C(201), UINT8_C(130), UINT8_C(107), UINT8_C( 23),
UINT8_C( 29), UINT8_C(229), UINT8_C(123), UINT8_C( 23),
UINT8_C(173), UINT8_C(166), UINT8_C( 9), UINT8_C( 94),
UINT8_C( 91), UINT8_C( 69), UINT8_C(205), UINT8_C(153),
UINT8_C(184), UINT8_C(211), UINT8_C( 16), UINT8_C(108),
UINT8_C(176), UINT8_C( 27), UINT8_C( 58), UINT8_C(173)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 52), UINT8_C(176), UINT8_C( 0),
UINT8_C(213), UINT8_C( 69), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 64), UINT8_C( 12), UINT8_C( 0),
UINT8_C( 0), UINT8_C(134), UINT8_C( 79), UINT8_C( 39),
UINT8_C( 0), UINT8_C( 0), UINT8_C(136), UINT8_C( 2),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 41), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 84), UINT8_C( 0),
UINT8_C( 15), UINT8_C(103), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 22), UINT8_C( 94), UINT8_C(142),
UINT8_C(119), UINT8_C( 12), UINT8_C( 8), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C(131), UINT8_C(176),
UINT8_C( 55), UINT8_C( 1), UINT8_C( 56), UINT8_C( 0),
UINT8_C( 36), UINT8_C( 0), UINT8_C(164), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 27), UINT8_C( 0), UINT8_C( 14),
UINT8_C( 0), UINT8_C( 0), UINT8_C(114), UINT8_C( 0),
UINT8_C( 0), UINT8_C(142), UINT8_C(136), UINT8_C( 31)) },
{ simde_x_mm512_set_epu8(UINT8_C( 17), UINT8_C( 99), UINT8_C(243), UINT8_C(207),
UINT8_C( 45), UINT8_C(128), UINT8_C( 55), UINT8_C(105),
UINT8_C(222), UINT8_C(205), UINT8_C(159), UINT8_C(153),
UINT8_C(132), UINT8_C(111), UINT8_C( 74), UINT8_C( 75),
UINT8_C(102), UINT8_C( 98), UINT8_C(139), UINT8_C( 9),
UINT8_C(182), UINT8_C( 61), UINT8_C( 99), UINT8_C(124),
UINT8_C( 79), UINT8_C(142), UINT8_C( 19), UINT8_C( 97),
UINT8_C(156), UINT8_C(132), UINT8_C(239), UINT8_C(194),
UINT8_C( 25), UINT8_C(253), UINT8_C(249), UINT8_C( 72),
UINT8_C(139), UINT8_C(229), UINT8_C(200), UINT8_C( 92),
UINT8_C(236), UINT8_C(203), UINT8_C( 2), UINT8_C(218),
UINT8_C(175), UINT8_C( 59), UINT8_C( 66), UINT8_C( 90),
UINT8_C( 36), UINT8_C(100), UINT8_C(112), UINT8_C(123),
UINT8_C(184), UINT8_C(159), UINT8_C(141), UINT8_C( 17),
UINT8_C(163), UINT8_C(134), UINT8_C( 31), UINT8_C( 27),
UINT8_C(109), UINT8_C(115), UINT8_C( 53), UINT8_C(160)),
simde_x_mm512_set_epu8(UINT8_C(213), UINT8_C(238), UINT8_C(114), UINT8_C(227),
UINT8_C(118), UINT8_C(255), UINT8_C(236), UINT8_C(218),
UINT8_C(176), UINT8_C( 88), UINT8_C(145), UINT8_C(165),
UINT8_C( 44), UINT8_C(184), UINT8_C(106), UINT8_C( 19),
UINT8_C(210), UINT8_C(107), UINT8_C( 46), UINT8_C( 44),
UINT8_C(191), UINT8_C(128), UINT8_C( 41), UINT8_C( 44),
UINT8_C( 68), UINT8_C( 69), UINT8_C(178), UINT8_C(209),
UINT8_C(109), UINT8_C(120), UINT8_C(199), UINT8_C(161),
UINT8_C( 95), UINT8_C( 80), UINT8_C(226), UINT8_C( 97),
UINT8_C(208), UINT8_C(159), UINT8_C(111), UINT8_C(176),
UINT8_C(134), UINT8_C(175), UINT8_C(185), UINT8_C( 85),
UINT8_C( 77), UINT8_C(214), UINT8_C(141), UINT8_C(179),
UINT8_C( 29), UINT8_C( 77), UINT8_C( 64), UINT8_C(236),
UINT8_C( 27), UINT8_C( 41), UINT8_C( 13), UINT8_C(109),
UINT8_C( 22), UINT8_C(158), UINT8_C( 20), UINT8_C(228),
UINT8_C( 66), UINT8_C(249), UINT8_C(143), UINT8_C(137)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C(129), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 46), UINT8_C(117), UINT8_C( 14), UINT8_C( 0),
UINT8_C( 88), UINT8_C( 0), UINT8_C( 0), UINT8_C( 56),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 93), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 58), UINT8_C( 80),
UINT8_C( 11), UINT8_C( 73), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 47), UINT8_C( 12), UINT8_C( 40), UINT8_C( 33),
UINT8_C( 0), UINT8_C(173), UINT8_C( 23), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 70), UINT8_C( 89), UINT8_C( 0),
UINT8_C(102), UINT8_C( 28), UINT8_C( 0), UINT8_C(133),
UINT8_C( 98), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 7), UINT8_C( 23), UINT8_C( 48), UINT8_C( 0),
UINT8_C(157), UINT8_C(118), UINT8_C(128), UINT8_C( 0),
UINT8_C(141), UINT8_C( 0), UINT8_C( 11), UINT8_C( 0),
UINT8_C( 43), UINT8_C( 0), UINT8_C( 0), UINT8_C( 23)) },
{ simde_x_mm512_set_epu8(UINT8_C(132), UINT8_C(183), UINT8_C( 74), UINT8_C( 5),
UINT8_C(247), UINT8_C( 17), UINT8_C(175), UINT8_C(202),
UINT8_C(251), UINT8_C(223), UINT8_C(244), UINT8_C( 26),
UINT8_C( 86), UINT8_C(122), UINT8_C(212), UINT8_C(233),
UINT8_C( 0), UINT8_C( 43), UINT8_C(231), UINT8_C(134),
UINT8_C(177), UINT8_C(134), UINT8_C(168), UINT8_C(135),
UINT8_C(154), UINT8_C( 66), UINT8_C(163), UINT8_C(105),
UINT8_C(109), UINT8_C(188), UINT8_C( 24), UINT8_C(202),
UINT8_C( 40), UINT8_C( 68), UINT8_C( 2), UINT8_C( 60),
UINT8_C( 0), UINT8_C( 5), UINT8_C( 59), UINT8_C(202),
UINT8_C(180), UINT8_C( 27), UINT8_C(233), UINT8_C( 77),
UINT8_C(148), UINT8_C(228), UINT8_C(142), UINT8_C( 56),
UINT8_C(202), UINT8_C(148), UINT8_C(241), UINT8_C(167),
UINT8_C(153), UINT8_C(211), UINT8_C( 74), UINT8_C(253),
UINT8_C(148), UINT8_C( 55), UINT8_C(177), UINT8_C(194),
UINT8_C( 14), UINT8_C(106), UINT8_C(240), UINT8_C(246)),
simde_x_mm512_set_epu8(UINT8_C(209), UINT8_C(124), UINT8_C( 57), UINT8_C(182),
UINT8_C( 20), UINT8_C(124), UINT8_C( 70), UINT8_C(187),
UINT8_C(191), UINT8_C(244), UINT8_C(124), UINT8_C(166),
UINT8_C(143), UINT8_C( 63), UINT8_C(177), UINT8_C(186),
UINT8_C(180), UINT8_C(222), UINT8_C(196), UINT8_C(252),
UINT8_C(215), UINT8_C( 60), UINT8_C( 77), UINT8_C(199),
UINT8_C( 13), UINT8_C( 2), UINT8_C(111), UINT8_C(217),
UINT8_C( 41), UINT8_C( 54), UINT8_C(219), UINT8_C(114),
UINT8_C( 92), UINT8_C(145), UINT8_C( 77), UINT8_C( 14),
UINT8_C(152), UINT8_C(217), UINT8_C(182), UINT8_C( 66),
UINT8_C( 16), UINT8_C(230), UINT8_C(167), UINT8_C(142),
UINT8_C(188), UINT8_C( 6), UINT8_C( 62), UINT8_C(163),
UINT8_C( 55), UINT8_C(143), UINT8_C(196), UINT8_C(200),
UINT8_C(219), UINT8_C( 2), UINT8_C(241), UINT8_C( 88),
UINT8_C( 26), UINT8_C( 54), UINT8_C( 82), UINT8_C(124),
UINT8_C(218), UINT8_C(149), UINT8_C( 40), UINT8_C( 13)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 59), UINT8_C( 17), UINT8_C( 0),
UINT8_C(227), UINT8_C( 0), UINT8_C(105), UINT8_C( 15),
UINT8_C( 60), UINT8_C( 0), UINT8_C(120), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 59), UINT8_C( 35), UINT8_C( 47),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 35), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 74), UINT8_C( 91), UINT8_C( 0),
UINT8_C(141), UINT8_C( 64), UINT8_C( 52), UINT8_C( 0),
UINT8_C( 68), UINT8_C(134), UINT8_C( 0), UINT8_C( 88),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 46),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C(136),
UINT8_C(164), UINT8_C( 0), UINT8_C( 66), UINT8_C( 0),
UINT8_C( 0), UINT8_C(222), UINT8_C( 80), UINT8_C( 0),
UINT8_C(147), UINT8_C( 5), UINT8_C( 45), UINT8_C( 0),
UINT8_C( 0), UINT8_C(209), UINT8_C( 0), UINT8_C(165),
UINT8_C(122), UINT8_C( 1), UINT8_C( 95), UINT8_C( 70),
UINT8_C( 0), UINT8_C( 0), UINT8_C(200), UINT8_C(233)) },
{ simde_x_mm512_set_epu8(UINT8_C( 5), UINT8_C(188), UINT8_C(238), UINT8_C(219),
UINT8_C( 5), UINT8_C( 16), UINT8_C(147), UINT8_C(189),
UINT8_C(194), UINT8_C(252), UINT8_C( 14), UINT8_C(147),
UINT8_C(227), UINT8_C(135), UINT8_C(147), UINT8_C(201),
UINT8_C( 1), UINT8_C(218), UINT8_C(107), UINT8_C( 55),
UINT8_C(220), UINT8_C(180), UINT8_C( 35), UINT8_C(216),
UINT8_C( 10), UINT8_C(166), UINT8_C(208), UINT8_C(144),
UINT8_C(247), UINT8_C(203), UINT8_C(105), UINT8_C( 27),
UINT8_C(159), UINT8_C(132), UINT8_C( 4), UINT8_C(220),
UINT8_C(240), UINT8_C(169), UINT8_C(167), UINT8_C(152),
UINT8_C(226), UINT8_C(155), UINT8_C( 69), UINT8_C( 79),
UINT8_C( 59), UINT8_C(159), UINT8_C(241), UINT8_C( 17),
UINT8_C(106), UINT8_C(171), UINT8_C(126), UINT8_C(135),
UINT8_C(165), UINT8_C( 26), UINT8_C(141), UINT8_C(139),
UINT8_C( 91), UINT8_C( 73), UINT8_C(196), UINT8_C( 69),
UINT8_C(233), UINT8_C( 48), UINT8_C( 70), UINT8_C(248)),
simde_x_mm512_set_epu8(UINT8_C( 91), UINT8_C(153), UINT8_C( 69), UINT8_C( 61),
UINT8_C(174), UINT8_C( 73), UINT8_C(122), UINT8_C(234),
UINT8_C(122), UINT8_C( 76), UINT8_C(247), UINT8_C(121),
UINT8_C(133), UINT8_C(137), UINT8_C(129), UINT8_C(126),
UINT8_C(105), UINT8_C( 10), UINT8_C(136), UINT8_C(129),
UINT8_C(206), UINT8_C( 15), UINT8_C(163), UINT8_C(170),
UINT8_C(131), UINT8_C( 45), UINT8_C(217), UINT8_C(137),
UINT8_C( 74), UINT8_C(164), UINT8_C(178), UINT8_C( 53),
UINT8_C( 17), UINT8_C(235), UINT8_C(105), UINT8_C(154),
UINT8_C(255), UINT8_C(237), UINT8_C(110), UINT8_C(172),
UINT8_C(163), UINT8_C( 19), UINT8_C(158), UINT8_C(128),
UINT8_C(233), UINT8_C( 49), UINT8_C(100), UINT8_C(122),
UINT8_C(160), UINT8_C(153), UINT8_C( 60), UINT8_C(232),
UINT8_C( 23), UINT8_C(204), UINT8_C(219), UINT8_C(200),
UINT8_C(206), UINT8_C( 4), UINT8_C(187), UINT8_C( 1),
UINT8_C(231), UINT8_C(246), UINT8_C( 93), UINT8_C( 51)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 35), UINT8_C(169), UINT8_C(158),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 25), UINT8_C( 0),
UINT8_C( 72), UINT8_C(176), UINT8_C( 0), UINT8_C( 26),
UINT8_C( 94), UINT8_C( 0), UINT8_C( 18), UINT8_C( 75),
UINT8_C( 0), UINT8_C(208), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 14), UINT8_C(165), UINT8_C( 0), UINT8_C( 46),
UINT8_C( 0), UINT8_C(121), UINT8_C( 0), UINT8_C( 7),
UINT8_C(173), UINT8_C( 39), UINT8_C( 0), UINT8_C( 0),
UINT8_C(142), UINT8_C( 0), UINT8_C( 0), UINT8_C( 66),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 57), UINT8_C( 0),
UINT8_C( 63), UINT8_C(136), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(110), UINT8_C(141), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 18), UINT8_C( 66), UINT8_C( 0),
UINT8_C(142), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 69), UINT8_C( 9), UINT8_C( 68),
UINT8_C( 2), UINT8_C( 0), UINT8_C( 0), UINT8_C(197)) },
{ simde_x_mm512_set_epu8(UINT8_C(167), UINT8_C( 43), UINT8_C( 52), UINT8_C( 82),
UINT8_C(219), UINT8_C( 55), UINT8_C(112), UINT8_C(234),
UINT8_C(181), UINT8_C(220), UINT8_C(222), UINT8_C(241),
UINT8_C( 35), UINT8_C(214), UINT8_C(155), UINT8_C(251),
UINT8_C( 2), UINT8_C( 35), UINT8_C( 14), UINT8_C(183),
UINT8_C(206), UINT8_C(223), UINT8_C(191), UINT8_C( 94),
UINT8_C(250), UINT8_C(235), UINT8_C(228), UINT8_C( 21),
UINT8_C(102), UINT8_C(169), UINT8_C(114), UINT8_C(125),
UINT8_C(113), UINT8_C(124), UINT8_C(135), UINT8_C(134),
UINT8_C( 23), UINT8_C(107), UINT8_C( 24), UINT8_C(126),
UINT8_C( 80), UINT8_C( 59), UINT8_C( 39), UINT8_C(195),
UINT8_C(151), UINT8_C( 32), UINT8_C( 55), UINT8_C(247),
UINT8_C( 60), UINT8_C(131), UINT8_C( 72), UINT8_C(220),
UINT8_C( 77), UINT8_C(191), UINT8_C(117), UINT8_C(171),
UINT8_C( 98), UINT8_C(173), UINT8_C(187), UINT8_C(204),
UINT8_C( 41), UINT8_C(246), UINT8_C(238), UINT8_C( 56)),
simde_x_mm512_set_epu8(UINT8_C( 22), UINT8_C(122), UINT8_C(166), UINT8_C( 2),
UINT8_C(191), UINT8_C( 51), UINT8_C(162), UINT8_C(206),
UINT8_C(241), UINT8_C( 19), UINT8_C(237), UINT8_C( 66),
UINT8_C(119), UINT8_C(138), UINT8_C(144), UINT8_C(140),
UINT8_C( 44), UINT8_C(244), UINT8_C( 31), UINT8_C( 43),
UINT8_C(240), UINT8_C(219), UINT8_C(232), UINT8_C(224),
UINT8_C(161), UINT8_C(170), UINT8_C(160), UINT8_C( 80),
UINT8_C( 68), UINT8_C( 13), UINT8_C(248), UINT8_C( 67),
UINT8_C(107), UINT8_C(131), UINT8_C(104), UINT8_C(176),
UINT8_C( 97), UINT8_C(178), UINT8_C(106), UINT8_C(203),
UINT8_C(220), UINT8_C(166), UINT8_C( 74), UINT8_C(184),
UINT8_C( 59), UINT8_C(175), UINT8_C(248), UINT8_C(231),
UINT8_C(201), UINT8_C(157), UINT8_C( 20), UINT8_C( 9),
UINT8_C(167), UINT8_C(166), UINT8_C(108), UINT8_C( 56),
UINT8_C(237), UINT8_C( 81), UINT8_C(122), UINT8_C( 6),
UINT8_C(137), UINT8_C(122), UINT8_C(221), UINT8_C(106)),
simde_x_mm512_set_epu8(UINT8_C(145), UINT8_C( 0), UINT8_C( 0), UINT8_C( 80),
UINT8_C( 28), UINT8_C( 4), UINT8_C( 0), UINT8_C( 28),
UINT8_C( 0), UINT8_C(201), UINT8_C( 0), UINT8_C(175),
UINT8_C( 0), UINT8_C( 76), UINT8_C( 11), UINT8_C(111),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C(140),
UINT8_C( 0), UINT8_C( 4), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 89), UINT8_C( 65), UINT8_C( 68), UINT8_C( 0),
UINT8_C( 34), UINT8_C(156), UINT8_C( 0), UINT8_C( 58),
UINT8_C( 6), UINT8_C( 0), UINT8_C( 31), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 11),
UINT8_C( 92), UINT8_C( 0), UINT8_C( 0), UINT8_C( 16),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 52), UINT8_C(211),
UINT8_C( 0), UINT8_C( 25), UINT8_C( 9), UINT8_C(115),
UINT8_C( 0), UINT8_C( 92), UINT8_C( 65), UINT8_C(198),
UINT8_C( 0), UINT8_C(124), UINT8_C( 17), UINT8_C( 0)) },
{ simde_x_mm512_set_epu8(UINT8_C(105), UINT8_C(141), UINT8_C(121), UINT8_C(155),
UINT8_C( 0), UINT8_C( 63), UINT8_C(214), UINT8_C(222),
UINT8_C(251), UINT8_C(209), UINT8_C(133), UINT8_C(204),
UINT8_C(170), UINT8_C(228), UINT8_C(193), UINT8_C( 20),
UINT8_C(196), UINT8_C(193), UINT8_C( 99), UINT8_C( 78),
UINT8_C( 56), UINT8_C(184), UINT8_C(201), UINT8_C(184),
UINT8_C( 79), UINT8_C(175), UINT8_C(124), UINT8_C(171),
UINT8_C(191), UINT8_C(122), UINT8_C(231), UINT8_C(198),
UINT8_C(192), UINT8_C( 52), UINT8_C(244), UINT8_C( 1),
UINT8_C(194), UINT8_C(228), UINT8_C(228), UINT8_C(152),
UINT8_C( 54), UINT8_C(153), UINT8_C(201), UINT8_C(234),
UINT8_C(165), UINT8_C( 6), UINT8_C(247), UINT8_C(225),
UINT8_C( 18), UINT8_C(145), UINT8_C( 58), UINT8_C( 71),
UINT8_C(183), UINT8_C(160), UINT8_C( 28), UINT8_C(252),
UINT8_C( 47), UINT8_C( 66), UINT8_C(121), UINT8_C( 38),
UINT8_C( 69), UINT8_C(149), UINT8_C(199), UINT8_C(136)),
simde_x_mm512_set_epu8(UINT8_C(207), UINT8_C( 15), UINT8_C(241), UINT8_C(197),
UINT8_C(143), UINT8_C(102), UINT8_C(208), UINT8_C(178),
UINT8_C( 31), UINT8_C( 94), UINT8_C( 79), UINT8_C( 92),
UINT8_C(106), UINT8_C(188), UINT8_C( 96), UINT8_C(159),
UINT8_C(229), UINT8_C(138), UINT8_C(245), UINT8_C(112),
UINT8_C(131), UINT8_C( 70), UINT8_C( 26), UINT8_C(218),
UINT8_C(240), UINT8_C(144), UINT8_C( 10), UINT8_C( 98),
UINT8_C(252), UINT8_C(120), UINT8_C(223), UINT8_C(129),
UINT8_C(191), UINT8_C(216), UINT8_C( 88), UINT8_C(250),
UINT8_C( 74), UINT8_C( 41), UINT8_C( 39), UINT8_C( 79),
UINT8_C(131), UINT8_C(249), UINT8_C( 62), UINT8_C(144),
UINT8_C(137), UINT8_C(247), UINT8_C( 71), UINT8_C(188),
UINT8_C(177), UINT8_C( 48), UINT8_C(236), UINT8_C(159),
UINT8_C(140), UINT8_C(120), UINT8_C(191), UINT8_C( 6),
UINT8_C(224), UINT8_C(181), UINT8_C(150), UINT8_C( 26),
UINT8_C(160), UINT8_C( 50), UINT8_C(211), UINT8_C( 16)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C(126), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 6), UINT8_C( 44),
UINT8_C(220), UINT8_C(115), UINT8_C( 54), UINT8_C(112),
UINT8_C( 64), UINT8_C( 40), UINT8_C( 97), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 55), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(114), UINT8_C(175), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 31), UINT8_C(114), UINT8_C( 73),
UINT8_C( 0), UINT8_C( 2), UINT8_C( 8), UINT8_C( 69),
UINT8_C( 1), UINT8_C( 0), UINT8_C(156), UINT8_C( 0),
UINT8_C(120), UINT8_C(187), UINT8_C(189), UINT8_C( 73),
UINT8_C( 0), UINT8_C( 0), UINT8_C(139), UINT8_C( 90),
UINT8_C( 28), UINT8_C( 0), UINT8_C(176), UINT8_C( 37),
UINT8_C( 0), UINT8_C( 97), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 43), UINT8_C( 40), UINT8_C( 0), UINT8_C(246),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 12),
UINT8_C( 0), UINT8_C( 99), UINT8_C( 0), UINT8_C(120)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_subs_epu8(test_vec[i].a, test_vec[i].b);
simde_assert_m512i_u8(r, ==, test_vec[i].r);
}
return 0;
}
static int
test_simde_mm512_mask_subs_epu8(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__m512i src;
simde__mmask64 k;
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ simde_x_mm512_set_epu8(UINT8_C(160), UINT8_C(209), UINT8_C( 53), UINT8_C(241),
UINT8_C(169), UINT8_C( 74), UINT8_C(195), UINT8_C(156),
UINT8_C(226), UINT8_C(114), UINT8_C(119), UINT8_C(203),
UINT8_C( 15), UINT8_C( 80), UINT8_C(207), UINT8_C(120),
UINT8_C(164), UINT8_C(171), UINT8_C( 95), UINT8_C(130),
UINT8_C(161), UINT8_C( 3), UINT8_C( 82), UINT8_C(197),
UINT8_C( 78), UINT8_C(216), UINT8_C(176), UINT8_C(131),
UINT8_C(213), UINT8_C( 21), UINT8_C( 48), UINT8_C(162),
UINT8_C(135), UINT8_C( 81), UINT8_C( 67), UINT8_C(242),
UINT8_C( 97), UINT8_C( 89), UINT8_C(174), UINT8_C( 64),
UINT8_C(170), UINT8_C(194), UINT8_C(235), UINT8_C(133),
UINT8_C( 33), UINT8_C(160), UINT8_C(236), UINT8_C( 7),
UINT8_C(224), UINT8_C( 63), UINT8_C(130), UINT8_C( 28),
UINT8_C( 83), UINT8_C(152), UINT8_C(149), UINT8_C(111),
UINT8_C(188), UINT8_C( 24), UINT8_C( 57), UINT8_C( 80),
UINT8_C(100), UINT8_C( 11), UINT8_C(241), UINT8_C(117)),
UINT64_C( 2661966794),
simde_x_mm512_set_epu8(UINT8_C(164), UINT8_C( 45), UINT8_C(193), UINT8_C(111),
UINT8_C( 96), UINT8_C(220), UINT8_C( 54), UINT8_C(232),
UINT8_C(214), UINT8_C(244), UINT8_C(236), UINT8_C( 74),
UINT8_C( 47), UINT8_C(180), UINT8_C(143), UINT8_C(214),
UINT8_C( 6), UINT8_C(178), UINT8_C( 35), UINT8_C(129),
UINT8_C( 21), UINT8_C(157), UINT8_C( 30), UINT8_C( 29),
UINT8_C(226), UINT8_C(222), UINT8_C( 14), UINT8_C(170),
UINT8_C(223), UINT8_C(200), UINT8_C( 41), UINT8_C(245),
UINT8_C( 7), UINT8_C(251), UINT8_C( 30), UINT8_C(217),
UINT8_C( 93), UINT8_C(228), UINT8_C(143), UINT8_C( 9),
UINT8_C(221), UINT8_C( 49), UINT8_C(207), UINT8_C( 44),
UINT8_C( 52), UINT8_C(108), UINT8_C(124), UINT8_C( 14),
UINT8_C(144), UINT8_C(229), UINT8_C(102), UINT8_C( 16),
UINT8_C( 61), UINT8_C( 2), UINT8_C(169), UINT8_C( 72),
UINT8_C(194), UINT8_C(122), UINT8_C(216), UINT8_C(151),
UINT8_C(244), UINT8_C(227), UINT8_C( 5), UINT8_C( 98)),
simde_x_mm512_set_epu8(UINT8_C( 53), UINT8_C( 65), UINT8_C(131), UINT8_C(189),
UINT8_C(196), UINT8_C(200), UINT8_C(234), UINT8_C( 92),
UINT8_C( 99), UINT8_C(187), UINT8_C(123), UINT8_C(180),
UINT8_C(209), UINT8_C(163), UINT8_C( 86), UINT8_C( 26),
UINT8_C(192), UINT8_C( 36), UINT8_C(205), UINT8_C(108),
UINT8_C(173), UINT8_C( 71), UINT8_C(190), UINT8_C( 46),
UINT8_C(173), UINT8_C(156), UINT8_C( 59), UINT8_C(250),
UINT8_C( 13), UINT8_C(171), UINT8_C( 1), UINT8_C( 47),
UINT8_C(227), UINT8_C( 45), UINT8_C(181), UINT8_C( 45),
UINT8_C(116), UINT8_C( 89), UINT8_C(112), UINT8_C(127),
UINT8_C( 42), UINT8_C(134), UINT8_C(128), UINT8_C(206),
UINT8_C( 87), UINT8_C(206), UINT8_C( 39), UINT8_C( 7),
UINT8_C( 48), UINT8_C( 47), UINT8_C( 79), UINT8_C( 32),
UINT8_C( 39), UINT8_C(205), UINT8_C(174), UINT8_C(244),
UINT8_C(251), UINT8_C( 10), UINT8_C( 13), UINT8_C( 53),
UINT8_C(255), UINT8_C(222), UINT8_C( 66), UINT8_C( 52)),
simde_x_mm512_set_epu8(UINT8_C(160), UINT8_C(209), UINT8_C( 53), UINT8_C(241),
UINT8_C(169), UINT8_C( 74), UINT8_C(195), UINT8_C(156),
UINT8_C(226), UINT8_C(114), UINT8_C(119), UINT8_C(203),
UINT8_C( 15), UINT8_C( 80), UINT8_C(207), UINT8_C(120),
UINT8_C(164), UINT8_C(171), UINT8_C( 95), UINT8_C(130),
UINT8_C(161), UINT8_C( 3), UINT8_C( 82), UINT8_C(197),
UINT8_C( 78), UINT8_C(216), UINT8_C(176), UINT8_C(131),
UINT8_C(213), UINT8_C( 21), UINT8_C( 48), UINT8_C(162),
UINT8_C( 0), UINT8_C( 81), UINT8_C( 67), UINT8_C(172),
UINT8_C( 0), UINT8_C(139), UINT8_C( 31), UINT8_C( 64),
UINT8_C(179), UINT8_C(194), UINT8_C( 79), UINT8_C(133),
UINT8_C( 0), UINT8_C(160), UINT8_C( 85), UINT8_C( 7),
UINT8_C(224), UINT8_C(182), UINT8_C( 23), UINT8_C( 28),
UINT8_C( 83), UINT8_C(152), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(112), UINT8_C( 57), UINT8_C( 80),
UINT8_C( 0), UINT8_C( 11), UINT8_C( 0), UINT8_C(117)) },
{ simde_x_mm512_set_epu8(UINT8_C(108), UINT8_C( 96), UINT8_C( 9), UINT8_C(145),
UINT8_C(131), UINT8_C(204), UINT8_C(151), UINT8_C(200),
UINT8_C(172), UINT8_C(193), UINT8_C(248), UINT8_C(227),
UINT8_C(159), UINT8_C( 34), UINT8_C( 70), UINT8_C( 14),
UINT8_C(229), UINT8_C( 98), UINT8_C( 73), UINT8_C(209),
UINT8_C( 59), UINT8_C(209), UINT8_C( 82), UINT8_C( 90),
UINT8_C(172), UINT8_C( 10), UINT8_C(185), UINT8_C(194),
UINT8_C(184), UINT8_C( 76), UINT8_C(173), UINT8_C( 75),
UINT8_C(136), UINT8_C(130), UINT8_C(227), UINT8_C(162),
UINT8_C(154), UINT8_C(158), UINT8_C(121), UINT8_C( 19),
UINT8_C(211), UINT8_C(197), UINT8_C( 15), UINT8_C( 80),
UINT8_C( 75), UINT8_C( 26), UINT8_C( 77), UINT8_C(210),
UINT8_C(117), UINT8_C( 85), UINT8_C(204), UINT8_C( 0),
UINT8_C(244), UINT8_C( 11), UINT8_C(128), UINT8_C(245),
UINT8_C(177), UINT8_C(132), UINT8_C(179), UINT8_C(117),
UINT8_C(215), UINT8_C( 43), UINT8_C(143), UINT8_C( 75)),
UINT64_C( 1314676378),
simde_x_mm512_set_epu8(UINT8_C(122), UINT8_C(121), UINT8_C( 15), UINT8_C(167),
UINT8_C(146), UINT8_C( 1), UINT8_C( 27), UINT8_C( 93),
UINT8_C(177), UINT8_C(197), UINT8_C(189), UINT8_C(233),
UINT8_C(110), UINT8_C( 47), UINT8_C( 66), UINT8_C( 91),
UINT8_C( 52), UINT8_C( 7), UINT8_C(197), UINT8_C( 20),
UINT8_C( 34), UINT8_C(208), UINT8_C(127), UINT8_C( 73),
UINT8_C(145), UINT8_C( 2), UINT8_C( 27), UINT8_C(235),
UINT8_C(109), UINT8_C(152), UINT8_C(220), UINT8_C(143),
UINT8_C(189), UINT8_C(222), UINT8_C(102), UINT8_C(126),
UINT8_C( 80), UINT8_C( 51), UINT8_C(253), UINT8_C(186),
UINT8_C( 51), UINT8_C(206), UINT8_C(118), UINT8_C( 48),
UINT8_C( 59), UINT8_C(184), UINT8_C(197), UINT8_C(107),
UINT8_C( 52), UINT8_C( 5), UINT8_C(208), UINT8_C(231),
UINT8_C(151), UINT8_C(166), UINT8_C(151), UINT8_C( 49),
UINT8_C( 74), UINT8_C(239), UINT8_C(157), UINT8_C(112),
UINT8_C(217), UINT8_C(111), UINT8_C( 21), UINT8_C(221)),
simde_x_mm512_set_epu8(UINT8_C( 54), UINT8_C( 10), UINT8_C( 52), UINT8_C(157),
UINT8_C( 51), UINT8_C( 63), UINT8_C(190), UINT8_C(105),
UINT8_C(159), UINT8_C( 57), UINT8_C(152), UINT8_C( 2),
UINT8_C(134), UINT8_C(112), UINT8_C( 29), UINT8_C( 8),
UINT8_C(240), UINT8_C( 55), UINT8_C(110), UINT8_C(144),
UINT8_C(247), UINT8_C( 78), UINT8_C(254), UINT8_C( 89),
UINT8_C(189), UINT8_C(169), UINT8_C(164), UINT8_C(239),
UINT8_C(227), UINT8_C(187), UINT8_C( 11), UINT8_C(211),
UINT8_C(183), UINT8_C( 9), UINT8_C(204), UINT8_C(138),
UINT8_C(223), UINT8_C( 91), UINT8_C(198), UINT8_C( 18),
UINT8_C(178), UINT8_C(209), UINT8_C(152), UINT8_C(100),
UINT8_C(247), UINT8_C(142), UINT8_C( 53), UINT8_C( 94),
UINT8_C(238), UINT8_C(239), UINT8_C(151), UINT8_C(119),
UINT8_C(229), UINT8_C( 96), UINT8_C(245), UINT8_C( 0),
UINT8_C(141), UINT8_C( 95), UINT8_C(101), UINT8_C(146),
UINT8_C(141), UINT8_C( 37), UINT8_C( 41), UINT8_C(148)),
simde_x_mm512_set_epu8(UINT8_C(108), UINT8_C( 96), UINT8_C( 9), UINT8_C(145),
UINT8_C(131), UINT8_C(204), UINT8_C(151), UINT8_C(200),
UINT8_C(172), UINT8_C(193), UINT8_C(248), UINT8_C(227),
UINT8_C(159), UINT8_C( 34), UINT8_C( 70), UINT8_C( 14),
UINT8_C(229), UINT8_C( 98), UINT8_C( 73), UINT8_C(209),
UINT8_C( 59), UINT8_C(209), UINT8_C( 82), UINT8_C( 90),
UINT8_C(172), UINT8_C( 10), UINT8_C(185), UINT8_C(194),
UINT8_C(184), UINT8_C( 76), UINT8_C(173), UINT8_C( 75),
UINT8_C(136), UINT8_C(213), UINT8_C(227), UINT8_C(162),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 55), UINT8_C( 19),
UINT8_C(211), UINT8_C( 0), UINT8_C( 15), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 42), UINT8_C( 77), UINT8_C(210),
UINT8_C(117), UINT8_C( 0), UINT8_C(204), UINT8_C(112),
UINT8_C( 0), UINT8_C( 70), UINT8_C( 0), UINT8_C(245),
UINT8_C( 0), UINT8_C(132), UINT8_C(179), UINT8_C( 0),
UINT8_C( 76), UINT8_C( 43), UINT8_C( 0), UINT8_C( 75)) },
{ simde_x_mm512_set_epu8(UINT8_C(206), UINT8_C(206), UINT8_C( 30), UINT8_C( 15),
UINT8_C(114), UINT8_C(103), UINT8_C( 13), UINT8_C(110),
UINT8_C(166), UINT8_C( 46), UINT8_C(130), UINT8_C(151),
UINT8_C( 16), UINT8_C( 40), UINT8_C(154), UINT8_C( 67),
UINT8_C(184), UINT8_C( 37), UINT8_C(207), UINT8_C( 94),
UINT8_C( 79), UINT8_C(202), UINT8_C(122), UINT8_C(203),
UINT8_C(179), UINT8_C(164), UINT8_C( 37), UINT8_C(173),
UINT8_C( 95), UINT8_C(170), UINT8_C( 47), UINT8_C(161),
UINT8_C(255), UINT8_C(185), UINT8_C(163), UINT8_C(181),
UINT8_C( 29), UINT8_C(148), UINT8_C(134), UINT8_C( 11),
UINT8_C(137), UINT8_C(213), UINT8_C(115), UINT8_C(139),
UINT8_C( 77), UINT8_C(129), UINT8_C( 55), UINT8_C( 6),
UINT8_C(222), UINT8_C(184), UINT8_C(104), UINT8_C( 68),
UINT8_C(167), UINT8_C( 53), UINT8_C( 35), UINT8_C( 81),
UINT8_C(255), UINT8_C(129), UINT8_C(219), UINT8_C(221),
UINT8_C(186), UINT8_C( 75), UINT8_C(231), UINT8_C(243)),
UINT64_C( 1370699036),
simde_x_mm512_set_epu8(UINT8_C(228), UINT8_C( 29), UINT8_C(156), UINT8_C(201),
UINT8_C(217), UINT8_C( 60), UINT8_C( 61), UINT8_C( 86),
UINT8_C(205), UINT8_C(204), UINT8_C( 26), UINT8_C( 35),
UINT8_C(113), UINT8_C( 54), UINT8_C( 44), UINT8_C(150),
UINT8_C( 5), UINT8_C(127), UINT8_C(118), UINT8_C(122),
UINT8_C( 8), UINT8_C( 76), UINT8_C( 62), UINT8_C( 54),
UINT8_C(171), UINT8_C(236), UINT8_C(228), UINT8_C( 23),
UINT8_C(167), UINT8_C( 85), UINT8_C(106), UINT8_C(203),
UINT8_C( 75), UINT8_C(211), UINT8_C(183), UINT8_C(233),
UINT8_C(230), UINT8_C(155), UINT8_C(159), UINT8_C(231),
UINT8_C( 53), UINT8_C( 16), UINT8_C(224), UINT8_C(218),
UINT8_C(254), UINT8_C(170), UINT8_C(229), UINT8_C(158),
UINT8_C(154), UINT8_C(108), UINT8_C(114), UINT8_C(193),
UINT8_C(254), UINT8_C( 39), UINT8_C(143), UINT8_C(155),
UINT8_C(241), UINT8_C(232), UINT8_C(128), UINT8_C(233),
UINT8_C(178), UINT8_C( 6), UINT8_C(154), UINT8_C(184)),
simde_x_mm512_set_epu8(UINT8_C(165), UINT8_C(173), UINT8_C(234), UINT8_C(165),
UINT8_C(146), UINT8_C(243), UINT8_C( 52), UINT8_C( 89),
UINT8_C(227), UINT8_C( 93), UINT8_C(108), UINT8_C( 47),
UINT8_C(207), UINT8_C(115), UINT8_C(178), UINT8_C(155),
UINT8_C(250), UINT8_C(115), UINT8_C( 2), UINT8_C( 73),
UINT8_C(254), UINT8_C(119), UINT8_C( 72), UINT8_C(108),
UINT8_C( 90), UINT8_C( 96), UINT8_C( 56), UINT8_C(182),
UINT8_C( 64), UINT8_C( 8), UINT8_C(172), UINT8_C(169),
UINT8_C( 32), UINT8_C( 75), UINT8_C( 92), UINT8_C(114),
UINT8_C( 16), UINT8_C( 36), UINT8_C(161), UINT8_C( 46),
UINT8_C(214), UINT8_C(247), UINT8_C(176), UINT8_C( 43),
UINT8_C(168), UINT8_C(161), UINT8_C(148), UINT8_C( 77),
UINT8_C(231), UINT8_C(174), UINT8_C( 75), UINT8_C( 48),
UINT8_C(123), UINT8_C(251), UINT8_C(221), UINT8_C(100),
UINT8_C( 39), UINT8_C(159), UINT8_C( 61), UINT8_C( 37),
UINT8_C(160), UINT8_C(166), UINT8_C( 87), UINT8_C(103)),
simde_x_mm512_set_epu8(UINT8_C(206), UINT8_C(206), UINT8_C( 30), UINT8_C( 15),
UINT8_C(114), UINT8_C(103), UINT8_C( 13), UINT8_C(110),
UINT8_C(166), UINT8_C( 46), UINT8_C(130), UINT8_C(151),
UINT8_C( 16), UINT8_C( 40), UINT8_C(154), UINT8_C( 67),
UINT8_C(184), UINT8_C( 37), UINT8_C(207), UINT8_C( 94),
UINT8_C( 79), UINT8_C(202), UINT8_C(122), UINT8_C(203),
UINT8_C(179), UINT8_C(164), UINT8_C( 37), UINT8_C(173),
UINT8_C( 95), UINT8_C(170), UINT8_C( 47), UINT8_C(161),
UINT8_C(255), UINT8_C(136), UINT8_C(163), UINT8_C(119),
UINT8_C( 29), UINT8_C(148), UINT8_C(134), UINT8_C(185),
UINT8_C( 0), UINT8_C(213), UINT8_C( 48), UINT8_C(175),
UINT8_C( 77), UINT8_C(129), UINT8_C( 81), UINT8_C( 81),
UINT8_C(222), UINT8_C(184), UINT8_C( 39), UINT8_C(145),
UINT8_C(167), UINT8_C( 0), UINT8_C( 35), UINT8_C( 55),
UINT8_C(255), UINT8_C(129), UINT8_C(219), UINT8_C(196),
UINT8_C( 18), UINT8_C( 0), UINT8_C(231), UINT8_C(243)) },
{ simde_x_mm512_set_epu8(UINT8_C(215), UINT8_C( 43), UINT8_C(249), UINT8_C(194),
UINT8_C(157), UINT8_C(199), UINT8_C( 98), UINT8_C(233),
UINT8_C( 27), UINT8_C(181), UINT8_C(227), UINT8_C( 75),
UINT8_C( 73), UINT8_C( 96), UINT8_C(149), UINT8_C(223),
UINT8_C(104), UINT8_C( 32), UINT8_C( 22), UINT8_C(168),
UINT8_C( 89), UINT8_C( 99), UINT8_C(164), UINT8_C(153),
UINT8_C( 65), UINT8_C(170), UINT8_C( 53), UINT8_C( 47),
UINT8_C(191), UINT8_C(169), UINT8_C( 40), UINT8_C( 76),
UINT8_C(114), UINT8_C(220), UINT8_C( 85), UINT8_C(210),
UINT8_C(141), UINT8_C( 16), UINT8_C( 66), UINT8_C(216),
UINT8_C(211), UINT8_C(107), UINT8_C(217), UINT8_C(119),
UINT8_C(250), UINT8_C( 64), UINT8_C(254), UINT8_C( 91),
UINT8_C( 35), UINT8_C(245), UINT8_C(193), UINT8_C( 56),
UINT8_C(248), UINT8_C(186), UINT8_C( 68), UINT8_C(150),
UINT8_C(220), UINT8_C(248), UINT8_C(101), UINT8_C( 0),
UINT8_C(116), UINT8_C(116), UINT8_C( 64), UINT8_C(175)),
UINT64_C( 4015290579),
simde_x_mm512_set_epu8(UINT8_C( 21), UINT8_C(153), UINT8_C(252), UINT8_C(180),
UINT8_C(184), UINT8_C( 70), UINT8_C( 16), UINT8_C(164),
UINT8_C( 32), UINT8_C(157), UINT8_C(177), UINT8_C(185),
UINT8_C( 75), UINT8_C(213), UINT8_C(118), UINT8_C( 48),
UINT8_C(250), UINT8_C(247), UINT8_C(144), UINT8_C(182),
UINT8_C( 89), UINT8_C(193), UINT8_C(215), UINT8_C(109),
UINT8_C( 32), UINT8_C( 44), UINT8_C( 30), UINT8_C(115),
UINT8_C(122), UINT8_C(173), UINT8_C( 22), UINT8_C(177),
UINT8_C(163), UINT8_C(190), UINT8_C(161), UINT8_C(157),
UINT8_C(186), UINT8_C(207), UINT8_C(230), UINT8_C( 94),
UINT8_C(188), UINT8_C( 54), UINT8_C(164), UINT8_C(150),
UINT8_C( 11), UINT8_C( 80), UINT8_C(167), UINT8_C(171),
UINT8_C( 7), UINT8_C(177), UINT8_C(223), UINT8_C(132),
UINT8_C(186), UINT8_C( 43), UINT8_C( 15), UINT8_C(205),
UINT8_C( 56), UINT8_C(209), UINT8_C( 90), UINT8_C(226),
UINT8_C(128), UINT8_C( 65), UINT8_C( 94), UINT8_C(244)),
simde_x_mm512_set_epu8(UINT8_C( 31), UINT8_C( 58), UINT8_C(132), UINT8_C( 37),
UINT8_C(154), UINT8_C( 6), UINT8_C( 75), UINT8_C(156),
UINT8_C(149), UINT8_C(144), UINT8_C(181), UINT8_C(171),
UINT8_C(160), UINT8_C( 77), UINT8_C(155), UINT8_C(252),
UINT8_C(181), UINT8_C(149), UINT8_C( 69), UINT8_C( 75),
UINT8_C(202), UINT8_C( 32), UINT8_C( 21), UINT8_C( 82),
UINT8_C(184), UINT8_C(152), UINT8_C(217), UINT8_C( 20),
UINT8_C( 41), UINT8_C( 41), UINT8_C( 1), UINT8_C( 97),
UINT8_C(165), UINT8_C(111), UINT8_C(131), UINT8_C( 21),
UINT8_C( 63), UINT8_C( 20), UINT8_C(145), UINT8_C(147),
UINT8_C( 66), UINT8_C( 29), UINT8_C(208), UINT8_C( 15),
UINT8_C(209), UINT8_C(114), UINT8_C(194), UINT8_C( 3),
UINT8_C( 96), UINT8_C(111), UINT8_C( 93), UINT8_C(100),
UINT8_C(124), UINT8_C( 70), UINT8_C(116), UINT8_C(210),
UINT8_C( 69), UINT8_C(255), UINT8_C(157), UINT8_C(160),
UINT8_C( 53), UINT8_C( 12), UINT8_C(237), UINT8_C(134)),
simde_x_mm512_set_epu8(UINT8_C(215), UINT8_C( 43), UINT8_C(249), UINT8_C(194),
UINT8_C(157), UINT8_C(199), UINT8_C( 98), UINT8_C(233),
UINT8_C( 27), UINT8_C(181), UINT8_C(227), UINT8_C( 75),
UINT8_C( 73), UINT8_C( 96), UINT8_C(149), UINT8_C(223),
UINT8_C(104), UINT8_C( 32), UINT8_C( 22), UINT8_C(168),
UINT8_C( 89), UINT8_C( 99), UINT8_C(164), UINT8_C(153),
UINT8_C( 65), UINT8_C(170), UINT8_C( 53), UINT8_C( 47),
UINT8_C(191), UINT8_C(169), UINT8_C( 40), UINT8_C( 76),
UINT8_C( 0), UINT8_C( 79), UINT8_C( 30), UINT8_C(210),
UINT8_C(123), UINT8_C(187), UINT8_C( 85), UINT8_C( 0),
UINT8_C(211), UINT8_C( 25), UINT8_C(217), UINT8_C(135),
UINT8_C(250), UINT8_C( 0), UINT8_C(254), UINT8_C( 91),
UINT8_C( 35), UINT8_C( 66), UINT8_C(130), UINT8_C( 32),
UINT8_C( 62), UINT8_C(186), UINT8_C( 68), UINT8_C(150),
UINT8_C( 0), UINT8_C( 0), UINT8_C(101), UINT8_C( 66),
UINT8_C(116), UINT8_C(116), UINT8_C( 0), UINT8_C(110)) },
{ simde_x_mm512_set_epu8(UINT8_C(181), UINT8_C( 56), UINT8_C(192), UINT8_C(150),
UINT8_C( 44), UINT8_C(209), UINT8_C( 13), UINT8_C(238),
UINT8_C(199), UINT8_C(135), UINT8_C(144), UINT8_C( 8),
UINT8_C( 13), UINT8_C(143), UINT8_C(242), UINT8_C(219),
UINT8_C(103), UINT8_C(252), UINT8_C(214), UINT8_C(167),
UINT8_C( 3), UINT8_C(136), UINT8_C(222), UINT8_C(241),
UINT8_C( 7), UINT8_C( 92), UINT8_C(141), UINT8_C(140),
UINT8_C(104), UINT8_C(125), UINT8_C(212), UINT8_C(114),
UINT8_C(114), UINT8_C(229), UINT8_C(235), UINT8_C(144),
UINT8_C(233), UINT8_C(188), UINT8_C( 95), UINT8_C(193),
UINT8_C( 27), UINT8_C(148), UINT8_C( 89), UINT8_C(138),
UINT8_C(232), UINT8_C(105), UINT8_C(208), UINT8_C(244),
UINT8_C( 62), UINT8_C(166), UINT8_C(227), UINT8_C( 87),
UINT8_C(254), UINT8_C( 17), UINT8_C(235), UINT8_C(147),
UINT8_C(215), UINT8_C( 8), UINT8_C(107), UINT8_C( 75),
UINT8_C(237), UINT8_C(121), UINT8_C( 75), UINT8_C( 80)),
UINT64_C( 3983161372),
simde_x_mm512_set_epu8(UINT8_C(105), UINT8_C(165), UINT8_C(196), UINT8_C(175),
UINT8_C( 21), UINT8_C( 33), UINT8_C( 59), UINT8_C( 91),
UINT8_C(173), UINT8_C( 84), UINT8_C(102), UINT8_C(234),
UINT8_C(240), UINT8_C( 97), UINT8_C( 44), UINT8_C(117),
UINT8_C(253), UINT8_C( 63), UINT8_C(177), UINT8_C( 7),
UINT8_C( 84), UINT8_C(101), UINT8_C( 54), UINT8_C(237),
UINT8_C(110), UINT8_C( 66), UINT8_C( 52), UINT8_C(158),
UINT8_C(218), UINT8_C(146), UINT8_C(129), UINT8_C( 7),
UINT8_C(170), UINT8_C( 34), UINT8_C( 11), UINT8_C( 33),
UINT8_C(109), UINT8_C( 75), UINT8_C(249), UINT8_C(174),
UINT8_C( 89), UINT8_C(221), UINT8_C(115), UINT8_C(113),
UINT8_C(179), UINT8_C( 55), UINT8_C(200), UINT8_C( 84),
UINT8_C(219), UINT8_C(209), UINT8_C(106), UINT8_C(223),
UINT8_C(220), UINT8_C(150), UINT8_C(243), UINT8_C( 88),
UINT8_C( 23), UINT8_C( 59), UINT8_C(210), UINT8_C(197),
UINT8_C( 39), UINT8_C(187), UINT8_C( 89), UINT8_C( 99)),
simde_x_mm512_set_epu8(UINT8_C(202), UINT8_C( 54), UINT8_C( 42), UINT8_C(168),
UINT8_C( 22), UINT8_C(221), UINT8_C( 17), UINT8_C(189),
UINT8_C( 39), UINT8_C(155), UINT8_C(135), UINT8_C(162),
UINT8_C(148), UINT8_C(181), UINT8_C(120), UINT8_C( 52),
UINT8_C(206), UINT8_C( 24), UINT8_C(206), UINT8_C(117),
UINT8_C(240), UINT8_C( 17), UINT8_C(210), UINT8_C(188),
UINT8_C(193), UINT8_C(112), UINT8_C( 80), UINT8_C(199),
UINT8_C(136), UINT8_C( 33), UINT8_C( 97), UINT8_C(247),
UINT8_C(161), UINT8_C( 97), UINT8_C( 42), UINT8_C(181),
UINT8_C( 25), UINT8_C( 62), UINT8_C( 47), UINT8_C( 32),
UINT8_C( 10), UINT8_C(145), UINT8_C( 81), UINT8_C( 51),
UINT8_C(106), UINT8_C( 74), UINT8_C(253), UINT8_C( 27),
UINT8_C(198), UINT8_C( 49), UINT8_C(205), UINT8_C(189),
UINT8_C( 32), UINT8_C(168), UINT8_C(102), UINT8_C( 88),
UINT8_C( 86), UINT8_C(170), UINT8_C(185), UINT8_C( 98),
UINT8_C(232), UINT8_C( 43), UINT8_C( 26), UINT8_C(165)),
simde_x_mm512_set_epu8(UINT8_C(181), UINT8_C( 56), UINT8_C(192), UINT8_C(150),
UINT8_C( 44), UINT8_C(209), UINT8_C( 13), UINT8_C(238),
UINT8_C(199), UINT8_C(135), UINT8_C(144), UINT8_C( 8),
UINT8_C( 13), UINT8_C(143), UINT8_C(242), UINT8_C(219),
UINT8_C(103), UINT8_C(252), UINT8_C(214), UINT8_C(167),
UINT8_C( 3), UINT8_C(136), UINT8_C(222), UINT8_C(241),
UINT8_C( 7), UINT8_C( 92), UINT8_C(141), UINT8_C(140),
UINT8_C(104), UINT8_C(125), UINT8_C(212), UINT8_C(114),
UINT8_C( 9), UINT8_C( 0), UINT8_C( 0), UINT8_C(144),
UINT8_C( 84), UINT8_C( 13), UINT8_C( 95), UINT8_C(142),
UINT8_C( 27), UINT8_C( 76), UINT8_C( 34), UINT8_C(138),
UINT8_C( 73), UINT8_C(105), UINT8_C( 0), UINT8_C(244),
UINT8_C( 62), UINT8_C(166), UINT8_C( 0), UINT8_C( 34),
UINT8_C(188), UINT8_C( 17), UINT8_C(235), UINT8_C(147),
UINT8_C(215), UINT8_C( 8), UINT8_C(107), UINT8_C( 99),
UINT8_C( 0), UINT8_C(144), UINT8_C( 75), UINT8_C( 80)) },
{ simde_x_mm512_set_epu8(UINT8_C( 98), UINT8_C( 81), UINT8_C(150), UINT8_C(221),
UINT8_C( 96), UINT8_C( 40), UINT8_C(142), UINT8_C( 23),
UINT8_C( 87), UINT8_C(207), UINT8_C(191), UINT8_C( 92),
UINT8_C( 77), UINT8_C(157), UINT8_C(184), UINT8_C(138),
UINT8_C(172), UINT8_C( 66), UINT8_C( 9), UINT8_C(115),
UINT8_C(240), UINT8_C(175), UINT8_C(107), UINT8_C( 49),
UINT8_C( 50), UINT8_C(243), UINT8_C( 59), UINT8_C( 91),
UINT8_C( 0), UINT8_C( 76), UINT8_C( 9), UINT8_C( 2),
UINT8_C( 15), UINT8_C( 39), UINT8_C(150), UINT8_C( 31),
UINT8_C( 12), UINT8_C(247), UINT8_C(212), UINT8_C( 40),
UINT8_C(158), UINT8_C( 81), UINT8_C(244), UINT8_C( 20),
UINT8_C(204), UINT8_C( 92), UINT8_C(198), UINT8_C(205),
UINT8_C( 11), UINT8_C( 60), UINT8_C(191), UINT8_C( 47),
UINT8_C( 22), UINT8_C(151), UINT8_C(149), UINT8_C( 16),
UINT8_C(247), UINT8_C(164), UINT8_C( 21), UINT8_C( 75),
UINT8_C(153), UINT8_C(240), UINT8_C(253), UINT8_C(242)),
UINT64_C( 56397128),
simde_x_mm512_set_epu8(UINT8_C(183), UINT8_C(245), UINT8_C(114), UINT8_C(158),
UINT8_C( 37), UINT8_C( 8), UINT8_C(173), UINT8_C( 26),
UINT8_C(128), UINT8_C( 46), UINT8_C(239), UINT8_C(202),
UINT8_C( 36), UINT8_C(170), UINT8_C( 57), UINT8_C( 95),
UINT8_C(183), UINT8_C(182), UINT8_C( 41), UINT8_C(122),
UINT8_C(112), UINT8_C(137), UINT8_C(112), UINT8_C( 40),
UINT8_C(142), UINT8_C( 91), UINT8_C( 37), UINT8_C( 25),
UINT8_C(202), UINT8_C(195), UINT8_C(221), UINT8_C(250),
UINT8_C(146), UINT8_C(239), UINT8_C( 69), UINT8_C(186),
UINT8_C(170), UINT8_C(230), UINT8_C(161), UINT8_C(178),
UINT8_C( 40), UINT8_C(125), UINT8_C(237), UINT8_C(124),
UINT8_C(248), UINT8_C( 56), UINT8_C( 8), UINT8_C( 55),
UINT8_C(249), UINT8_C(227), UINT8_C(149), UINT8_C(232),
UINT8_C( 71), UINT8_C(244), UINT8_C(128), UINT8_C( 10),
UINT8_C(194), UINT8_C(169), UINT8_C(169), UINT8_C( 87),
UINT8_C(140), UINT8_C(131), UINT8_C( 55), UINT8_C(150)),
simde_x_mm512_set_epu8(UINT8_C(110), UINT8_C( 33), UINT8_C(123), UINT8_C(125),
UINT8_C( 28), UINT8_C(250), UINT8_C(180), UINT8_C(218),
UINT8_C(138), UINT8_C(236), UINT8_C( 38), UINT8_C(136),
UINT8_C(156), UINT8_C(154), UINT8_C(163), UINT8_C(128),
UINT8_C( 3), UINT8_C( 20), UINT8_C(100), UINT8_C(126),
UINT8_C(164), UINT8_C( 42), UINT8_C(151), UINT8_C(206),
UINT8_C( 0), UINT8_C( 4), UINT8_C(235), UINT8_C(224),
UINT8_C( 89), UINT8_C(213), UINT8_C( 61), UINT8_C(138),
UINT8_C( 77), UINT8_C( 74), UINT8_C( 61), UINT8_C(173),
UINT8_C( 87), UINT8_C(142), UINT8_C( 26), UINT8_C(213),
UINT8_C( 90), UINT8_C(221), UINT8_C( 14), UINT8_C( 55),
UINT8_C(246), UINT8_C(136), UINT8_C(230), UINT8_C(198),
UINT8_C(193), UINT8_C(138), UINT8_C(163), UINT8_C( 46),
UINT8_C( 13), UINT8_C(134), UINT8_C(202), UINT8_C( 58),
UINT8_C( 24), UINT8_C(220), UINT8_C( 93), UINT8_C(159),
UINT8_C(158), UINT8_C(228), UINT8_C( 77), UINT8_C( 48)),
simde_x_mm512_set_epu8(UINT8_C( 98), UINT8_C( 81), UINT8_C(150), UINT8_C(221),
UINT8_C( 96), UINT8_C( 40), UINT8_C(142), UINT8_C( 23),
UINT8_C( 87), UINT8_C(207), UINT8_C(191), UINT8_C( 92),
UINT8_C( 77), UINT8_C(157), UINT8_C(184), UINT8_C(138),
UINT8_C(172), UINT8_C( 66), UINT8_C( 9), UINT8_C(115),
UINT8_C(240), UINT8_C(175), UINT8_C(107), UINT8_C( 49),
UINT8_C( 50), UINT8_C(243), UINT8_C( 59), UINT8_C( 91),
UINT8_C( 0), UINT8_C( 76), UINT8_C( 9), UINT8_C( 2),
UINT8_C( 15), UINT8_C( 39), UINT8_C(150), UINT8_C( 31),
UINT8_C( 12), UINT8_C(247), UINT8_C(135), UINT8_C( 0),
UINT8_C(158), UINT8_C( 0), UINT8_C(244), UINT8_C( 69),
UINT8_C( 2), UINT8_C( 0), UINT8_C(198), UINT8_C(205),
UINT8_C( 56), UINT8_C( 60), UINT8_C(191), UINT8_C( 47),
UINT8_C( 58), UINT8_C(110), UINT8_C(149), UINT8_C( 0),
UINT8_C(247), UINT8_C( 0), UINT8_C( 21), UINT8_C( 75),
UINT8_C( 0), UINT8_C(240), UINT8_C(253), UINT8_C(242)) },
{ simde_x_mm512_set_epu8(UINT8_C( 53), UINT8_C(227), UINT8_C(166), UINT8_C(167),
UINT8_C(220), UINT8_C( 62), UINT8_C(127), UINT8_C(188),
UINT8_C(162), UINT8_C( 93), UINT8_C( 87), UINT8_C( 20),
UINT8_C(253), UINT8_C(151), UINT8_C(167), UINT8_C( 97),
UINT8_C(141), UINT8_C( 56), UINT8_C( 46), UINT8_C(112),
UINT8_C(183), UINT8_C(242), UINT8_C(234), UINT8_C(225),
UINT8_C( 17), UINT8_C(244), UINT8_C(208), UINT8_C(134),
UINT8_C( 62), UINT8_C(227), UINT8_C(122), UINT8_C(145),
UINT8_C( 35), UINT8_C(116), UINT8_C( 86), UINT8_C( 57),
UINT8_C( 43), UINT8_C( 6), UINT8_C( 33), UINT8_C( 4),
UINT8_C(148), UINT8_C( 62), UINT8_C( 78), UINT8_C(134),
UINT8_C( 59), UINT8_C(194), UINT8_C(251), UINT8_C(176),
UINT8_C(131), UINT8_C( 3), UINT8_C(158), UINT8_C( 64),
UINT8_C( 7), UINT8_C( 23), UINT8_C(141), UINT8_C( 30),
UINT8_C( 80), UINT8_C(118), UINT8_C(234), UINT8_C(166),
UINT8_C(190), UINT8_C(141), UINT8_C( 8), UINT8_C(147)),
UINT64_C( 22184990),
simde_x_mm512_set_epu8(UINT8_C( 84), UINT8_C( 30), UINT8_C(240), UINT8_C( 3),
UINT8_C( 77), UINT8_C(250), UINT8_C(105), UINT8_C( 84),
UINT8_C( 36), UINT8_C(146), UINT8_C( 3), UINT8_C( 91),
UINT8_C( 21), UINT8_C( 50), UINT8_C( 15), UINT8_C(197),
UINT8_C(184), UINT8_C(164), UINT8_C(243), UINT8_C( 49),
UINT8_C(139), UINT8_C(155), UINT8_C( 62), UINT8_C(216),
UINT8_C(245), UINT8_C( 40), UINT8_C( 99), UINT8_C(208),
UINT8_C(124), UINT8_C(170), UINT8_C(118), UINT8_C(243),
UINT8_C(134), UINT8_C( 41), UINT8_C(113), UINT8_C( 32),
UINT8_C(248), UINT8_C( 57), UINT8_C( 20), UINT8_C(118),
UINT8_C(143), UINT8_C(142), UINT8_C(167), UINT8_C(111),
UINT8_C( 61), UINT8_C(150), UINT8_C( 44), UINT8_C(181),
UINT8_C(206), UINT8_C(236), UINT8_C( 29), UINT8_C(231),
UINT8_C(142), UINT8_C( 18), UINT8_C( 45), UINT8_C(166),
UINT8_C( 68), UINT8_C(228), UINT8_C( 11), UINT8_C( 98),
UINT8_C(196), UINT8_C(139), UINT8_C( 34), UINT8_C( 25)),
simde_x_mm512_set_epu8(UINT8_C( 5), UINT8_C( 56), UINT8_C(136), UINT8_C(206),
UINT8_C(185), UINT8_C( 86), UINT8_C(170), UINT8_C(156),
UINT8_C( 56), UINT8_C( 24), UINT8_C(243), UINT8_C( 74),
UINT8_C( 28), UINT8_C( 35), UINT8_C(114), UINT8_C( 4),
UINT8_C( 15), UINT8_C(140), UINT8_C(233), UINT8_C(248),
UINT8_C(211), UINT8_C(113), UINT8_C(132), UINT8_C( 79),
UINT8_C( 67), UINT8_C( 31), UINT8_C(151), UINT8_C(212),
UINT8_C( 77), UINT8_C(114), UINT8_C(132), UINT8_C(196),
UINT8_C(210), UINT8_C(113), UINT8_C(221), UINT8_C(195),
UINT8_C( 83), UINT8_C(114), UINT8_C(111), UINT8_C(219),
UINT8_C(131), UINT8_C(244), UINT8_C(252), UINT8_C(192),
UINT8_C(162), UINT8_C(101), UINT8_C(212), UINT8_C( 52),
UINT8_C( 99), UINT8_C(238), UINT8_C( 29), UINT8_C(150),
UINT8_C(119), UINT8_C( 43), UINT8_C( 64), UINT8_C(199),
UINT8_C(174), UINT8_C( 41), UINT8_C( 78), UINT8_C( 66),
UINT8_C(152), UINT8_C(112), UINT8_C( 89), UINT8_C(237)),
simde_x_mm512_set_epu8(UINT8_C( 53), UINT8_C(227), UINT8_C(166), UINT8_C(167),
UINT8_C(220), UINT8_C( 62), UINT8_C(127), UINT8_C(188),
UINT8_C(162), UINT8_C( 93), UINT8_C( 87), UINT8_C( 20),
UINT8_C(253), UINT8_C(151), UINT8_C(167), UINT8_C( 97),
UINT8_C(141), UINT8_C( 56), UINT8_C( 46), UINT8_C(112),
UINT8_C(183), UINT8_C(242), UINT8_C(234), UINT8_C(225),
UINT8_C( 17), UINT8_C(244), UINT8_C(208), UINT8_C(134),
UINT8_C( 62), UINT8_C(227), UINT8_C(122), UINT8_C(145),
UINT8_C( 35), UINT8_C(116), UINT8_C( 86), UINT8_C( 57),
UINT8_C( 43), UINT8_C( 6), UINT8_C( 33), UINT8_C( 0),
UINT8_C(148), UINT8_C( 0), UINT8_C( 78), UINT8_C( 0),
UINT8_C( 59), UINT8_C(194), UINT8_C( 0), UINT8_C(176),
UINT8_C(107), UINT8_C( 3), UINT8_C(158), UINT8_C( 64),
UINT8_C( 7), UINT8_C( 0), UINT8_C(141), UINT8_C( 30),
UINT8_C( 80), UINT8_C(118), UINT8_C(234), UINT8_C( 32),
UINT8_C( 44), UINT8_C( 27), UINT8_C( 0), UINT8_C(147)) },
{ simde_x_mm512_set_epu8(UINT8_C(235), UINT8_C(117), UINT8_C(121), UINT8_C(105),
UINT8_C( 64), UINT8_C( 2), UINT8_C( 13), UINT8_C(246),
UINT8_C(161), UINT8_C(246), UINT8_C(247), UINT8_C( 22),
UINT8_C(159), UINT8_C( 42), UINT8_C(201), UINT8_C( 79),
UINT8_C( 21), UINT8_C(172), UINT8_C(230), UINT8_C(126),
UINT8_C(213), UINT8_C(157), UINT8_C(132), UINT8_C(237),
UINT8_C(124), UINT8_C(235), UINT8_C(111), UINT8_C( 29),
UINT8_C( 89), UINT8_C( 58), UINT8_C(255), UINT8_C(134),
UINT8_C(101), UINT8_C( 62), UINT8_C(180), UINT8_C(233),
UINT8_C(164), UINT8_C(115), UINT8_C(231), UINT8_C( 98),
UINT8_C(155), UINT8_C(153), UINT8_C(181), UINT8_C(181),
UINT8_C( 69), UINT8_C(210), UINT8_C(151), UINT8_C( 85),
UINT8_C( 48), UINT8_C( 82), UINT8_C( 52), UINT8_C( 54),
UINT8_C( 55), UINT8_C(158), UINT8_C(113), UINT8_C(247),
UINT8_C(228), UINT8_C(233), UINT8_C( 78), UINT8_C( 66),
UINT8_C( 93), UINT8_C(202), UINT8_C(157), UINT8_C(212)),
UINT64_C( 2103571959),
simde_x_mm512_set_epu8(UINT8_C(144), UINT8_C( 21), UINT8_C(157), UINT8_C( 81),
UINT8_C(156), UINT8_C(133), UINT8_C(103), UINT8_C(155),
UINT8_C(182), UINT8_C(168), UINT8_C(151), UINT8_C(201),
UINT8_C( 69), UINT8_C(193), UINT8_C(130), UINT8_C( 74),
UINT8_C(226), UINT8_C(223), UINT8_C(134), UINT8_C( 37),
UINT8_C( 29), UINT8_C( 47), UINT8_C( 30), UINT8_C(250),
UINT8_C(230), UINT8_C( 55), UINT8_C( 98), UINT8_C( 11),
UINT8_C(116), UINT8_C( 66), UINT8_C(237), UINT8_C(241),
UINT8_C(184), UINT8_C(235), UINT8_C(101), UINT8_C( 24),
UINT8_C(135), UINT8_C( 72), UINT8_C(219), UINT8_C(214),
UINT8_C( 61), UINT8_C(252), UINT8_C(209), UINT8_C(153),
UINT8_C( 26), UINT8_C( 69), UINT8_C(254), UINT8_C( 81),
UINT8_C(112), UINT8_C( 1), UINT8_C( 13), UINT8_C(163),
UINT8_C( 13), UINT8_C( 42), UINT8_C(243), UINT8_C(185),
UINT8_C( 74), UINT8_C( 36), UINT8_C(112), UINT8_C(104),
UINT8_C( 13), UINT8_C(101), UINT8_C( 7), UINT8_C( 51)),
simde_x_mm512_set_epu8(UINT8_C(133), UINT8_C(195), UINT8_C( 74), UINT8_C( 77),
UINT8_C(127), UINT8_C(119), UINT8_C(202), UINT8_C( 85),
UINT8_C(236), UINT8_C( 29), UINT8_C(224), UINT8_C( 26),
UINT8_C(102), UINT8_C(226), UINT8_C(128), UINT8_C(173),
UINT8_C(247), UINT8_C(167), UINT8_C(253), UINT8_C(107),
UINT8_C(195), UINT8_C( 44), UINT8_C(250), UINT8_C( 78),
UINT8_C( 22), UINT8_C(248), UINT8_C( 49), UINT8_C(127),
UINT8_C(226), UINT8_C(177), UINT8_C(135), UINT8_C( 20),
UINT8_C(199), UINT8_C(239), UINT8_C(100), UINT8_C(134),
UINT8_C(164), UINT8_C(130), UINT8_C(104), UINT8_C(154),
UINT8_C( 70), UINT8_C(141), UINT8_C(181), UINT8_C(104),
UINT8_C(215), UINT8_C( 61), UINT8_C(212), UINT8_C( 26),
UINT8_C(110), UINT8_C(215), UINT8_C(220), UINT8_C(161),
UINT8_C( 37), UINT8_C( 95), UINT8_C(129), UINT8_C(178),
UINT8_C(134), UINT8_C( 99), UINT8_C(129), UINT8_C( 29),
UINT8_C(214), UINT8_C(225), UINT8_C(121), UINT8_C(165)),
simde_x_mm512_set_epu8(UINT8_C(235), UINT8_C(117), UINT8_C(121), UINT8_C(105),
UINT8_C( 64), UINT8_C( 2), UINT8_C( 13), UINT8_C(246),
UINT8_C(161), UINT8_C(246), UINT8_C(247), UINT8_C( 22),
UINT8_C(159), UINT8_C( 42), UINT8_C(201), UINT8_C( 79),
UINT8_C( 21), UINT8_C(172), UINT8_C(230), UINT8_C(126),
UINT8_C(213), UINT8_C(157), UINT8_C(132), UINT8_C(237),
UINT8_C(124), UINT8_C(235), UINT8_C(111), UINT8_C( 29),
UINT8_C( 89), UINT8_C( 58), UINT8_C(255), UINT8_C(134),
UINT8_C(101), UINT8_C( 0), UINT8_C( 1), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C(231), UINT8_C( 60),
UINT8_C(155), UINT8_C(111), UINT8_C( 28), UINT8_C(181),
UINT8_C( 69), UINT8_C(210), UINT8_C(151), UINT8_C( 55),
UINT8_C( 2), UINT8_C( 0), UINT8_C( 0), UINT8_C( 2),
UINT8_C( 55), UINT8_C( 0), UINT8_C(113), UINT8_C( 7),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 75),
UINT8_C( 93), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_mask_subs_epu8(test_vec[i].src, test_vec[i].k, test_vec[i].a, test_vec[i].b);
simde_assert_m512i_u8(r, ==, test_vec[i].r);
}
return 0;
}
static int
test_simde_mm512_maskz_subs_epu8(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__mmask64 k;
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ UINT64_C( 1678504309),
simde_x_mm512_set_epu8(UINT8_C(188), UINT8_C(227), UINT8_C(248), UINT8_C( 6),
UINT8_C(158), UINT8_C(170), UINT8_C( 99), UINT8_C(202),
UINT8_C(160), UINT8_C(209), UINT8_C( 53), UINT8_C(241),
UINT8_C(169), UINT8_C( 74), UINT8_C(195), UINT8_C(156),
UINT8_C(226), UINT8_C(114), UINT8_C(119), UINT8_C(203),
UINT8_C( 15), UINT8_C( 80), UINT8_C(207), UINT8_C(120),
UINT8_C(164), UINT8_C(171), UINT8_C( 95), UINT8_C(130),
UINT8_C(161), UINT8_C( 3), UINT8_C( 82), UINT8_C(197),
UINT8_C( 78), UINT8_C(216), UINT8_C(176), UINT8_C(131),
UINT8_C(213), UINT8_C( 21), UINT8_C( 48), UINT8_C(162),
UINT8_C(135), UINT8_C( 81), UINT8_C( 67), UINT8_C(242),
UINT8_C( 97), UINT8_C( 89), UINT8_C(174), UINT8_C( 64),
UINT8_C(170), UINT8_C(194), UINT8_C(235), UINT8_C(133),
UINT8_C( 33), UINT8_C(160), UINT8_C(236), UINT8_C( 7),
UINT8_C(224), UINT8_C( 63), UINT8_C(130), UINT8_C( 28),
UINT8_C( 83), UINT8_C(152), UINT8_C(149), UINT8_C(111)),
simde_x_mm512_set_epu8(UINT8_C(164), UINT8_C( 45), UINT8_C(193), UINT8_C(111),
UINT8_C( 96), UINT8_C(220), UINT8_C( 54), UINT8_C(232),
UINT8_C(214), UINT8_C(244), UINT8_C(236), UINT8_C( 74),
UINT8_C( 47), UINT8_C(180), UINT8_C(143), UINT8_C(214),
UINT8_C( 6), UINT8_C(178), UINT8_C( 35), UINT8_C(129),
UINT8_C( 21), UINT8_C(157), UINT8_C( 30), UINT8_C( 29),
UINT8_C(226), UINT8_C(222), UINT8_C( 14), UINT8_C(170),
UINT8_C(223), UINT8_C(200), UINT8_C( 41), UINT8_C(245),
UINT8_C( 7), UINT8_C(251), UINT8_C( 30), UINT8_C(217),
UINT8_C( 93), UINT8_C(228), UINT8_C(143), UINT8_C( 9),
UINT8_C(221), UINT8_C( 49), UINT8_C(207), UINT8_C( 44),
UINT8_C( 52), UINT8_C(108), UINT8_C(124), UINT8_C( 14),
UINT8_C(144), UINT8_C(229), UINT8_C(102), UINT8_C( 16),
UINT8_C( 61), UINT8_C( 2), UINT8_C(169), UINT8_C( 72),
UINT8_C(194), UINT8_C(122), UINT8_C(216), UINT8_C(151),
UINT8_C(244), UINT8_C(227), UINT8_C( 5), UINT8_C( 98)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C(146), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 45), UINT8_C( 0), UINT8_C( 50), UINT8_C( 50),
UINT8_C( 26), UINT8_C( 0), UINT8_C(133), UINT8_C(117),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 13)) },
{ UINT64_C( 4292756020),
simde_x_mm512_set_epu8(UINT8_C(177), UINT8_C(132), UINT8_C(179), UINT8_C(117),
UINT8_C(215), UINT8_C( 43), UINT8_C(143), UINT8_C( 75),
UINT8_C( 53), UINT8_C( 65), UINT8_C(131), UINT8_C(189),
UINT8_C(196), UINT8_C(200), UINT8_C(234), UINT8_C( 92),
UINT8_C( 99), UINT8_C(187), UINT8_C(123), UINT8_C(180),
UINT8_C(209), UINT8_C(163), UINT8_C( 86), UINT8_C( 26),
UINT8_C(192), UINT8_C( 36), UINT8_C(205), UINT8_C(108),
UINT8_C(173), UINT8_C( 71), UINT8_C(190), UINT8_C( 46),
UINT8_C(173), UINT8_C(156), UINT8_C( 59), UINT8_C(250),
UINT8_C( 13), UINT8_C(171), UINT8_C( 1), UINT8_C( 47),
UINT8_C(227), UINT8_C( 45), UINT8_C(181), UINT8_C( 45),
UINT8_C(116), UINT8_C( 89), UINT8_C(112), UINT8_C(127),
UINT8_C( 42), UINT8_C(134), UINT8_C(128), UINT8_C(206),
UINT8_C( 87), UINT8_C(206), UINT8_C( 39), UINT8_C( 7),
UINT8_C( 48), UINT8_C( 47), UINT8_C( 79), UINT8_C( 32),
UINT8_C( 39), UINT8_C(205), UINT8_C(174), UINT8_C(244)),
simde_x_mm512_set_epu8(UINT8_C(103), UINT8_C( 74), UINT8_C( 78), UINT8_C(251),
UINT8_C( 78), UINT8_C( 92), UINT8_C( 94), UINT8_C(154),
UINT8_C(108), UINT8_C( 96), UINT8_C( 9), UINT8_C(145),
UINT8_C(131), UINT8_C(204), UINT8_C(151), UINT8_C(200),
UINT8_C(172), UINT8_C(193), UINT8_C(248), UINT8_C(227),
UINT8_C(159), UINT8_C( 34), UINT8_C( 70), UINT8_C( 14),
UINT8_C(229), UINT8_C( 98), UINT8_C( 73), UINT8_C(209),
UINT8_C( 59), UINT8_C(209), UINT8_C( 82), UINT8_C( 90),
UINT8_C(172), UINT8_C( 10), UINT8_C(185), UINT8_C(194),
UINT8_C(184), UINT8_C( 76), UINT8_C(173), UINT8_C( 75),
UINT8_C(136), UINT8_C(130), UINT8_C(227), UINT8_C(162),
UINT8_C(154), UINT8_C(158), UINT8_C(121), UINT8_C( 19),
UINT8_C(211), UINT8_C(197), UINT8_C( 15), UINT8_C( 80),
UINT8_C( 75), UINT8_C( 26), UINT8_C( 77), UINT8_C(210),
UINT8_C(117), UINT8_C( 85), UINT8_C(204), UINT8_C( 0),
UINT8_C(244), UINT8_C( 11), UINT8_C(128), UINT8_C(245)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 1), UINT8_C(146), UINT8_C( 0), UINT8_C( 56),
UINT8_C( 0), UINT8_C( 95), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 91), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 32),
UINT8_C( 0), UINT8_C(194), UINT8_C( 0), UINT8_C( 0)) },
{ UINT64_C( 3647935965),
simde_x_mm512_set_epu8(UINT8_C(141), UINT8_C( 95), UINT8_C(101), UINT8_C(146),
UINT8_C(141), UINT8_C( 37), UINT8_C( 41), UINT8_C(148),
UINT8_C(122), UINT8_C(121), UINT8_C( 15), UINT8_C(167),
UINT8_C(146), UINT8_C( 1), UINT8_C( 27), UINT8_C( 93),
UINT8_C(177), UINT8_C(197), UINT8_C(189), UINT8_C(233),
UINT8_C(110), UINT8_C( 47), UINT8_C( 66), UINT8_C( 91),
UINT8_C( 52), UINT8_C( 7), UINT8_C(197), UINT8_C( 20),
UINT8_C( 34), UINT8_C(208), UINT8_C(127), UINT8_C( 73),
UINT8_C(145), UINT8_C( 2), UINT8_C( 27), UINT8_C(235),
UINT8_C(109), UINT8_C(152), UINT8_C(220), UINT8_C(143),
UINT8_C(189), UINT8_C(222), UINT8_C(102), UINT8_C(126),
UINT8_C( 80), UINT8_C( 51), UINT8_C(253), UINT8_C(186),
UINT8_C( 51), UINT8_C(206), UINT8_C(118), UINT8_C( 48),
UINT8_C( 59), UINT8_C(184), UINT8_C(197), UINT8_C(107),
UINT8_C( 52), UINT8_C( 5), UINT8_C(208), UINT8_C(231),
UINT8_C(151), UINT8_C(166), UINT8_C(151), UINT8_C( 49)),
simde_x_mm512_set_epu8(UINT8_C(255), UINT8_C(129), UINT8_C(219), UINT8_C(221),
UINT8_C(186), UINT8_C( 75), UINT8_C(231), UINT8_C(243),
UINT8_C( 54), UINT8_C( 10), UINT8_C( 52), UINT8_C(157),
UINT8_C( 51), UINT8_C( 63), UINT8_C(190), UINT8_C(105),
UINT8_C(159), UINT8_C( 57), UINT8_C(152), UINT8_C( 2),
UINT8_C(134), UINT8_C(112), UINT8_C( 29), UINT8_C( 8),
UINT8_C(240), UINT8_C( 55), UINT8_C(110), UINT8_C(144),
UINT8_C(247), UINT8_C( 78), UINT8_C(254), UINT8_C( 89),
UINT8_C(189), UINT8_C(169), UINT8_C(164), UINT8_C(239),
UINT8_C(227), UINT8_C(187), UINT8_C( 11), UINT8_C(211),
UINT8_C(183), UINT8_C( 9), UINT8_C(204), UINT8_C(138),
UINT8_C(223), UINT8_C( 91), UINT8_C(198), UINT8_C( 18),
UINT8_C(178), UINT8_C(209), UINT8_C(152), UINT8_C(100),
UINT8_C(247), UINT8_C(142), UINT8_C( 53), UINT8_C( 94),
UINT8_C(238), UINT8_C(239), UINT8_C(151), UINT8_C(119),
UINT8_C(229), UINT8_C( 96), UINT8_C(245), UINT8_C( 0)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(213), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 55), UINT8_C(168),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 42), UINT8_C( 0), UINT8_C( 13),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C(112),
UINT8_C( 0), UINT8_C( 70), UINT8_C( 0), UINT8_C( 49)) },
{ UINT64_C( 2805277521),
simde_x_mm512_set_epu8(UINT8_C(241), UINT8_C(232), UINT8_C(128), UINT8_C(233),
UINT8_C(178), UINT8_C( 6), UINT8_C(154), UINT8_C(184),
UINT8_C(219), UINT8_C(217), UINT8_C( 22), UINT8_C( 47),
UINT8_C( 81), UINT8_C(179), UINT8_C( 53), UINT8_C( 28),
UINT8_C(206), UINT8_C(206), UINT8_C( 30), UINT8_C( 15),
UINT8_C(114), UINT8_C(103), UINT8_C( 13), UINT8_C(110),
UINT8_C(166), UINT8_C( 46), UINT8_C(130), UINT8_C(151),
UINT8_C( 16), UINT8_C( 40), UINT8_C(154), UINT8_C( 67),
UINT8_C(184), UINT8_C( 37), UINT8_C(207), UINT8_C( 94),
UINT8_C( 79), UINT8_C(202), UINT8_C(122), UINT8_C(203),
UINT8_C(179), UINT8_C(164), UINT8_C( 37), UINT8_C(173),
UINT8_C( 95), UINT8_C(170), UINT8_C( 47), UINT8_C(161),
UINT8_C(255), UINT8_C(185), UINT8_C(163), UINT8_C(181),
UINT8_C( 29), UINT8_C(148), UINT8_C(134), UINT8_C( 11),
UINT8_C(137), UINT8_C(213), UINT8_C(115), UINT8_C(139),
UINT8_C( 77), UINT8_C(129), UINT8_C( 55), UINT8_C( 6)),
simde_x_mm512_set_epu8(UINT8_C( 39), UINT8_C(159), UINT8_C( 61), UINT8_C( 37),
UINT8_C(160), UINT8_C(166), UINT8_C( 87), UINT8_C(103),
UINT8_C(228), UINT8_C( 29), UINT8_C(156), UINT8_C(201),
UINT8_C(217), UINT8_C( 60), UINT8_C( 61), UINT8_C( 86),
UINT8_C(205), UINT8_C(204), UINT8_C( 26), UINT8_C( 35),
UINT8_C(113), UINT8_C( 54), UINT8_C( 44), UINT8_C(150),
UINT8_C( 5), UINT8_C(127), UINT8_C(118), UINT8_C(122),
UINT8_C( 8), UINT8_C( 76), UINT8_C( 62), UINT8_C( 54),
UINT8_C(171), UINT8_C(236), UINT8_C(228), UINT8_C( 23),
UINT8_C(167), UINT8_C( 85), UINT8_C(106), UINT8_C(203),
UINT8_C( 75), UINT8_C(211), UINT8_C(183), UINT8_C(233),
UINT8_C(230), UINT8_C(155), UINT8_C(159), UINT8_C(231),
UINT8_C( 53), UINT8_C( 16), UINT8_C(224), UINT8_C(218),
UINT8_C(254), UINT8_C(170), UINT8_C(229), UINT8_C(158),
UINT8_C(154), UINT8_C(108), UINT8_C(114), UINT8_C(193),
UINT8_C(254), UINT8_C( 39), UINT8_C(143), UINT8_C(155)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 13), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(117), UINT8_C( 16), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 15), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(105), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0)) },
{ UINT64_C( 2080103780),
simde_x_mm512_set_epu8(UINT8_C( 35), UINT8_C(245), UINT8_C(193), UINT8_C( 56),
UINT8_C(248), UINT8_C(186), UINT8_C( 68), UINT8_C(150),
UINT8_C(220), UINT8_C(248), UINT8_C(101), UINT8_C( 0),
UINT8_C(116), UINT8_C(116), UINT8_C( 64), UINT8_C(175),
UINT8_C(165), UINT8_C(173), UINT8_C(234), UINT8_C(165),
UINT8_C(146), UINT8_C(243), UINT8_C( 52), UINT8_C( 89),
UINT8_C(227), UINT8_C( 93), UINT8_C(108), UINT8_C( 47),
UINT8_C(207), UINT8_C(115), UINT8_C(178), UINT8_C(155),
UINT8_C(250), UINT8_C(115), UINT8_C( 2), UINT8_C( 73),
UINT8_C(254), UINT8_C(119), UINT8_C( 72), UINT8_C(108),
UINT8_C( 90), UINT8_C( 96), UINT8_C( 56), UINT8_C(182),
UINT8_C( 64), UINT8_C( 8), UINT8_C(172), UINT8_C(169),
UINT8_C( 32), UINT8_C( 75), UINT8_C( 92), UINT8_C(114),
UINT8_C( 16), UINT8_C( 36), UINT8_C(161), UINT8_C( 46),
UINT8_C(214), UINT8_C(247), UINT8_C(176), UINT8_C( 43),
UINT8_C(168), UINT8_C(161), UINT8_C(148), UINT8_C( 77)),
simde_x_mm512_set_epu8(UINT8_C( 56), UINT8_C(209), UINT8_C( 90), UINT8_C(226),
UINT8_C(128), UINT8_C( 65), UINT8_C( 94), UINT8_C(244),
UINT8_C(183), UINT8_C( 61), UINT8_C(186), UINT8_C(254),
UINT8_C(239), UINT8_C( 84), UINT8_C(120), UINT8_C(211),
UINT8_C(215), UINT8_C( 43), UINT8_C(249), UINT8_C(194),
UINT8_C(157), UINT8_C(199), UINT8_C( 98), UINT8_C(233),
UINT8_C( 27), UINT8_C(181), UINT8_C(227), UINT8_C( 75),
UINT8_C( 73), UINT8_C( 96), UINT8_C(149), UINT8_C(223),
UINT8_C(104), UINT8_C( 32), UINT8_C( 22), UINT8_C(168),
UINT8_C( 89), UINT8_C( 99), UINT8_C(164), UINT8_C(153),
UINT8_C( 65), UINT8_C(170), UINT8_C( 53), UINT8_C( 47),
UINT8_C(191), UINT8_C(169), UINT8_C( 40), UINT8_C( 76),
UINT8_C(114), UINT8_C(220), UINT8_C( 85), UINT8_C(210),
UINT8_C(141), UINT8_C( 16), UINT8_C( 66), UINT8_C(216),
UINT8_C(211), UINT8_C(107), UINT8_C(217), UINT8_C(119),
UINT8_C(250), UINT8_C( 64), UINT8_C(254), UINT8_C( 91)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 83), UINT8_C( 0), UINT8_C( 0),
UINT8_C(165), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 25), UINT8_C( 0), UINT8_C( 3), UINT8_C(135),
UINT8_C( 0), UINT8_C( 0), UINT8_C(132), UINT8_C( 93),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 20), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(140), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 97), UINT8_C( 0), UINT8_C( 0)) },
{ UINT64_C( 3123384269),
simde_x_mm512_set_epu8(UINT8_C( 96), UINT8_C(111), UINT8_C( 93), UINT8_C(100),
UINT8_C(124), UINT8_C( 70), UINT8_C(116), UINT8_C(210),
UINT8_C( 69), UINT8_C(255), UINT8_C(157), UINT8_C(160),
UINT8_C( 53), UINT8_C( 12), UINT8_C(237), UINT8_C(134),
UINT8_C( 21), UINT8_C(153), UINT8_C(252), UINT8_C(180),
UINT8_C(184), UINT8_C( 70), UINT8_C( 16), UINT8_C(164),
UINT8_C( 32), UINT8_C(157), UINT8_C(177), UINT8_C(185),
UINT8_C( 75), UINT8_C(213), UINT8_C(118), UINT8_C( 48),
UINT8_C(250), UINT8_C(247), UINT8_C(144), UINT8_C(182),
UINT8_C( 89), UINT8_C(193), UINT8_C(215), UINT8_C(109),
UINT8_C( 32), UINT8_C( 44), UINT8_C( 30), UINT8_C(115),
UINT8_C(122), UINT8_C(173), UINT8_C( 22), UINT8_C(177),
UINT8_C(163), UINT8_C(190), UINT8_C(161), UINT8_C(157),
UINT8_C(186), UINT8_C(207), UINT8_C(230), UINT8_C( 94),
UINT8_C(188), UINT8_C( 54), UINT8_C(164), UINT8_C(150),
UINT8_C( 11), UINT8_C( 80), UINT8_C(167), UINT8_C(171)),
simde_x_mm512_set_epu8(UINT8_C( 62), UINT8_C(166), UINT8_C(227), UINT8_C( 87),
UINT8_C(254), UINT8_C( 17), UINT8_C(235), UINT8_C(147),
UINT8_C(215), UINT8_C( 8), UINT8_C(107), UINT8_C( 75),
UINT8_C(237), UINT8_C(121), UINT8_C( 75), UINT8_C( 80),
UINT8_C( 31), UINT8_C( 58), UINT8_C(132), UINT8_C( 37),
UINT8_C(154), UINT8_C( 6), UINT8_C( 75), UINT8_C(156),
UINT8_C(149), UINT8_C(144), UINT8_C(181), UINT8_C(171),
UINT8_C(160), UINT8_C( 77), UINT8_C(155), UINT8_C(252),
UINT8_C(181), UINT8_C(149), UINT8_C( 69), UINT8_C( 75),
UINT8_C(202), UINT8_C( 32), UINT8_C( 21), UINT8_C( 82),
UINT8_C(184), UINT8_C(152), UINT8_C(217), UINT8_C( 20),
UINT8_C( 41), UINT8_C( 41), UINT8_C( 1), UINT8_C( 97),
UINT8_C(165), UINT8_C(111), UINT8_C(131), UINT8_C( 21),
UINT8_C( 63), UINT8_C( 20), UINT8_C(145), UINT8_C(147),
UINT8_C( 66), UINT8_C( 29), UINT8_C(208), UINT8_C( 15),
UINT8_C(209), UINT8_C(114), UINT8_C(194), UINT8_C( 3)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 69), UINT8_C( 0), UINT8_C( 75), UINT8_C(107),
UINT8_C( 0), UINT8_C( 0), UINT8_C(194), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 81), UINT8_C( 0), UINT8_C( 21), UINT8_C( 80),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C(123), UINT8_C(187), UINT8_C( 85), UINT8_C( 0),
UINT8_C(122), UINT8_C( 25), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C(168)) },
{ UINT64_C( 3899248884),
simde_x_mm512_set_epu8(UINT8_C(219), UINT8_C(209), UINT8_C(106), UINT8_C(223),
UINT8_C(220), UINT8_C(150), UINT8_C(243), UINT8_C( 88),
UINT8_C( 23), UINT8_C( 59), UINT8_C(210), UINT8_C(197),
UINT8_C( 39), UINT8_C(187), UINT8_C( 89), UINT8_C( 99),
UINT8_C( 19), UINT8_C(249), UINT8_C( 10), UINT8_C( 39),
UINT8_C(237), UINT8_C(106), UINT8_C( 56), UINT8_C( 28),
UINT8_C(181), UINT8_C( 56), UINT8_C(192), UINT8_C(150),
UINT8_C( 44), UINT8_C(209), UINT8_C( 13), UINT8_C(238),
UINT8_C(199), UINT8_C(135), UINT8_C(144), UINT8_C( 8),
UINT8_C( 13), UINT8_C(143), UINT8_C(242), UINT8_C(219),
UINT8_C(103), UINT8_C(252), UINT8_C(214), UINT8_C(167),
UINT8_C( 3), UINT8_C(136), UINT8_C(222), UINT8_C(241),
UINT8_C( 7), UINT8_C( 92), UINT8_C(141), UINT8_C(140),
UINT8_C(104), UINT8_C(125), UINT8_C(212), UINT8_C(114),
UINT8_C(114), UINT8_C(229), UINT8_C(235), UINT8_C(144),
UINT8_C(233), UINT8_C(188), UINT8_C( 95), UINT8_C(193)),
simde_x_mm512_set_epu8(UINT8_C(198), UINT8_C( 49), UINT8_C(205), UINT8_C(189),
UINT8_C( 32), UINT8_C(168), UINT8_C(102), UINT8_C( 88),
UINT8_C( 86), UINT8_C(170), UINT8_C(185), UINT8_C( 98),
UINT8_C(232), UINT8_C( 43), UINT8_C( 26), UINT8_C(165),
UINT8_C(105), UINT8_C(165), UINT8_C(196), UINT8_C(175),
UINT8_C( 21), UINT8_C( 33), UINT8_C( 59), UINT8_C( 91),
UINT8_C(173), UINT8_C( 84), UINT8_C(102), UINT8_C(234),
UINT8_C(240), UINT8_C( 97), UINT8_C( 44), UINT8_C(117),
UINT8_C(253), UINT8_C( 63), UINT8_C(177), UINT8_C( 7),
UINT8_C( 84), UINT8_C(101), UINT8_C( 54), UINT8_C(237),
UINT8_C(110), UINT8_C( 66), UINT8_C( 52), UINT8_C(158),
UINT8_C(218), UINT8_C(146), UINT8_C(129), UINT8_C( 7),
UINT8_C(170), UINT8_C( 34), UINT8_C( 11), UINT8_C( 33),
UINT8_C(109), UINT8_C( 75), UINT8_C(249), UINT8_C(174),
UINT8_C( 89), UINT8_C(221), UINT8_C(115), UINT8_C(113),
UINT8_C(179), UINT8_C( 55), UINT8_C(200), UINT8_C( 84)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 72), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C(186), UINT8_C(162), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C(234),
UINT8_C( 0), UINT8_C( 58), UINT8_C( 0), UINT8_C(107),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 25), UINT8_C( 8), UINT8_C(120), UINT8_C( 31),
UINT8_C( 0), UINT8_C(133), UINT8_C( 0), UINT8_C( 0)) },
{ UINT64_C( 1783299355),
simde_x_mm512_set_epu8(UINT8_C(158), UINT8_C( 81), UINT8_C(244), UINT8_C( 20),
UINT8_C(204), UINT8_C( 92), UINT8_C(198), UINT8_C(205),
UINT8_C( 11), UINT8_C( 60), UINT8_C(191), UINT8_C( 47),
UINT8_C( 22), UINT8_C(151), UINT8_C(149), UINT8_C( 16),
UINT8_C(247), UINT8_C(164), UINT8_C( 21), UINT8_C( 75),
UINT8_C(153), UINT8_C(240), UINT8_C(253), UINT8_C(242),
UINT8_C(202), UINT8_C( 54), UINT8_C( 42), UINT8_C(168),
UINT8_C( 22), UINT8_C(221), UINT8_C( 17), UINT8_C(189),
UINT8_C( 39), UINT8_C(155), UINT8_C(135), UINT8_C(162),
UINT8_C(148), UINT8_C(181), UINT8_C(120), UINT8_C( 52),
UINT8_C(206), UINT8_C( 24), UINT8_C(206), UINT8_C(117),
UINT8_C(240), UINT8_C( 17), UINT8_C(210), UINT8_C(188),
UINT8_C(193), UINT8_C(112), UINT8_C( 80), UINT8_C(199),
UINT8_C(136), UINT8_C( 33), UINT8_C( 97), UINT8_C(247),
UINT8_C(161), UINT8_C( 97), UINT8_C( 42), UINT8_C(181),
UINT8_C( 25), UINT8_C( 62), UINT8_C( 47), UINT8_C( 32)),
simde_x_mm512_set_epu8(UINT8_C(249), UINT8_C(227), UINT8_C(149), UINT8_C(232),
UINT8_C( 71), UINT8_C(244), UINT8_C(128), UINT8_C( 10),
UINT8_C(194), UINT8_C(169), UINT8_C(169), UINT8_C( 87),
UINT8_C(140), UINT8_C(131), UINT8_C( 55), UINT8_C(150),
UINT8_C(104), UINT8_C(180), UINT8_C(190), UINT8_C(178),
UINT8_C( 3), UINT8_C( 92), UINT8_C(141), UINT8_C( 72),
UINT8_C( 98), UINT8_C( 81), UINT8_C(150), UINT8_C(221),
UINT8_C( 96), UINT8_C( 40), UINT8_C(142), UINT8_C( 23),
UINT8_C( 87), UINT8_C(207), UINT8_C(191), UINT8_C( 92),
UINT8_C( 77), UINT8_C(157), UINT8_C(184), UINT8_C(138),
UINT8_C(172), UINT8_C( 66), UINT8_C( 9), UINT8_C(115),
UINT8_C(240), UINT8_C(175), UINT8_C(107), UINT8_C( 49),
UINT8_C( 50), UINT8_C(243), UINT8_C( 59), UINT8_C( 91),
UINT8_C( 0), UINT8_C( 76), UINT8_C( 9), UINT8_C( 2),
UINT8_C( 15), UINT8_C( 39), UINT8_C(150), UINT8_C( 31),
UINT8_C( 12), UINT8_C(247), UINT8_C(212), UINT8_C( 40)),
simde_x_mm512_set_epu8(UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 71), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0),
UINT8_C( 0), UINT8_C( 0), UINT8_C(103), UINT8_C( 0),
UINT8_C(143), UINT8_C( 0), UINT8_C( 21), UINT8_C(108),
UINT8_C(136), UINT8_C( 0), UINT8_C( 0), UINT8_C(245),
UINT8_C( 0), UINT8_C( 0), UINT8_C( 0), UINT8_C(150),
UINT8_C( 13), UINT8_C( 0), UINT8_C( 0), UINT8_C( 0)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_maskz_subs_epu8(test_vec[i].k, test_vec[i].a, test_vec[i].b);
simde_assert_m512i_u8(r, ==, test_vec[i].r);
}
return 0;
}
static int
test_simde_mm512_subs_epu16(SIMDE_MUNIT_TEST_ARGS) {
const struct {
simde__m512i a;
simde__m512i b;
simde__m512i r;
} test_vec[8] = {
{ simde_x_mm512_set_epu16(UINT16_C( 21075), UINT16_C( 30017), UINT16_C( 53638), UINT16_C( 29710),
UINT16_C( 19457), UINT16_C( 52740), UINT16_C( 21427), UINT16_C( 28826),
UINT16_C( 25482), UINT16_C( 53693), UINT16_C( 15582), UINT16_C( 20114),
UINT16_C( 50775), UINT16_C( 49946), UINT16_C( 61394), UINT16_C( 29932),
UINT16_C( 34864), UINT16_C( 6190), UINT16_C( 26590), UINT16_C( 10803),
UINT16_C( 48982), UINT16_C( 15816), UINT16_C( 14967), UINT16_C( 24063),
UINT16_C( 50823), UINT16_C( 57442), UINT16_C( 48719), UINT16_C( 25507),
UINT16_C( 19912), UINT16_C( 45607), UINT16_C( 52932), UINT16_C( 48380)),
simde_x_mm512_set_epu16(UINT16_C( 27175), UINT16_C( 38414), UINT16_C( 58622), UINT16_C( 10212),
UINT16_C( 13894), UINT16_C( 60916), UINT16_C( 54812), UINT16_C( 62458),
UINT16_C( 29698), UINT16_C( 6009), UINT16_C( 28893), UINT16_C( 33802),
UINT16_C( 61579), UINT16_C( 6787), UINT16_C( 9325), UINT16_C( 7645),
UINT16_C( 63403), UINT16_C( 55903), UINT16_C( 43011), UINT16_C( 1124),
UINT16_C( 21781), UINT16_C( 17119), UINT16_C( 46075), UINT16_C( 33402),
UINT16_C( 58029), UINT16_C( 19092), UINT16_C( 21408), UINT16_C( 51092),
UINT16_C( 22843), UINT16_C( 28625), UINT16_C( 63214), UINT16_C( 5251)),
simde_x_mm512_set_epu16(UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 19498),
UINT16_C( 5563), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 47684), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 43159), UINT16_C( 52069), UINT16_C( 22287),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 9679),
UINT16_C( 27201), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 38350), UINT16_C( 27311), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 16982), UINT16_C( 0), UINT16_C( 43129)) },
{ simde_x_mm512_set_epu16(UINT16_C( 38028), UINT16_C( 5509), UINT16_C( 52010), UINT16_C( 16909),
UINT16_C( 2419), UINT16_C( 22142), UINT16_C( 59427), UINT16_C( 64359),
UINT16_C( 9839), UINT16_C( 6329), UINT16_C( 65297), UINT16_C( 49651),
UINT16_C( 3666), UINT16_C( 20122), UINT16_C( 63837), UINT16_C( 6503),
UINT16_C( 29169), UINT16_C( 60855), UINT16_C( 62823), UINT16_C( 40827),
UINT16_C( 7221), UINT16_C( 61818), UINT16_C( 970), UINT16_C( 49978),
UINT16_C( 54525), UINT16_C( 54749), UINT16_C( 35566), UINT16_C( 3894),
UINT16_C( 39622), UINT16_C( 46778), UINT16_C( 11824), UINT16_C( 56668)),
simde_x_mm512_set_epu16(UINT16_C( 1604), UINT16_C( 19874), UINT16_C( 53403), UINT16_C( 63570),
UINT16_C( 13041), UINT16_C( 1566), UINT16_C( 53745), UINT16_C( 62111),
UINT16_C( 7377), UINT16_C( 42156), UINT16_C( 56287), UINT16_C( 34285),
UINT16_C( 14877), UINT16_C( 24009), UINT16_C( 33220), UINT16_C( 8308),
UINT16_C( 53811), UINT16_C( 55306), UINT16_C( 1074), UINT16_C( 12341),
UINT16_C( 19989), UINT16_C( 16491), UINT16_C( 4144), UINT16_C( 53822),
UINT16_C( 19285), UINT16_C( 36338), UINT16_C( 40278), UINT16_C( 36022),
UINT16_C( 9755), UINT16_C( 36151), UINT16_C( 42425), UINT16_C( 62124)),
simde_x_mm512_set_epu16(UINT16_C( 36424), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 20576), UINT16_C( 5682), UINT16_C( 2248),
UINT16_C( 2462), UINT16_C( 0), UINT16_C( 9010), UINT16_C( 15366),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 30617), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 5549), UINT16_C( 61749), UINT16_C( 28486),
UINT16_C( 0), UINT16_C( 45327), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 35240), UINT16_C( 18411), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 29867), UINT16_C( 10627), UINT16_C( 0), UINT16_C( 0)) },
{ simde_x_mm512_set_epu16(UINT16_C( 691), UINT16_C( 60713), UINT16_C( 62283), UINT16_C( 34144),
UINT16_C( 43752), UINT16_C( 58796), UINT16_C( 9130), UINT16_C( 47263),
UINT16_C( 11275), UINT16_C( 38444), UINT16_C( 90), UINT16_C( 45403),
UINT16_C( 30523), UINT16_C( 27008), UINT16_C( 28387), UINT16_C( 17266),
UINT16_C( 55759), UINT16_C( 27096), UINT16_C( 57208), UINT16_C( 58724),
UINT16_C( 42582), UINT16_C( 61127), UINT16_C( 21734), UINT16_C( 45841),
UINT16_C( 53555), UINT16_C( 44341), UINT16_C( 18272), UINT16_C( 28327),
UINT16_C( 7123), UINT16_C( 33320), UINT16_C( 24489), UINT16_C( 49868)),
simde_x_mm512_set_epu16(UINT16_C( 44159), UINT16_C( 15856), UINT16_C( 7686), UINT16_C( 36968),
UINT16_C( 50344), UINT16_C( 55789), UINT16_C( 11300), UINT16_C( 27000),
UINT16_C( 58901), UINT16_C( 3626), UINT16_C( 12716), UINT16_C( 34965),
UINT16_C( 31697), UINT16_C( 5622), UINT16_C( 24444), UINT16_C( 57310),
UINT16_C( 57273), UINT16_C( 2890), UINT16_C( 26732), UINT16_C( 56773),
UINT16_C( 51586), UINT16_C( 27415), UINT16_C( 7653), UINT16_C( 31511),
UINT16_C( 44454), UINT16_C( 2398), UINT16_C( 23365), UINT16_C( 52633),
UINT16_C( 47315), UINT16_C( 4204), UINT16_C( 45083), UINT16_C( 15021)),
simde_x_mm512_set_epu16(UINT16_C( 0), UINT16_C( 44857), UINT16_C( 54597), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 3007), UINT16_C( 0), UINT16_C( 20263),
UINT16_C( 0), UINT16_C( 34818), UINT16_C( 0), UINT16_C( 10438),
UINT16_C( 0), UINT16_C( 21386), UINT16_C( 3943), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 24206), UINT16_C( 30476), UINT16_C( 1951),
UINT16_C( 0), UINT16_C( 33712), UINT16_C( 14081), UINT16_C( 14330),
UINT16_C( 9101), UINT16_C( 41943), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 29116), UINT16_C( 0), UINT16_C( 34847)) },
{ simde_x_mm512_set_epu16(UINT16_C( 4451), UINT16_C( 62415), UINT16_C( 11648), UINT16_C( 14185),
UINT16_C( 57037), UINT16_C( 40857), UINT16_C( 33903), UINT16_C( 19019),
UINT16_C( 26210), UINT16_C( 35593), UINT16_C( 46653), UINT16_C( 25468),
UINT16_C( 20366), UINT16_C( 4961), UINT16_C( 40068), UINT16_C( 61378),
UINT16_C( 6653), UINT16_C( 63816), UINT16_C( 35813), UINT16_C( 51292),
UINT16_C( 60619), UINT16_C( 730), UINT16_C( 44859), UINT16_C( 16986),
UINT16_C( 9316), UINT16_C( 28795), UINT16_C( 47263), UINT16_C( 36113),
UINT16_C( 41862), UINT16_C( 7963), UINT16_C( 28019), UINT16_C( 13728)),
simde_x_mm512_set_epu16(UINT16_C( 54766), UINT16_C( 29411), UINT16_C( 30463), UINT16_C( 60634),
UINT16_C( 45144), UINT16_C( 37285), UINT16_C( 11448), UINT16_C( 27155),
UINT16_C( 53867), UINT16_C( 11820), UINT16_C( 49024), UINT16_C( 10540),
UINT16_C( 17477), UINT16_C( 45777), UINT16_C( 28024), UINT16_C( 51105),
UINT16_C( 24400), UINT16_C( 57953), UINT16_C( 53407), UINT16_C( 28592),
UINT16_C( 34479), UINT16_C( 47445), UINT16_C( 19926), UINT16_C( 36275),
UINT16_C( 7501), UINT16_C( 16620), UINT16_C( 6953), UINT16_C( 3437),
UINT16_C( 5790), UINT16_C( 5348), UINT16_C( 17145), UINT16_C( 36745)),
simde_x_mm512_set_epu16(UINT16_C( 0), UINT16_C( 33004), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 11893), UINT16_C( 3572), UINT16_C( 22455), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 23773), UINT16_C( 0), UINT16_C( 14928),
UINT16_C( 2889), UINT16_C( 0), UINT16_C( 12044), UINT16_C( 10273),
UINT16_C( 0), UINT16_C( 5863), UINT16_C( 0), UINT16_C( 22700),
UINT16_C( 26140), UINT16_C( 0), UINT16_C( 24933), UINT16_C( 0),
UINT16_C( 1815), UINT16_C( 12175), UINT16_C( 40310), UINT16_C( 32676),
UINT16_C( 36072), UINT16_C( 2615), UINT16_C( 10874), UINT16_C( 0)) },
{ simde_x_mm512_set_epu16(UINT16_C( 33975), UINT16_C( 18949), UINT16_C( 63249), UINT16_C( 45002),
UINT16_C( 64479), UINT16_C( 62490), UINT16_C( 22138), UINT16_C( 54505),
UINT16_C( 43), UINT16_C( 59270), UINT16_C( 45446), UINT16_C( 43143),
UINT16_C( 39490), UINT16_C( 41833), UINT16_C( 28092), UINT16_C( 6346),
UINT16_C( 10308), UINT16_C( 572), UINT16_C( 5), UINT16_C( 15306),
UINT16_C( 46107), UINT16_C( 59725), UINT16_C( 38116), UINT16_C( 36408),
UINT16_C( 51860), UINT16_C( 61863), UINT16_C( 39379), UINT16_C( 19197),
UINT16_C( 37943), UINT16_C( 45506), UINT16_C( 3690), UINT16_C( 61686)),
simde_x_mm512_set_epu16(UINT16_C( 53628), UINT16_C( 14774), UINT16_C( 5244), UINT16_C( 18107),
UINT16_C( 49140), UINT16_C( 31910), UINT16_C( 36671), UINT16_C( 45498),
UINT16_C( 46302), UINT16_C( 50428), UINT16_C( 55100), UINT16_C( 19911),
UINT16_C( 3330), UINT16_C( 28633), UINT16_C( 10550), UINT16_C( 56178),
UINT16_C( 23697), UINT16_C( 19726), UINT16_C( 39129), UINT16_C( 46658),
UINT16_C( 4326), UINT16_C( 42894), UINT16_C( 48134), UINT16_C( 16035),
UINT16_C( 14223), UINT16_C( 50376), UINT16_C( 56066), UINT16_C( 61784),
UINT16_C( 6710), UINT16_C( 21116), UINT16_C( 55957), UINT16_C( 10253)),
simde_x_mm512_set_epu16(UINT16_C( 0), UINT16_C( 4175), UINT16_C( 58005), UINT16_C( 26895),
UINT16_C( 15339), UINT16_C( 30580), UINT16_C( 0), UINT16_C( 9007),
UINT16_C( 0), UINT16_C( 8842), UINT16_C( 0), UINT16_C( 23232),
UINT16_C( 36160), UINT16_C( 13200), UINT16_C( 17542), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 41781), UINT16_C( 16831), UINT16_C( 0), UINT16_C( 20373),
UINT16_C( 37637), UINT16_C( 11487), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 31233), UINT16_C( 24390), UINT16_C( 0), UINT16_C( 51433)) },
{ simde_x_mm512_set_epu16(UINT16_C( 1468), UINT16_C( 61147), UINT16_C( 1296), UINT16_C( 37821),
UINT16_C( 49916), UINT16_C( 3731), UINT16_C( 58247), UINT16_C( 37833),
UINT16_C( 474), UINT16_C( 27447), UINT16_C( 56500), UINT16_C( 9176),
UINT16_C( 2726), UINT16_C( 53392), UINT16_C( 63435), UINT16_C( 26907),
UINT16_C( 40836), UINT16_C( 1244), UINT16_C( 61609), UINT16_C( 42904),
UINT16_C( 58011), UINT16_C( 17743), UINT16_C( 15263), UINT16_C( 61713),
UINT16_C( 27307), UINT16_C( 32391), UINT16_C( 42266), UINT16_C( 36235),
UINT16_C( 23369), UINT16_C( 50245), UINT16_C( 59696), UINT16_C( 18168)),
simde_x_mm512_set_epu16(UINT16_C( 23449), UINT16_C( 17725), UINT16_C( 44617), UINT16_C( 31466),
UINT16_C( 31308), UINT16_C( 63353), UINT16_C( 34185), UINT16_C( 33150),
UINT16_C( 26890), UINT16_C( 34945), UINT16_C( 52751), UINT16_C( 41898),
UINT16_C( 33581), UINT16_C( 55689), UINT16_C( 19108), UINT16_C( 45621),
UINT16_C( 4587), UINT16_C( 27034), UINT16_C( 65517), UINT16_C( 28332),
UINT16_C( 41747), UINT16_C( 40576), UINT16_C( 59697), UINT16_C( 25722),
UINT16_C( 41113), UINT16_C( 15592), UINT16_C( 6092), UINT16_C( 56264),
UINT16_C( 52740), UINT16_C( 47873), UINT16_C( 59382), UINT16_C( 23859)),
simde_x_mm512_set_epu16(UINT16_C( 0), UINT16_C( 43422), UINT16_C( 0), UINT16_C( 6355),
UINT16_C( 18608), UINT16_C( 0), UINT16_C( 24062), UINT16_C( 4683),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 3749), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 44327), UINT16_C( 0),
UINT16_C( 36249), UINT16_C( 0), UINT16_C( 0), UINT16_C( 14572),
UINT16_C( 16264), UINT16_C( 0), UINT16_C( 0), UINT16_C( 35991),
UINT16_C( 0), UINT16_C( 16799), UINT16_C( 36174), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 2372), UINT16_C( 314), UINT16_C( 0)) },
{ simde_x_mm512_set_epu16(UINT16_C( 42795), UINT16_C( 13394), UINT16_C( 56119), UINT16_C( 28906),
UINT16_C( 46556), UINT16_C( 57073), UINT16_C( 9174), UINT16_C( 39931),
UINT16_C( 547), UINT16_C( 3767), UINT16_C( 52959), UINT16_C( 48990),
UINT16_C( 64235), UINT16_C( 58389), UINT16_C( 26281), UINT16_C( 29309),
UINT16_C( 29052), UINT16_C( 34694), UINT16_C( 5995), UINT16_C( 6270),
UINT16_C( 20539), UINT16_C( 10179), UINT16_C( 38688), UINT16_C( 14327),
UINT16_C( 15491), UINT16_C( 18652), UINT16_C( 19903), UINT16_C( 30123),
UINT16_C( 25261), UINT16_C( 48076), UINT16_C( 10742), UINT16_C( 60984)),
simde_x_mm512_set_epu16(UINT16_C( 5754), UINT16_C( 42498), UINT16_C( 48947), UINT16_C( 41678),
UINT16_C( 61715), UINT16_C( 60738), UINT16_C( 30602), UINT16_C( 37004),
UINT16_C( 11508), UINT16_C( 7979), UINT16_C( 61659), UINT16_C( 59616),
UINT16_C( 41386), UINT16_C( 41040), UINT16_C( 17421), UINT16_C( 63555),
UINT16_C( 27523), UINT16_C( 26800), UINT16_C( 25010), UINT16_C( 27339),
UINT16_C( 56486), UINT16_C( 19128), UINT16_C( 15279), UINT16_C( 63719),
UINT16_C( 51613), UINT16_C( 5129), UINT16_C( 42918), UINT16_C( 27704),
UINT16_C( 60753), UINT16_C( 31238), UINT16_C( 35194), UINT16_C( 56682)),
simde_x_mm512_set_epu16(UINT16_C( 37041), UINT16_C( 0), UINT16_C( 7172), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 2927),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 22849), UINT16_C( 17349), UINT16_C( 8860), UINT16_C( 0),
UINT16_C( 1529), UINT16_C( 7894), UINT16_C( 0), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 23409), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 13523), UINT16_C( 0), UINT16_C( 2419),
UINT16_C( 0), UINT16_C( 16838), UINT16_C( 0), UINT16_C( 4302)) },
{ simde_x_mm512_set_epu16(UINT16_C( 27021), UINT16_C( 31131), UINT16_C( 63), UINT16_C( 55006),
UINT16_C( 64465), UINT16_C( 34252), UINT16_C( 43748), UINT16_C( 49428),
UINT16_C( 50369), UINT16_C( 25422), UINT16_C( 14520), UINT16_C( 51640),
UINT16_C( 20399), UINT16_C( 31915), UINT16_C( 49018), UINT16_C( 59334),
UINT16_C( 49204), UINT16_C( 62465), UINT16_C( 49892), UINT16_C( 58520),
UINT16_C( 13977), UINT16_C( 51690), UINT16_C( 42246), UINT16_C( 63457),
UINT16_C( 4753), UINT16_C( 14919), UINT16_C( 47008), UINT16_C( 7420),
UINT16_C( 12098), UINT16_C( 31014), UINT16_C( 17813), UINT16_C( 51080)),
simde_x_mm512_set_epu16(UINT16_C( 53007), UINT16_C( 61893), UINT16_C( 36710), UINT16_C( 53426),
UINT16_C( 8030), UINT16_C( 20316), UINT16_C( 27324), UINT16_C( 24735),
UINT16_C( 58762), UINT16_C( 62832), UINT16_C( 33606), UINT16_C( 6874),
UINT16_C( 61584), UINT16_C( 2658), UINT16_C( 64632), UINT16_C( 57217),
UINT16_C( 49112), UINT16_C( 22778), UINT16_C( 18985), UINT16_C( 10063),
UINT16_C( 33785), UINT16_C( 16016), UINT16_C( 35319), UINT16_C( 18364),
UINT16_C( 45360), UINT16_C( 60575), UINT16_C( 35960), UINT16_C( 48902),
UINT16_C( 57525), UINT16_C( 38426), UINT16_C( 41010), UINT16_C( 54032)),
simde_x_mm512_set_epu16(UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 1580),
UINT16_C( 56435), UINT16_C( 13936), UINT16_C( 16424), UINT16_C( 24693),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 44766),
UINT16_C( 0), UINT16_C( 29257), UINT16_C( 0), UINT16_C( 2117),
UINT16_C( 92), UINT16_C( 39687), UINT16_C( 30907), UINT16_C( 48457),
UINT16_C( 0), UINT16_C( 35674), UINT16_C( 6927), UINT16_C( 45093),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 11048), UINT16_C( 0),
UINT16_C( 0), UINT16_C( 0), UINT16_C( 0), UINT16_C( 0)) }
};
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
simde__m512i r = simde_mm512_subs_epu16(test_vec[i].a, test_vec[i].b);
simde_assert_m512i_u16(r, ==, test_vec[i].r);
}
return 0;
}
SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_subs_epi8)
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_subs_epi8)
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_subs_epi8)
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_subs_epi16)
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_subs_epu8)
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_mask_subs_epu8)
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_maskz_subs_epu8)
SIMDE_TEST_FUNC_LIST_ENTRY(mm512_subs_epu16)
SIMDE_TEST_FUNC_LIST_END
#include <test/x86/avx512/test-avx512-footer.h>