@@ -597,4 +597,147 @@ void test_mm256_mask_compressstoreu_epi32(void *__P, __mmask8 __U, __m256i __A)
597
597
// LLVM-LABEL: @test_mm256_mask_compressstoreu_epi32
598
598
// LLVM: @llvm.masked.compressstore.v8i32(<8 x i32> %{{.*}}, ptr %{{.*}}, <8 x i1> %{{.*}})
599
599
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