Skip to content

Commit 7f2dbef

Browse files
authored
x86/avx512: add _mm256_{mask_abs_epi8,insertf{64x2,32x4}} (#1359)
1 parent 721c1d1 commit 7f2dbef

File tree

4 files changed

+326
-0
lines changed

4 files changed

+326
-0
lines changed

simde/x86/avx512/abs.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,20 @@ simde_mm_maskz_abs_epi64(simde__mmask8 k, simde__m128i a) {
189189
#define _mm_maskz_abs_epi64(k, a) simde_mm_maskz_abs_epi64(k, a)
190190
#endif
191191

192+
SIMDE_FUNCTION_ATTRIBUTES
193+
simde__m256i
194+
simde_mm256_mask_abs_epi8(simde__m256i src, simde__mmask32 k, simde__m256i a) {
195+
#if defined(SIMDE_X86_AVX512BW_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
196+
return _mm256_mask_abs_epi8(src, k, a);
197+
#else
198+
return simde_mm256_mask_mov_epi8(src, k, simde_mm256_abs_epi8(a));
199+
#endif
200+
}
201+
#if defined(SIMDE_X86_AVX512BW_ENABLE_NATIVE_ALIASES) && defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
202+
#undef _mm256_mask_abs_epi8
203+
#define _mm256_mask_abs_epi8(src, k, a) simde_mm256_mask_abs_epi8(src, k, a)
204+
#endif
205+
192206
SIMDE_FUNCTION_ATTRIBUTES
193207
simde__m256i
194208
simde_mm256_abs_epi64(simde__m256i a) {

simde/x86/avx512/insert.h

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,49 @@ HEDLEY_DIAGNOSTIC_PUSH
3636
SIMDE_DISABLE_UNWANTED_DIAGNOSTICS
3737
SIMDE_BEGIN_DECLS_
3838

39+
SIMDE_FUNCTION_ATTRIBUTES
40+
simde__m256d
41+
simde_mm256_insertf64x2 (simde__m256d a, simde__m128d b, int imm8)
42+
SIMDE_REQUIRE_CONSTANT_RANGE(imm8, 0, 1) {
43+
#if defined(SIMDE_X86_AVX512DQ_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
44+
simde__m256d r;
45+
switch(imm8) {
46+
case 0: r = _mm256_insertf64x2(a, b, 0); break;
47+
case 1: r = _mm256_insertf64x2(a, b, 1); break;
48+
default: HEDLEY_UNREACHABLE(); r = simde_mm256_setzero_pd(); break;
49+
}
50+
return r;
51+
#else
52+
simde__m256d_private a_ = simde__m256d_to_private(a);
53+
54+
a_.m128d[imm8 & 1] = b;
55+
56+
return simde__m256d_from_private(a_);
57+
#endif
58+
}
59+
#if defined(SIMDE_X86_AVX512DQ_ENABLE_NATIVE_ALIASES) && defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
60+
#undef _mm256_insertf64x2
61+
#define _mm256_insertf64x2(a, b, imm8) simde_mm256_insertf64x2(a, b, imm8)
62+
#endif
63+
64+
SIMDE_FUNCTION_ATTRIBUTES
65+
simde__m256i
66+
simde_mm256_inserti32x4 (simde__m256i a, simde__m128i b, int imm8)
67+
SIMDE_REQUIRE_CONSTANT_RANGE(imm8, 0, 1) {
68+
simde__m256i_private a_ = simde__m256i_to_private(a);
69+
70+
a_.m128i[imm8 & 1] = b;
71+
72+
return simde__m256i_from_private(a_);
73+
}
74+
#if defined(SIMDE_X86_AVX512F_NATIVE) && defined(SIMDE_X86_AVX512VL_NATIVE)
75+
#define simde_mm256_inserti32x4(a, b, imm8) _mm256_inserti32x4(a, b, imm8)
76+
#endif
77+
#if defined(SIMDE_X86_AVX512F_ENABLE_NATIVE_ALIASES) && defined(SIMDE_X86_AVX512VL_ENABLE_NATIVE_ALIASES)
78+
#undef _mm256_inserti32x4
79+
#define _mm256_inserti32x4(a, b, imm8) simde_mm256_inserti32x4(a, b, imm8)
80+
#endif
81+
3982
SIMDE_FUNCTION_ATTRIBUTES
4083
simde__m512
4184
simde_mm512_insertf32x4 (simde__m512 a, simde__m128 b, int imm8)

test/x86/avx512/abs.c

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,128 @@ test_simde_mm_maskz_abs_epi64 (SIMDE_MUNIT_TEST_ARGS) {
480480
return 0;
481481
}
482482

483+
static int
484+
test_simde_mm256_mask_abs_epi8(SIMDE_MUNIT_TEST_ARGS) {
485+
const struct {
486+
int8_t src[32];
487+
simde__mmask32 k;
488+
int8_t a[32];
489+
int8_t r[32];
490+
} test_vec[8] = {
491+
{ { -INT8_C( 44), -INT8_C( 49), -INT8_C( 96), INT8_C( 9), INT8_C( 106), INT8_C( 118), INT8_C( 54), INT8_C( 27),
492+
-INT8_C( 20), INT8_C( 74), INT8_C( 118), INT8_C( 84), -INT8_C( 84), INT8_C( 115), INT8_C( 59), INT8_C( 122),
493+
-INT8_C( 33), -INT8_C( 24), INT8_C( 77), INT8_C( 23), -INT8_C( 75), INT8_C( 16), -INT8_C( 26), INT8_C( 5),
494+
-INT8_C( 26), INT8_C( 48), -INT8_C( 84), -INT8_C( 29), INT8_C( 91), -INT8_C( 1), -INT8_C( 105), INT8_C( 48) },
495+
UINT32_C( 943273934),
496+
{ -INT8_C( 83), INT8_C( 111), INT8_C( 84), -INT8_C( 102), -INT8_C( 70), -INT8_C( 54), -INT8_C( 18), INT8_C( 102),
497+
INT8_C( 61), INT8_C( 41), -INT8_C( 32), INT8_C( 29), INT8_C( 17), INT8_C( 46), INT8_C( 52), -INT8_C( 57),
498+
INT8_C( 62), INT8_C( 26), -INT8_C( 52), INT8_C( 36), INT8_C( 74), INT8_C( 120), INT8_C( 8), -INT8_C( 90),
499+
INT8_C( 119), -INT8_C( 97), -INT8_C( 42), INT8_C( 69), -INT8_C( 42), INT8_C( 15), INT8_C( 126), -INT8_C( 125) },
500+
{ -INT8_C( 44), INT8_C( 111), INT8_C( 84), INT8_C( 102), INT8_C( 106), INT8_C( 118), INT8_C( 18), INT8_C( 102),
501+
INT8_C( 61), INT8_C( 41), INT8_C( 32), INT8_C( 84), INT8_C( 17), INT8_C( 46), INT8_C( 59), INT8_C( 122),
502+
INT8_C( 62), -INT8_C( 24), INT8_C( 77), INT8_C( 36), INT8_C( 74), INT8_C( 120), -INT8_C( 26), INT8_C( 5),
503+
-INT8_C( 26), INT8_C( 48), -INT8_C( 84), INT8_C( 69), INT8_C( 42), INT8_C( 15), -INT8_C( 105), INT8_C( 48) } },
504+
{ { INT8_MAX, -INT8_C( 46), INT8_C( 29), INT8_C( 57), -INT8_C( 100), INT8_C( 11), -INT8_C( 97), -INT8_C( 38),
505+
INT8_C( 52), INT8_MAX, -INT8_C( 9), INT8_C( 70), -INT8_C( 83), INT8_C( 43), INT8_C( 13), -INT8_C( 20),
506+
INT8_C( 69), -INT8_C( 39), INT8_C( 16), -INT8_C( 112), INT8_C( 81), INT8_C( 24), INT8_C( 54), -INT8_C( 56),
507+
-INT8_C( 73), INT8_C( 12), INT8_C( 13), -INT8_C( 115), INT8_C( 27), -INT8_C( 117), INT8_C( 17), -INT8_C( 102) },
508+
UINT32_C(4208143965),
509+
{ INT8_C( 58), INT8_C( 114), -INT8_C( 44), INT8_C( 110), -INT8_C( 14), -INT8_C( 53), -INT8_C( 76), -INT8_C( 97),
510+
-INT8_C( 10), -INT8_C( 63), -INT8_C( 117), INT8_C( 59), -INT8_C( 102), -INT8_C( 100), -INT8_C( 53), -INT8_C( 21),
511+
-INT8_C( 76), INT8_C( 1), -INT8_C( 77), INT8_C( 108), INT8_C( 13), -INT8_C( 63), -INT8_C( 7), INT8_C( 41),
512+
INT8_C( 76), INT8_C( 10), -INT8_C( 61), -INT8_C( 86), INT8_C( 57), -INT8_C( 105), -INT8_C( 92), INT8_C( 115) },
513+
{ INT8_C( 58), -INT8_C( 46), INT8_C( 44), INT8_C( 110), INT8_C( 14), INT8_C( 11), INT8_C( 76), -INT8_C( 38),
514+
INT8_C( 52), INT8_C( 63), INT8_C( 117), INT8_C( 59), -INT8_C( 83), INT8_C( 100), INT8_C( 13), -INT8_C( 20),
515+
INT8_C( 76), INT8_C( 1), INT8_C( 16), -INT8_C( 112), INT8_C( 13), INT8_C( 24), INT8_C( 7), INT8_C( 41),
516+
-INT8_C( 73), INT8_C( 10), INT8_C( 13), INT8_C( 86), INT8_C( 57), INT8_C( 105), INT8_C( 92), INT8_C( 115) } },
517+
{ { INT8_C( 9), INT8_C( 120), -INT8_C( 31), -INT8_C( 5), INT8_C( 67), -INT8_C( 106), -INT8_C( 101), INT8_C( 57),
518+
INT8_C( 87), INT8_C( 38), INT8_C( 116), -INT8_C( 14), -INT8_C( 62), INT8_C( 64), -INT8_C( 35), INT8_C( 119),
519+
INT8_C( 65), -INT8_C( 111), -INT8_C( 29), INT8_C( 79), INT8_C( 82), -INT8_C( 36), INT8_C( 120), -INT8_C( 98),
520+
-INT8_C( 25), INT8_C( 59), INT8_C( 72), INT8_C( 32), -INT8_C( 46), -INT8_C( 20), -INT8_C( 109), -INT8_C( 36) },
521+
UINT32_C(2815915108),
522+
{ INT8_C( 10), INT8_C( 114), -INT8_C( 32), INT8_C( 98), -INT8_C( 103), INT8_C( 85), INT8_C( 84), INT8_C( 91),
523+
-INT8_C( 107), INT8_C( 49), -INT8_C( 46), -INT8_C( 42), -INT8_C( 62), -INT8_C( 75), INT8_C( 37), INT8_C( 20),
524+
-INT8_C( 110), -INT8_C( 99), -INT8_C( 77), INT8_C( 121), -INT8_C( 39), -INT8_C( 5), -INT8_C( 103), -INT8_C( 85),
525+
-INT8_C( 24), INT8_C( 44), -INT8_C( 121), INT8_C( 76), -INT8_C( 96), INT8_C( 95), -INT8_C( 12), -INT8_C( 85) },
526+
{ INT8_C( 9), INT8_C( 120), INT8_C( 32), -INT8_C( 5), INT8_C( 67), INT8_C( 85), INT8_C( 84), INT8_C( 57),
527+
INT8_C( 87), INT8_C( 38), INT8_C( 46), -INT8_C( 14), INT8_C( 62), INT8_C( 75), INT8_C( 37), INT8_C( 119),
528+
INT8_C( 110), INT8_C( 99), INT8_C( 77), INT8_C( 79), INT8_C( 39), -INT8_C( 36), INT8_C( 103), INT8_C( 85),
529+
INT8_C( 24), INT8_C( 44), INT8_C( 121), INT8_C( 32), -INT8_C( 46), INT8_C( 95), -INT8_C( 109), INT8_C( 85) } },
530+
{ { -INT8_C( 47), -INT8_C( 44), INT8_C( 13), INT8_C( 106), INT8_C( 41), INT8_C( 97), -INT8_C( 58), -INT8_C( 66),
531+
-INT8_C( 110), -INT8_C( 104), -INT8_C( 107), INT8_C( 85), INT8_C( 78), -INT8_C( 70), INT8_C( 105), -INT8_C( 32),
532+
INT8_C( 88), INT8_C( 28), INT8_C( 89), INT8_C( 49), INT8_C( 24), -INT8_C( 14), -INT8_C( 36), INT8_C( 0),
533+
INT8_C( 30), INT8_C( 100), INT8_C( 76), -INT8_C( 66), -INT8_C( 61), INT8_C( 64), INT8_C( 105), -INT8_C( 108) },
534+
UINT32_C(1056929301),
535+
{ -INT8_C( 41), -INT8_C( 59), -INT8_C( 3), INT8_C( 106), INT8_C( 93), -INT8_C( 110), -INT8_C( 65), -INT8_C( 85),
536+
INT8_C( 76), INT8_C( 40), -INT8_C( 117), -INT8_C( 92), INT8_C( 69), -INT8_C( 28), -INT8_C( 43), INT8_C( 93),
537+
-INT8_C( 42), -INT8_C( 78), INT8_C( 93), -INT8_C( 12), INT8_C( 22), -INT8_C( 87), -INT8_C( 77), -INT8_C( 39),
538+
-INT8_C( 22), INT8_C( 28), INT8_C( 109), -INT8_C( 1), -INT8_C( 109), INT8_C( 108), INT8_C( 61), INT8_C( 106) },
539+
{ INT8_C( 41), -INT8_C( 44), INT8_C( 3), INT8_C( 106), INT8_C( 93), INT8_C( 97), -INT8_C( 58), -INT8_C( 66),
540+
-INT8_C( 110), INT8_C( 40), INT8_C( 117), INT8_C( 85), INT8_C( 69), INT8_C( 28), INT8_C( 43), -INT8_C( 32),
541+
INT8_C( 42), INT8_C( 78), INT8_C( 93), INT8_C( 12), INT8_C( 22), INT8_C( 87), INT8_C( 77), INT8_C( 39),
542+
INT8_C( 30), INT8_C( 28), INT8_C( 109), INT8_C( 1), INT8_C( 109), INT8_C( 108), INT8_C( 105), -INT8_C( 108) } },
543+
{ { INT8_C( 49), INT8_C( 58), -INT8_C( 44), -INT8_C( 113), -INT8_C( 52), -INT8_C( 109), INT8_C( 58), INT8_C( 25),
544+
-INT8_C( 68), -INT8_C( 58), -INT8_C( 67), INT8_C( 1), -INT8_C( 86), -INT8_C( 109), INT8_C( 94), -INT8_C( 127),
545+
INT8_C( 69), -INT8_C( 69), INT8_C( 117), INT8_C( 91), INT8_C( 100), INT8_C( 40), INT8_C( 52), INT8_C( 78),
546+
INT8_C( 69), -INT8_C( 95), INT8_C( 77), -INT8_C( 40), INT8_C( 14), -INT8_C( 117), INT8_C( 66), INT8_C( 63) },
547+
UINT32_C(2462980037),
548+
{ -INT8_C( 86), INT8_C( 9), -INT8_C( 85), INT8_C( 102), -INT8_C( 49), INT8_C( 104), INT8_C( 103), INT8_C( 121),
549+
-INT8_C( 5), -INT8_C( 59), -INT8_C( 6), INT8_C( 64), INT8_MIN, INT8_C( 112), -INT8_C( 101), -INT8_C( 27),
550+
-INT8_C( 104), -INT8_C( 49), INT8_C( 51), -INT8_C( 35), INT8_C( 113), -INT8_C( 127), -INT8_C( 75), INT8_MAX,
551+
INT8_C( 12), -INT8_C( 8), -INT8_C( 66), -INT8_C( 47), INT8_C( 15), -INT8_C( 115), INT8_C( 99), -INT8_C( 71) },
552+
{ INT8_C( 86), INT8_C( 58), INT8_C( 85), -INT8_C( 113), -INT8_C( 52), -INT8_C( 109), INT8_C( 103), INT8_C( 121),
553+
INT8_C( 5), INT8_C( 59), INT8_C( 6), INT8_C( 1), INT8_MIN, -INT8_C( 109), INT8_C( 94), -INT8_C( 127),
554+
INT8_C( 69), INT8_C( 49), INT8_C( 51), INT8_C( 35), INT8_C( 100), INT8_C( 40), INT8_C( 75), INT8_MAX,
555+
INT8_C( 69), INT8_C( 8), INT8_C( 77), -INT8_C( 40), INT8_C( 15), -INT8_C( 117), INT8_C( 66), INT8_C( 71) } },
556+
{ { -INT8_C( 106), INT8_C( 14), INT8_C( 32), INT8_C( 101), INT8_C( 119), -INT8_C( 121), -INT8_C( 34), INT8_C( 114),
557+
INT8_C( 77), -INT8_C( 39), -INT8_C( 77), -INT8_C( 51), INT8_C( 73), INT8_C( 78), -INT8_C( 78), -INT8_C( 31),
558+
INT8_C( 30), -INT8_C( 26), -INT8_C( 65), -INT8_C( 113), INT8_C( 103), INT8_C( 116), INT8_C( 14), INT8_C( 115),
559+
INT8_C( 108), -INT8_C( 52), INT8_C( 68), INT8_C( 123), INT8_C( 89), -INT8_C( 88), INT8_C( 53), -INT8_C( 17) },
560+
UINT32_C( 760501686),
561+
{ -INT8_C( 36), INT8_C( 51), -INT8_C( 96), INT8_C( 41), INT8_C( 12), INT8_C( 83), -INT8_C( 9), INT8_C( 85),
562+
-INT8_C( 95), -INT8_C( 87), INT8_C( 54), -INT8_C( 65), -INT8_C( 113), -INT8_C( 11), INT8_C( 78), -INT8_C( 10),
563+
INT8_C( 106), INT8_C( 92), INT8_C( 105), -INT8_C( 42), INT8_C( 41), -INT8_C( 82), INT8_C( 82), -INT8_C( 126),
564+
INT8_C( 86), -INT8_C( 121), INT8_C( 114), INT8_C( 12), -INT8_C( 36), -INT8_C( 58), INT8_C( 58), -INT8_C( 72) },
565+
{ -INT8_C( 106), INT8_C( 51), INT8_C( 96), INT8_C( 101), INT8_C( 12), INT8_C( 83), -INT8_C( 34), INT8_C( 85),
566+
INT8_C( 95), -INT8_C( 39), INT8_C( 54), -INT8_C( 51), INT8_C( 113), INT8_C( 78), INT8_C( 78), -INT8_C( 31),
567+
INT8_C( 30), -INT8_C( 26), INT8_C( 105), -INT8_C( 113), INT8_C( 41), INT8_C( 116), INT8_C( 82), INT8_C( 115),
568+
INT8_C( 86), -INT8_C( 52), INT8_C( 114), INT8_C( 12), INT8_C( 89), INT8_C( 58), INT8_C( 53), -INT8_C( 17) } },
569+
{ { -INT8_C( 7), -INT8_C( 38), -INT8_C( 30), INT8_C( 5), INT8_C( 45), -INT8_C( 39), INT8_C( 90), -INT8_C( 50),
570+
-INT8_C( 126), -INT8_C( 111), -INT8_C( 114), INT8_C( 18), -INT8_C( 122), -INT8_C( 36), INT8_C( 8), -INT8_C( 16),
571+
INT8_C( 57), INT8_C( 114), -INT8_C( 57), INT8_C( 98), INT8_C( 32), INT8_C( 25), -INT8_C( 28), INT8_C( 118),
572+
-INT8_C( 96), INT8_C( 86), -INT8_C( 126), INT8_C( 124), INT8_C( 29), -INT8_C( 68), INT8_C( 52), INT8_C( 22) },
573+
UINT32_C(3273397910),
574+
{ -INT8_C( 17), INT8_C( 118), -INT8_C( 110), INT8_C( 114), INT8_C( 7), INT8_C( 32), -INT8_C( 124), -INT8_C( 114),
575+
-INT8_C( 4), -INT8_C( 116), INT8_C( 126), INT8_C( 53), -INT8_C( 2), INT8_C( 69), -INT8_C( 105), INT8_C( 30),
576+
INT8_C( 94), INT8_C( 124), -INT8_C( 108), -INT8_C( 2), -INT8_C( 46), INT8_C( 23), INT8_C( 122), -INT8_C( 17),
577+
-INT8_C( 45), -INT8_C( 81), INT8_C( 6), INT8_C( 106), -INT8_C( 59), INT8_C( 34), INT8_C( 45), -INT8_C( 75) },
578+
{ -INT8_C( 7), INT8_C( 118), INT8_C( 110), INT8_C( 5), INT8_C( 7), -INT8_C( 39), INT8_C( 90), INT8_C( 114),
579+
-INT8_C( 126), INT8_C( 116), INT8_C( 126), INT8_C( 18), INT8_C( 2), -INT8_C( 36), INT8_C( 8), -INT8_C( 16),
580+
INT8_C( 57), INT8_C( 114), INT8_C( 108), INT8_C( 2), INT8_C( 46), INT8_C( 25), -INT8_C( 28), INT8_C( 118),
581+
INT8_C( 45), INT8_C( 81), -INT8_C( 126), INT8_C( 124), INT8_C( 29), -INT8_C( 68), INT8_C( 45), INT8_C( 75) } },
582+
{ { INT8_C( 54), INT8_C( 41), INT8_C( 39), INT8_C( 46), -INT8_C( 16), -INT8_C( 71), -INT8_C( 115), -INT8_C( 35),
583+
INT8_C( 62), -INT8_C( 120), INT8_C( 23), -INT8_C( 85), INT8_C( 97), -INT8_C( 43), -INT8_C( 52), INT8_C( 76),
584+
-INT8_C( 34), INT8_C( 26), INT8_C( 33), INT8_C( 87), -INT8_C( 110), -INT8_C( 122), -INT8_C( 107), INT8_C( 35),
585+
-INT8_C( 4), INT8_C( 67), -INT8_C( 40), INT8_C( 72), -INT8_C( 44), -INT8_C( 56), -INT8_C( 104), INT8_C( 10) },
586+
UINT32_C(3795435506),
587+
{ INT8_C( 121), -INT8_C( 58), -INT8_C( 65), -INT8_C( 73), INT8_C( 78), -INT8_C( 42), INT8_C( 99), -INT8_C( 81),
588+
-INT8_C( 85), INT8_C( 47), -INT8_C( 4), -INT8_C( 119), INT8_C( 73), INT8_C( 29), -INT8_C( 31), -INT8_C( 36),
589+
-INT8_C( 93), INT8_C( 118), -INT8_C( 1), -INT8_C( 96), -INT8_C( 71), -INT8_C( 40), -INT8_C( 24), -INT8_C( 114),
590+
-INT8_C( 96), INT8_MIN, -INT8_C( 104), -INT8_C( 110), INT8_C( 64), -INT8_C( 47), INT8_C( 116), -INT8_C( 71) },
591+
{ INT8_C( 54), INT8_C( 58), INT8_C( 39), INT8_C( 46), INT8_C( 78), INT8_C( 42), INT8_C( 99), INT8_C( 81),
592+
INT8_C( 85), INT8_C( 47), INT8_C( 4), INT8_C( 119), INT8_C( 73), INT8_C( 29), -INT8_C( 52), INT8_C( 36),
593+
INT8_C( 93), INT8_C( 26), INT8_C( 33), INT8_C( 96), INT8_C( 71), INT8_C( 40), -INT8_C( 107), INT8_C( 35),
594+
-INT8_C( 4), INT8_MIN, -INT8_C( 40), INT8_C( 72), -INT8_C( 44), INT8_C( 47), INT8_C( 116), INT8_C( 71) } },
595+
};
596+
597+
for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])); i++) {
598+
simde__m256i r = simde_mm256_mask_abs_epi8(simde_mm256_loadu_epi8(test_vec[i].src), test_vec[i].k, simde_mm256_loadu_epi8(test_vec[i].a));
599+
simde_test_x86_assert_equal_i8x32(r, simde_mm256_loadu_epi8(test_vec[i].r));
600+
}
601+
602+
return 0;
603+
}
604+
483605
static int
484606
test_simde_mm256_abs_epi64(SIMDE_MUNIT_TEST_ARGS) {
485607
const struct {
@@ -2976,6 +3098,7 @@ SIMDE_TEST_FUNC_LIST_BEGIN
29763098
SIMDE_TEST_FUNC_LIST_ENTRY(mm_abs_epi64)
29773099
SIMDE_TEST_FUNC_LIST_ENTRY(mm_mask_abs_epi64)
29783100
SIMDE_TEST_FUNC_LIST_ENTRY(mm_maskz_abs_epi64)
3101+
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_mask_abs_epi8)
29793102
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_abs_epi64)
29803103
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_mask_abs_epi64)
29813104
SIMDE_TEST_FUNC_LIST_ENTRY(mm256_maskz_abs_epi64)

0 commit comments

Comments
 (0)