@@ -597,4 +597,147 @@ void test_mm256_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m256i __A)
597597 // LLVM-LABEL: @test_mm256_mask_compressstoreu_epi32
598598 // LLVM: @llvm.masked.compressstore.v8i32(<8 x i32> %{{.*}}, ptr %{{.*}}, <8 x i1> %{{.*}})
599599 return _mm256_mask_compressstoreu_epi32 (__P ,__U ,__A );
600- }
600+ }
601+ __m128d test_mm_mmask_i64gather_pd (__m128d __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
602+ // CIR-LABEL: test_mm_mmask_i64gather_pd
603+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div2.df"
604+
605+ // LLVM-LABEL: @test_mm_mmask_i64gather_pd
606+ // LLVM: @llvm.x86.avx512.mask.gather3div2.df
607+ return _mm_mmask_i64gather_pd (__v1_old , __mask , __index , __addr , 2 );
608+ }
609+
610+ __m128i test_mm_mmask_i64gather_epi64 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
611+ // CIR-LABEL: test_mm_mmask_i64gather_epi64
612+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div2.di"
613+
614+ // LLVM-LABEL: @test_mm_mmask_i64gather_epi64
615+ // LLVM: @llvm.x86.avx512.mask.gather3div2.di
616+ return _mm_mmask_i64gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
617+ }
618+
619+ __m256d test_mm256_mmask_i64gather_pd (__m256d __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
620+ // CIR-LABEL: test_mm256_mmask_i64gather_pd
621+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.df"
622+
623+ // LLVM-LABEL: @test_mm256_mmask_i64gather_pd
624+ // LLVM: @llvm.x86.avx512.mask.gather3div4.df
625+ return _mm256_mmask_i64gather_pd (__v1_old , __mask , __index , __addr , 2 );
626+ }
627+
628+ __m256i test_mm256_mmask_i64gather_epi64 (__m256i __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
629+ // CIR-LABEL: test_mm256_mmask_i64gather_epi64
630+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.di"
631+
632+ // LLVM-LABEL: @test_mm256_mmask_i64gather_epi64
633+ // LLVM: @llvm.x86.avx512.mask.gather3div4.di
634+ return _mm256_mmask_i64gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
635+ }
636+
637+ __m128 test_mm_mmask_i64gather_ps (__m128 __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
638+ // CIR-LABEL: test_mm_mmask_i64gather_ps
639+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.sf"
640+
641+ // LLVM-LABEL: @test_mm_mmask_i64gather_ps
642+ // LLVM: @llvm.x86.avx512.mask.gather3div4.sf
643+ return _mm_mmask_i64gather_ps (__v1_old , __mask , __index , __addr , 2 );
644+ }
645+
646+ __m128i test_mm_mmask_i64gather_epi32 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
647+ // CIR-LABEL: test_mm_mmask_i64gather_epi32
648+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.si"
649+
650+ // LLVM-LABEL: @test_mm_mmask_i64gather_epi32
651+ // LLVM: @llvm.x86.avx512.mask.gather3div4.si
652+ return _mm_mmask_i64gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
653+ }
654+
655+ __m128 test_mm256_mmask_i64gather_ps (__m128 __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
656+ // CIR-LABEL: test_mm256_mmask_i64gather_ps
657+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div8.sf"
658+
659+ // LLVM-LABEL: @test_mm256_mmask_i64gather_ps
660+ // LLVM: @llvm.x86.avx512.mask.gather3div8.sf
661+ return _mm256_mmask_i64gather_ps (__v1_old , __mask , __index , __addr , 2 );
662+ }
663+
664+ __m128i test_mm256_mmask_i64gather_epi32 (__m128i __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
665+ // CIR-LABEL: test_mm256_mmask_i64gather_epi32
666+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div8.si"
667+
668+ // LLVM-LABEL: @test_mm256_mmask_i64gather_epi32
669+ // LLVM: @llvm.x86.avx512.mask.gather3div8.si
670+ return _mm256_mmask_i64gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
671+ }
672+
673+ __m128d test_mm_mask_i32gather_pd (__m128d __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
674+ // CIR-LABEL: test_mm_mask_i32gather_pd
675+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv2.df"
676+
677+ // LLVM-LABEL: @test_mm_mask_i32gather_pd
678+ // LLVM: @llvm.x86.avx512.mask.gather3siv2.df
679+ return _mm_mmask_i32gather_pd (__v1_old , __mask , __index , __addr , 2 );
680+ }
681+
682+ __m128i test_mm_mask_i32gather_epi64 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
683+ // CIR-LABEL: test_mm_mask_i32gather_epi64
684+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv2.di"
685+
686+ // LLVM-LABEL: @test_mm_mask_i32gather_epi64
687+ // LLVM: @llvm.x86.avx512.mask.gather3siv2.di
688+ return _mm_mmask_i32gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
689+ }
690+
691+ __m256d test_mm256_mask_i32gather_pd (__m256d __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
692+ // CIR-LABEL: test_mm256_mask_i32gather_pd
693+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.df"
694+
695+ // LLVM-LABEL: @test_mm256_mask_i32gather_pd
696+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.df
697+ return _mm256_mmask_i32gather_pd (__v1_old , __mask , __index , __addr , 2 );
698+ }
699+
700+ __m256i test_mm256_mask_i32gather_epi64 (__m256i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
701+ // CIR-LABEL: test_mm256_mask_i32gather_epi64
702+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.di"
703+
704+ // LLVM-LABEL: @test_mm256_mask_i32gather_epi64
705+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.di
706+ return _mm256_mmask_i32gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
707+ }
708+
709+ __m128 test_mm_mask_i32gather_ps (__m128 __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
710+ // CIR-LABEL: test_mm_mask_i32gather_ps
711+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.sf"
712+
713+ // LLVM-LABEL: @test_mm_mask_i32gather_ps
714+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.sf
715+ return _mm_mmask_i32gather_ps (__v1_old , __mask , __index , __addr , 2 );
716+ }
717+
718+ __m128i test_mm_mask_i32gather_epi32 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
719+ // CIR-LABEL: test_mm_mask_i32gather_epi32
720+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.si"
721+
722+ // LLVM-LABEL: @test_mm_mask_i32gather_epi32
723+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.si
724+ return _mm_mmask_i32gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
725+ }
726+
727+ __m256 test_mm256_mask_i32gather_ps (__m256 __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
728+ // CIR-LABEL: test_mm256_mask_i32gather_ps
729+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv8.sf"
730+
731+ // LLVM-LABEL: @test_mm256_mask_i32gather_ps
732+ // LLVM: @llvm.x86.avx512.mask.gather3siv8.sf
733+ return _mm256_mmask_i32gather_ps (__v1_old , __mask , __index , __addr , 2 );
734+ }
735+
736+ __m256i test_mm256_mask_i32gather_epi32 (__m256i __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
737+ // CIR-LABEL: test_mm256_mask_i32gather_epi32
738+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv8.si"
739+
740+ // LLVM-LABEL: @test_mm256_mask_i32gather_epi32
741+ // LLVM: @llvm.x86.avx512.mask.gather3siv8.si
742+ return _mm256_mmask_i32gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
743+ }
0 commit comments