@@ -440,40 +440,52 @@ __m128d test_mm_cvtepi64_pd(__m128i __A) {
440440 return _mm_cvtepi64_pd (__A );
441441}
442442
443+ TEST_CONSTEXPR (match_m128d (_mm_cvtepi64_pd ((__m128i )(__v2di ){-1 , -1 }), -1.0 , -1.0 ));
444+
443445__m128d test_mm_mask_cvtepi64_pd (__m128d __W , __mmask8 __U , __m128i __A ) {
444446 // CHECK-LABEL: test_mm_mask_cvtepi64_pd
445447 // CHECK: sitofp <2 x i64> %{{.*}} to <2 x double>
446448 // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
447449 return _mm_mask_cvtepi64_pd (__W , __U , __A );
448450}
449451
452+ TEST_CONSTEXPR (match_m128d (_mm_mask_cvtepi64_pd ((__m128d ){-777.0 , -777.0 }, /*01=*/ 0x1 , (__m128i )(__v2di ){-1 , -1 }), -1.0 , -777.0 ));
453+
450454__m128d test_mm_maskz_cvtepi64_pd (__mmask8 __U , __m128i __A ) {
451455 // CHECK-LABEL: test_mm_maskz_cvtepi64_pd
452456 // CHECK: sitofp <2 x i64> %{{.*}} to <2 x double>
453457 // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
454458 return _mm_maskz_cvtepi64_pd (__U , __A );
455459}
456460
461+ TEST_CONSTEXPR (match_m128d (_mm_maskz_cvtepi64_pd (/*01=*/ 0x1 , (__m128i )(__v2di ){-1 , -1 }), -1.0 , 0.0 ));
462+
457463__m256d test_mm256_cvtepi64_pd (__m256i __A ) {
458464 // CHECK-LABEL: test_mm256_cvtepi64_pd
459465 // CHECK: sitofp <4 x i64> %{{.*}} to <4 x double>
460466 return _mm256_cvtepi64_pd (__A );
461467}
462468
469+ TEST_CONSTEXPR (match_m256d (_mm256_cvtepi64_pd ((__m256i )(__v4di ){-1 , -1 , 2 , 2 }), -1.0 , -1.0 , 2.0 , 2.0 ));
470+
463471__m256d test_mm256_mask_cvtepi64_pd (__m256d __W , __mmask8 __U , __m256i __A ) {
464472 // CHECK-LABEL: test_mm256_mask_cvtepi64_pd
465473 // CHECK: sitofp <4 x i64> %{{.*}} to <4 x double>
466474 // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
467475 return _mm256_mask_cvtepi64_pd (__W , __U , __A );
468476}
469477
478+ TEST_CONSTEXPR (match_m256d (_mm256_mask_cvtepi64_pd ((__m256d ){-777.0 , -777.0 , -777.0 , -777.0 }, /*1100*/ 0xc , (__m256i )(__v4di ){-1 , -1 , 2 , 2 }), -777.0 , -777.0 , 2.0 , 2.0 ));
479+
470480__m256d test_mm256_maskz_cvtepi64_pd (__mmask8 __U , __m256i __A ) {
471481 // CHECK-LABEL: test_mm256_maskz_cvtepi64_pd
472482 // CHECK: sitofp <4 x i64> %{{.*}} to <4 x double>
473483 // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
474484 return _mm256_maskz_cvtepi64_pd (__U , __A );
475485}
476486
487+ TEST_CONSTEXPR (match_m256d (_mm256_maskz_cvtepi64_pd (/*1100*/ 0xc , (__m256i )(__v4di ){-1 , -1 , 2 , 2 }), 0.0 , 0.0 , 2.0 , 2.0 ));
488+
477489__m128 test_mm_cvtepi64_ps (__m128i __A ) {
478490 // CHECK-LABEL: test_mm_cvtepi64_ps
479491 // CHECK: @llvm.x86.avx512.mask.cvtqq2ps.128
@@ -498,20 +510,26 @@ __m128 test_mm256_cvtepi64_ps(__m256i __A) {
498510 return _mm256_cvtepi64_ps (__A );
499511}
500512
513+ TEST_CONSTEXPR (match_m128 (_mm256_cvtepi64_ps ((__m256i )(__v4di ){-1 , -1 , 2 , 2 }), -1.0f , -1.0f , 2.0f , 2.0f ));
514+
501515__m128 test_mm256_mask_cvtepi64_ps (__m128 __W , __mmask8 __U , __m256i __A ) {
502516 // CHECK-LABEL: test_mm256_mask_cvtepi64_ps
503517 // CHECK: sitofp <4 x i64> %{{.*}} to <4 x float>
504518 // select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
505519 return _mm256_mask_cvtepi64_ps (__W , __U , __A );
506520}
507521
522+ TEST_CONSTEXPR (match_m128 (_mm256_mask_cvtepi64_ps ((__m128 ){-777.0f , -777.0f , -777.0f , -777.0f }, /*1010=*/ 0xa , (__m256i )(__v4di ){-1 , -1 , 2 , 2 }), -777.0f , -1.0f , -777.0f , 2.0f ));
523+
508524__m128 test_mm256_maskz_cvtepi64_ps (__mmask8 __U , __m256i __A ) {
509525 // CHECK-LABEL: test_mm256_maskz_cvtepi64_ps
510526 // CHECK: sitofp <4 x i64> %{{.*}} to <4 x float>
511527 // select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
512528 return _mm256_maskz_cvtepi64_ps (__U , __A );
513529}
514530
531+ TEST_CONSTEXPR (match_m128 (_mm256_maskz_cvtepi64_ps (/*1010=*/ 0xa , (__m256i )(__v4di ){-1 , -1 , 2 , 2 }), 0.0f , -1.0f , 0.0f , 2.0f ));
532+
515533__m128i test_mm_cvttpd_epi64 (__m128d __A ) {
516534 // CHECK-LABEL: test_mm_cvttpd_epi64
517535 // CHECK: @llvm.x86.avx512.mask.cvttpd2qq.128
@@ -662,40 +680,52 @@ __m128d test_mm_cvtepu64_pd(__m128i __A) {
662680 return _mm_cvtepu64_pd (__A );
663681}
664682
683+ TEST_CONSTEXPR (match_m128d (_mm_cvtepu64_pd ((__m128i )(__v2du ){1 , 1 }), 1.0 , 1.0 ));
684+
665685__m128d test_mm_mask_cvtepu64_pd (__m128d __W , __mmask8 __U , __m128i __A ) {
666686 // CHECK-LABEL: test_mm_mask_cvtepu64_pd
667687 // CHECK: uitofp <2 x i64> %{{.*}} to <2 x double>
668688 // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
669689 return _mm_mask_cvtepu64_pd (__W , __U , __A );
670690}
671691
692+ TEST_CONSTEXPR (match_m128d (_mm_mask_cvtepu64_pd ((__m128d ){-777.0 , -777.0 }, /*01=*/ 0x1 , (__m128i )(__v2du ){1 , 1 }), 1.0 , -777.0 ));
693+
672694__m128d test_mm_maskz_cvtepu64_pd (__mmask8 __U , __m128i __A ) {
673695 // CHECK-LABEL: test_mm_maskz_cvtepu64_pd
674696 // CHECK: uitofp <2 x i64> %{{.*}} to <2 x double>
675697 // CHECK: select <2 x i1> %{{.*}}, <2 x double> %{{.*}}, <2 x double> %{{.*}}
676698 return _mm_maskz_cvtepu64_pd (__U , __A );
677699}
678700
701+ TEST_CONSTEXPR (match_m128d (_mm_maskz_cvtepu64_pd (/*01=*/ 0x1 , (__m128i )(__v2du ){1 , 1 }), 1.0 , 0.0 ));
702+
679703__m256d test_mm256_cvtepu64_pd (__m256i __A ) {
680704 // CHECK-LABEL: test_mm256_cvtepu64_pd
681705 // CHECK: uitofp <4 x i64> %{{.*}} to <4 x double>
682706 return _mm256_cvtepu64_pd (__A );
683707}
684708
709+ TEST_CONSTEXPR (match_m256d (_mm256_cvtepu64_pd ((__m256i )(__v4du ){1 , 1 , 2 , 2 }), 1.0 , 1.0 , 2.0 , 2.0 ));
710+
685711__m256d test_mm256_mask_cvtepu64_pd (__m256d __W , __mmask8 __U , __m256i __A ) {
686712 // CHECK-LABEL: test_mm256_mask_cvtepu64_pd
687713 // CHECK: uitofp <4 x i64> %{{.*}} to <4 x double>
688714 // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
689715 return _mm256_mask_cvtepu64_pd (__W , __U , __A );
690716}
691717
718+ TEST_CONSTEXPR (match_m256d (_mm256_mask_cvtepu64_pd ((__m256d ){-777.0 , -777.0 , -777.0 , -777.0 }, /*1100*/ 0xc , (__m256i )(__v4du ){1 , 1 , 2 , 2 }), -777.0 , -777.0 , 2.0 , 2.0 ));
719+
692720__m256d test_mm256_maskz_cvtepu64_pd (__mmask8 __U , __m256i __A ) {
693721 // CHECK-LABEL: test_mm256_maskz_cvtepu64_pd
694722 // CHECK: uitofp <4 x i64> %{{.*}} to <4 x double>
695723 // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}}
696724 return _mm256_maskz_cvtepu64_pd (__U , __A );
697725}
698726
727+ TEST_CONSTEXPR (match_m256d (_mm256_maskz_cvtepu64_pd (/*1100*/ 0xc , (__m256i )(__v4du ){1 , 1 , 2 , 2 }), 0.0 , 0.0 , 2.0 , 2.0 ));
728+
699729__m128 test_mm_cvtepu64_ps (__m128i __A ) {
700730 // CHECK-LABEL: test_mm_cvtepu64_ps
701731 // CHECK: @llvm.x86.avx512.mask.cvtuqq2ps.128
@@ -720,20 +750,26 @@ __m128 test_mm256_cvtepu64_ps(__m256i __A) {
720750 return _mm256_cvtepu64_ps (__A );
721751}
722752
753+ TEST_CONSTEXPR (match_m128 (_mm256_cvtepu64_ps ((__m256i )(__v4du ){1 , 1 , 2 , 2 }), 1.0f , 1.0f , 2.0f , 2.0f ));
754+
723755__m128 test_mm256_mask_cvtepu64_ps (__m128 __W , __mmask8 __U , __m256i __A ) {
724756 // CHECK-LABEL: test_mm256_mask_cvtepu64_ps
725757 // CHECK: uitofp <4 x i64> %{{.*}} to <4 x float>
726758 // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
727759 return _mm256_mask_cvtepu64_ps (__W , __U , __A );
728760}
729761
762+ TEST_CONSTEXPR (match_m128 (_mm256_mask_cvtepu64_ps ((__m128 ){-777.0f , -777.0f , -777.0f , -777.0f }, /*1010=*/ 0xa , (__m256i )(__v4du ){1 , 1 , 2 , 2 }), -777.0f , 1.0f , -777.0f , 2.0f ));
763+
730764__m128 test_mm256_maskz_cvtepu64_ps (__mmask8 __U , __m256i __A ) {
731765 // CHECK-LABEL: test_mm256_maskz_cvtepu64_ps
732766 // CHECK: uitofp <4 x i64> %{{.*}} to <4 x float>
733767 // CHECK: select <4 x i1> %{{.*}}, <4 x float> %{{.*}}, <4 x float> %{{.*}}
734768 return _mm256_maskz_cvtepu64_ps (__U , __A );
735769}
736770
771+ TEST_CONSTEXPR (match_m128 (_mm256_maskz_cvtepu64_ps (/*1010=*/ 0xa , (__m256i )(__v4du ){1 , 1 , 2 , 2 }), 0.0f , 1.0f , 0.0f , 2.0f ));
772+
737773__m128d test_mm_range_pd (__m128d __A , __m128d __B ) {
738774 // CHECK-LABEL: test_mm_range_pd
739775 // CHECK: @llvm.x86.avx512.mask.range.pd.128
0 commit comments