@@ -1596,18 +1596,24 @@ __m512i test_mm512_mulhrs_epi16(__m512i __A, __m512i __B) {
15961596 // CHECK: @llvm.x86.avx512.pmul.hr.sw.512
15971597 return _mm512_mulhrs_epi16 (__A ,__B );
15981598}
1599+ TEST_CONSTEXPR (match_v32hi (_mm512_mulhrs_epi16 ((__m512i )(__v32hi ){+100 , +200 , -300 , -400 , +500 , +600 , -700 , +800 , -900 , -1000 , +1100 , +1200 , -1300 , -1400 , +1500 , +1600 , -1700 , -1800 , +1900 , +2000 , -2100 , -2200 , +2300 , +2400 , -2500 , -2600 , +2700 , +2800 , -2900 , -3000 , +3100 , +3200 }, (__m512i )(__v32hi ){+3200 , -3100 , +3000 , -2900 , +2800 , -2700 , +2600 , -2500 , +2400 , -2300 , +2200 , -2100 , +2000 , -1900 , +1800 , -1700 , +1600 , -1500 , +1400 , -1300 , +1200 , -1100 , +1000 , -900 , +800 , -700 , +600 , -500 , +400 , -300 , +200 , -100 }), +10 , -19 , -27 , +35 , +43 , -49 , -56 , -61 , -66 , +70 , +74 , -77 , -79 , +81 , +82 , -83 , -83 , +82 , +81 , -79 , -77 , +74 , +70 , -66 , -61 , +56 , +49 , -43 , -35 , +27 , +19 , -10 ));
1600+
15991601__m512i test_mm512_mask_mulhrs_epi16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
16001602 // CHECK-LABEL: test_mm512_mask_mulhrs_epi16
16011603 // CHECK: @llvm.x86.avx512.pmul.hr.sw.512
16021604 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
16031605 return _mm512_mask_mulhrs_epi16 (__W ,__U ,__A ,__B );
16041606}
1607+ TEST_CONSTEXPR (match_v32hi (_mm512_mask_mulhrs_epi16 (_mm512_set1_epi16 (1 ), 0x0000FFFF , (__m512i )(__v32hi ){+100 , +200 , -300 , -400 , +500 , +600 , -700 , +800 , -900 , -1000 , +1100 , +1200 , -1300 , -1400 , +1500 , +1600 , -1700 , -1800 , +1900 , +2000 , -2100 , -2200 , +2300 , +2400 , -2500 , -2600 , +2700 , +2800 , -2900 , -3000 , +3100 , +3200 }, (__m512i )(__v32hi ){+3200 , -3100 , +3000 , -2900 , +2800 , -2700 , +2600 , -2500 , +2400 , -2300 , +2200 , -2100 , +2000 , -1900 , +1800 , -1700 , +1600 , -1500 , +1400 , -1300 , +1200 , -1100 , +1000 , -900 , +800 , -700 , +600 , -500 , +400 , -300 , +200 , -100 }), +10 , -19 , -27 , +35 , +43 , -49 , -56 , -61 , -66 , +70 , +74 , -77 , -79 , +81 , +82 , -83 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 , +1 ));
1608+
16051609__m512i test_mm512_maskz_mulhrs_epi16 (__mmask32 __U , __m512i __A , __m512i __B ) {
16061610 // CHECK-LABEL: test_mm512_maskz_mulhrs_epi16
16071611 // CHECK: @llvm.x86.avx512.pmul.hr.sw.512
16081612 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
16091613 return _mm512_maskz_mulhrs_epi16 (__U ,__A ,__B );
16101614}
1615+ TEST_CONSTEXPR (match_v32hi (_mm512_maskz_mulhrs_epi16 (0x0000FFFF , (__m512i )(__v32hi ){+100 , +200 , -300 , -400 , +500 , +600 , -700 , +800 , -900 , -1000 , +1100 , +1200 , -1300 , -1400 , +1500 , +1600 , -1700 , -1800 , +1900 , +2000 , -2100 , -2200 , +2300 , +2400 , -2500 , -2600 , +2700 , +2800 , -2900 , -3000 , +3100 , +3200 }, (__m512i )(__v32hi ){+3200 , -3100 , +3000 , -2900 , +2800 , -2700 , +2600 , -2500 , +2400 , -2300 , +2200 , -2100 , +2000 , -1900 , +1800 , -1700 , +1600 , -1500 , +1400 , -1300 , +1200 , -1100 , +1000 , -900 , +800 , -700 , +600 , -500 , +400 , -300 , +200 , -100 }), +10 , -19 , -27 , +35 , +43 , -49 , -56 , -61 , -66 , +70 , +74 , -77 , -79 , +81 , +82 , -83 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ));
1616+
16111617__m512i test_mm512_mulhi_epi16 (__m512i __A , __m512i __B ) {
16121618 // CHECK-LABEL: test_mm512_mulhi_epi16
16131619 // CHECK: @llvm.x86.avx512.pmulh.w.512
0 commit comments