@@ -1332,7 +1332,7 @@ __m512i test_mm512_mulhrs_epi16(__m512i __A, __m512i __B) {
13321332 // CHECK: @llvm.x86.avx512.pmul.hr.sw.512
13331333 return _mm512_mulhrs_epi16 (__A ,__B );
13341334}
1335- __m512i test_mm512_mask_mulhrs_epi16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
1335+ __m512i test_mm512_mask_mulhrs_epi16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
13361336 // CHECK-LABEL: test_mm512_mask_mulhrs_epi16
13371337 // CHECK: @llvm.x86.avx512.pmul.hr.sw.512
13381338 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
@@ -1351,19 +1351,21 @@ __m512i test_mm512_mulhi_epi16(__m512i __A, __m512i __B) {
13511351}
13521352TEST_CONSTEXPR (match_v32hi (_mm512_mulhi_epi16 ((__m512i )(__v32hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +9 , -10 , +11 , -12 , +13 , -14 , +15 , -16 , +17 , -18 , +19 , -20 , +21 , -22 , +23 , -24 , +25 , -26 , +27 , -28 , +29 , -30 , +31 , -32 }, (__m512i )(__v32hi ){-64 , -62 , +60 , +58 , -56 , -54 , +52 , +50 , -48 , -46 , +44 , +42 , -40 , -38 , +36 , +34 , -32 , -30 , +28 , +26 , -24 , -22 , +20 , +18 , -16 , -14 , +12 , +10 , -8 , +6 , -4 , +2 }), -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , -1 , -1 , -1 , -1 ));
13531353
1354- __m512i test_mm512_mask_mulhi_epi16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
1354+ __m512i test_mm512_mask_mulhi_epi16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
13551355 // CHECK-LABEL: test_mm512_mask_mulhi_epi16
13561356 // CHECK: @llvm.x86.avx512.pmulh.w.512
13571357 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
13581358 return _mm512_mask_mulhi_epi16 (__W ,__U ,__A ,__B );
13591359}
1360+ TEST_CONSTEXPR (match_v32hi (_mm512_mask_mulhi_epi16 (_mm512_set1_epi16 (1 ), 0xF00FF00F , (__m512i )(__v32hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +9 , -10 , +11 , -12 , +13 , -14 , +15 , -16 , +17 , -18 , +19 , -20 , +21 , -22 , +23 , -24 , +25 , -26 , +27 , -28 , +29 , -30 , +31 , -32 }, (__m512i )(__v32hi ){-64 , -62 , +60 , +58 , -56 , -54 , +52 , +50 , -48 , -46 , +44 , +42 , -40 , -38 , +36 , +34 , -32 , -30 , +28 , +26 , -24 , -22 , +20 , +18 , -16 , -14 , +12 , +10 , -8 , +6 , -4 , +2 }), -1 , 0 , 0 , -1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , -1 , -1 , -1 , -1 ));
13601361
13611362__m512i test_mm512_maskz_mulhi_epi16 (__mmask32 __U , __m512i __A , __m512i __B ) {
13621363 // CHECK-LABEL: test_mm512_maskz_mulhi_epi16
13631364 // CHECK: @llvm.x86.avx512.pmulh.w.512
13641365 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
13651366 return _mm512_maskz_mulhi_epi16 (__U ,__A ,__B );
13661367}
1368+ TEST_CONSTEXPR (match_v32hi (_mm512_maskz_mulhi_epi16 (0x0FF00FF0 , (__m512i )(__v32hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +9 , -10 , +11 , -12 , +13 , -14 , +15 , -16 , +17 , -18 , +19 , -20 , +21 , -22 , +23 , -24 , +25 , -26 , +27 , -28 , +29 , -30 , +31 , -32 }, (__m512i )(__v32hi ){-64 , -62 , +60 , +58 , -56 , -54 , +52 , +50 , -48 , -46 , +44 , +42 , -40 , -38 , +36 , +34 , -32 , -30 , +28 , +26 , -24 , -22 , +20 , +18 , -16 , -14 , +12 , +10 , -8 , +6 , -4 , +2 }), 0 , 0 , 0 , 0 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , -1 , 0 , 0 , -1 , -1 , 0 , 0 , -1 , 0 , 0 , 0 , 0 ));
13671369
13681370__m512i test_mm512_mulhi_epu16 (__m512i __A , __m512i __B ) {
13691371 // CHECK-LABEL: test_mm512_mulhi_epu16
@@ -1372,26 +1374,28 @@ __m512i test_mm512_mulhi_epu16(__m512i __A, __m512i __B) {
13721374}
13731375TEST_CONSTEXPR (match_v32hi (_mm512_mulhi_epu16 ((__m512i )(__v32hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +9 , -10 , +11 , -12 , +13 , -14 , +15 , -16 , +17 , -18 , +19 , -20 , +21 , -22 , +23 , -24 , +25 , -26 , +27 , -28 , +29 , -30 , +31 , -32 }, (__m512i )(__v32hi ){-64 , -62 , +60 , +58 , -56 , -54 , +52 , +50 , -48 , -46 , +44 , +42 , -40 , -38 , +36 , +34 , -32 , -30 , +28 , +26 , -24 , -22 , +20 , +18 , -16 , -14 , +12 , +10 , -8 , +6 , -4 , +2 }), 0 , -64 , 0 , 57 , 4 , -60 , 0 , 49 , 8 , -56 , 0 , 41 , 12 , -52 , 0 , 33 , 16 , -48 , 0 , 25 , 20 , -44 , 0 , 17 , 24 , -40 , 0 , 9 , 28 , 5 , 30 , 1 ));
13741376
1375- __m512i test_mm512_mask_mulhi_epu16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
1377+ __m512i test_mm512_mask_mulhi_epu16 (__m512i __W , __mmask32 __U , __m512i __A , __m512i __B ) {
13761378 // CHECK-LABEL: test_mm512_mask_mulhi_epu16
13771379 // CHECK: @llvm.x86.avx512.pmulhu.w.512
13781380 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
13791381 return _mm512_mask_mulhi_epu16 (__W ,__U ,__A ,__B );
13801382}
1383+ TEST_CONSTEXPR (match_v32hi (_mm512_mask_mulhi_epu16 (_mm512_set1_epi16 (1 ), 0x0FF00FF0 , (__m512i )(__v32hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +9 , -10 , +11 , -12 , +13 , -14 , +15 , -16 , +17 , -18 , +19 , -20 , +21 , -22 , +23 , -24 , +25 , -26 , +27 , -28 , +29 , -30 , +31 , -32 }, (__m512i )(__v32hi ){-64 , -62 , +60 , +58 , -56 , -54 , +52 , +50 , -48 , -46 , +44 , +42 , -40 , -38 , +36 , +34 , -32 , -30 , +28 , +26 , -24 , -22 , +20 , +18 , -16 , -14 , +12 , +10 , -8 , +6 , -4 , +2 }), 1 , 1 , 1 , 1 , 4 , -60 , 0 , 49 , 8 , -56 , 0 , 41 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 20 , -44 , 0 , 17 , 24 , -40 , 0 , 9 , 1 , 1 , 1 , 1 ));
13811384
13821385__m512i test_mm512_maskz_mulhi_epu16 (__mmask32 __U , __m512i __A , __m512i __B ) {
13831386 // CHECK-LABEL: test_mm512_maskz_mulhi_epu16
13841387 // CHECK: @llvm.x86.avx512.pmulhu.w.512
13851388 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
13861389 return _mm512_maskz_mulhi_epu16 (__U ,__A ,__B );
13871390}
1391+ TEST_CONSTEXPR (match_v32hi (_mm512_maskz_mulhi_epu16 (0xF00FF00F , (__m512i )(__v32hi ){+1 , -2 , +3 , -4 , +5 , -6 , +7 , -8 , +9 , -10 , +11 , -12 , +13 , -14 , +15 , -16 , +17 , -18 , +19 , -20 , +21 , -22 , +23 , -24 , +25 , -26 , +27 , -28 , +29 , -30 , +31 , -32 }, (__m512i )(__v32hi ){-64 , -62 , +60 , +58 , -56 , -54 , +52 , +50 , -48 , -46 , +44 , +42 , -40 , -38 , +36 , +34 , -32 , -30 , +28 , +26 , -24 , -22 , +20 , +18 , -16 , -14 , +12 , +10 , -8 , +6 , -4 , +2 }), 0 , -64 , 0 , 57 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 12 , -52 , 0 , 33 , 16 , -48 , 0 , 25 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 28 , 5 , 30 , 1 ));
13881392
13891393__m512i test_mm512_maddubs_epi16 (__m512i __X , __m512i __Y ) {
13901394 // CHECK-LABEL: test_mm512_maddubs_epi16
13911395 // CHECK: @llvm.x86.avx512.pmaddubs.w.512
13921396 return _mm512_maddubs_epi16 (__X ,__Y );
13931397}
1394- __m512i test_mm512_mask_maddubs_epi16 (__m512i __W , __mmask32 __U , __m512i __X , __m512i __Y ) {
1398+ __m512i test_mm512_mask_maddubs_epi16 (__m512i __W , __mmask32 __U , __m512i __X , __m512i __Y ) {
13951399 // CHECK-LABEL: test_mm512_mask_maddubs_epi16
13961400 // CHECK: @llvm.x86.avx512.pmaddubs.w.512
13971401 // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
0 commit comments