@@ -519,6 +519,40 @@ __m512i test_mm512_maskz_alignr_epi64( __mmask8 u, __m512i a, __m512i b)
519519 return _mm512_maskz_alignr_epi64(u, a, b, 2);
520520}
521521
522+ TEST_CONSTEXPR(match_v16si(_mm512_alignr_epi32(((__m512i)(__v16si){100, 200, 300, 400, 500, 600, 700, 800,
523+ 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600}),
524+ ((__m512i)(__v16si){0, 1, 2, 3, 4, 5, 6, 7,
525+ 8, 9, 10, 11, 12, 13, 14, 15}), 19),
526+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 100, 200, 300));
527+ TEST_CONSTEXPR(match_v16si(_mm512_mask_alignr_epi32(((__m512i)(__v16si){1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000,
528+ 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000}),
529+ 0xA5A5,
530+ ((__m512i)(__v16si){100, 200, 300, 400, 500, 600, 700, 800,
531+ 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600}),
532+ ((__m512i)(__v16si){0, 1, 2, 3, 4, 5, 6, 7,
533+ 8, 9, 10, 11, 12, 13, 14, 15}), 19),
534+ 3, 2000, 5, 4000, 5000, 8, 7000, 10,
535+ 11, 10000, 13, 12000, 13000, 100, 15000, 300));
536+ TEST_CONSTEXPR(match_v16si(_mm512_maskz_alignr_epi32(0x0F0F,
537+ ((__m512i)(__v16si){100, 200, 300, 400, 500, 600, 700, 800,
538+ 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600}),
539+ ((__m512i)(__v16si){0, 1, 2, 3, 4, 5, 6, 7,
540+ 8, 9, 10, 11, 12, 13, 14, 15}), 19),
541+ 3, 4, 5, 6, 0, 0, 0, 0, 11, 12, 13, 14, 0, 0, 0, 0));
542+
543+ TEST_CONSTEXPR(match_v8di(_mm512_alignr_epi64(((__m512i)(__v8di){10, 11, 12, 13, 14, 15, 16, 17}),
544+ ((__m512i)(__v8di){1, 2, 3, 4, 5, 6, 7, 8}), 11),
545+ 4, 5, 6, 7, 8, 10, 11, 12));
546+ TEST_CONSTEXPR(match_v8di(_mm512_mask_alignr_epi64(((__m512i)(__v8di){1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000}),
547+ 0xA5,
548+ ((__m512i)(__v8di){10, 11, 12, 13, 14, 15, 16, 17}),
549+ ((__m512i)(__v8di){1, 2, 3, 4, 5, 6, 7, 8}), 11),
550+ 4, 2000, 6, 4000, 5000, 10, 7000, 12));
551+ TEST_CONSTEXPR(match_v8di(_mm512_maskz_alignr_epi64(0x33,
552+ ((__m512i)(__v8di){10, 11, 12, 13, 14, 15, 16, 17}),
553+ ((__m512i)(__v8di){1, 2, 3, 4, 5, 6, 7, 8}), 11),
554+ 4, 5, 0, 0, 8, 10, 0, 0));
555+
522556__m512d test_mm512_fmadd_round_pd(__m512d __A, __m512d __B, __m512d __C) {
523557 // CHECK-LABEL: test_mm512_fmadd_round_pd
524558 // CHECK: @llvm.x86.avx512.vfmadd.pd.512
0 commit comments