@@ -527,3 +527,147 @@ __m256i test_mm256_maskz_expandloadu_epi32(__mmask8 __U, void const *__P) {
527
527
// LLVM: @llvm.masked.expandload.v8i32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
528
528
return _mm256_maskz_expandloadu_epi32 (__U ,__P );
529
529
}
530
+
531
+ __m128d test_mm_mmask_i64gather_pd (__m128d __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
532
+ // CIR-LABEL: test_mm_mmask_i64gather_pd
533
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div2.df"
534
+
535
+ // LLVM-LABEL: @test_mm_mmask_i64gather_pd
536
+ // LLVM: @llvm.x86.avx512.mask.gather3div2.df
537
+ return _mm_mmask_i64gather_pd (__v1_old , __mask , __index , __addr , 2 );
538
+ }
539
+
540
+ __m128i test_mm_mmask_i64gather_epi64 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
541
+ // CIR-LABEL: test_mm_mmask_i64gather_epi64
542
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div2.di"
543
+
544
+ // LLVM-LABEL: @test_mm_mmask_i64gather_epi64
545
+ // LLVM: @llvm.x86.avx512.mask.gather3div2.di
546
+ return _mm_mmask_i64gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
547
+ }
548
+
549
+ __m256d test_mm256_mmask_i64gather_pd (__m256d __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
550
+ // CIR-LABEL: test_mm256_mmask_i64gather_pd
551
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.df"
552
+
553
+ // LLVM-LABEL: @test_mm256_mmask_i64gather_pd
554
+ // LLVM: @llvm.x86.avx512.mask.gather3div4.df
555
+ return _mm256_mmask_i64gather_pd (__v1_old , __mask , __index , __addr , 2 );
556
+ }
557
+
558
+ __m256i test_mm256_mmask_i64gather_epi64 (__m256i __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
559
+ // CIR-LABEL: test_mm256_mmask_i64gather_epi64
560
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.di"
561
+
562
+ // LLVM-LABEL: @test_mm256_mmask_i64gather_epi64
563
+ // LLVM: @llvm.x86.avx512.mask.gather3div4.di
564
+ return _mm256_mmask_i64gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
565
+ }
566
+
567
+ __m128 test_mm_mmask_i64gather_ps (__m128 __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
568
+ // CIR-LABEL: test_mm_mmask_i64gather_ps
569
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.sf"
570
+
571
+ // LLVM-LABEL: @test_mm_mmask_i64gather_ps
572
+ // LLVM: @llvm.x86.avx512.mask.gather3div4.sf
573
+ return _mm_mmask_i64gather_ps (__v1_old , __mask , __index , __addr , 2 );
574
+ }
575
+
576
+ __m128i test_mm_mmask_i64gather_epi32 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
577
+ // CIR-LABEL: test_mm_mmask_i64gather_epi32
578
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div4.si"
579
+
580
+ // LLVM-LABEL: @test_mm_mmask_i64gather_epi32
581
+ // LLVM: @llvm.x86.avx512.mask.gather3div4.si
582
+ return _mm_mmask_i64gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
583
+ }
584
+
585
+ __m128 test_mm256_mmask_i64gather_ps (__m128 __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
586
+ // CIR-LABEL: test_mm256_mmask_i64gather_ps
587
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div8.sf"
588
+
589
+ // LLVM-LABEL: @test_mm256_mmask_i64gather_ps
590
+ // LLVM: @llvm.x86.avx512.mask.gather3div8.sf
591
+ return _mm256_mmask_i64gather_ps (__v1_old , __mask , __index , __addr , 2 );
592
+ }
593
+
594
+ __m128i test_mm256_mmask_i64gather_epi32 (__m128i __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
595
+ // CIR-LABEL: test_mm256_mmask_i64gather_epi32
596
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3div8.si"
597
+
598
+ // LLVM-LABEL: @test_mm256_mmask_i64gather_epi32
599
+ // LLVM: @llvm.x86.avx512.mask.gather3div8.si
600
+ return _mm256_mmask_i64gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
601
+ }
602
+
603
+ __m128d test_mm_mask_i32gather_pd (__m128d __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
604
+ // CIR-LABEL: test_mm_mask_i32gather_pd
605
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv2.df"
606
+
607
+ // LLVM-LABEL: @test_mm_mask_i32gather_pd
608
+ // LLVM: @llvm.x86.avx512.mask.gather3siv2.df
609
+ return _mm_mmask_i32gather_pd (__v1_old , __mask , __index , __addr , 2 );
610
+ }
611
+
612
+ __m128i test_mm_mask_i32gather_epi64 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
613
+ // CIR-LABEL: test_mm_mask_i32gather_epi64
614
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv2.di"
615
+
616
+ // LLVM-LABEL: @test_mm_mask_i32gather_epi64
617
+ // LLVM: @llvm.x86.avx512.mask.gather3siv2.di
618
+ return _mm_mmask_i32gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
619
+ }
620
+
621
+ __m256d test_mm256_mask_i32gather_pd (__m256d __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
622
+ // CIR-LABEL: test_mm256_mask_i32gather_pd
623
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.df"
624
+
625
+ // LLVM-LABEL: @test_mm256_mask_i32gather_pd
626
+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.df
627
+ return _mm256_mmask_i32gather_pd (__v1_old , __mask , __index , __addr , 2 );
628
+ }
629
+
630
+ __m256i test_mm256_mask_i32gather_epi64 (__m256i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
631
+ // CIR-LABEL: test_mm256_mask_i32gather_epi64
632
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.di"
633
+
634
+ // LLVM-LABEL: @test_mm256_mask_i32gather_epi64
635
+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.di
636
+ return _mm256_mmask_i32gather_epi64 (__v1_old , __mask , __index , __addr , 2 );
637
+ }
638
+
639
+ __m128 test_mm_mask_i32gather_ps (__m128 __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
640
+ // CIR-LABEL: test_mm_mask_i32gather_ps
641
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.sf"
642
+
643
+ // LLVM-LABEL: @test_mm_mask_i32gather_ps
644
+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.sf
645
+ return _mm_mmask_i32gather_ps (__v1_old , __mask , __index , __addr , 2 );
646
+ }
647
+
648
+ __m128i test_mm_mask_i32gather_epi32 (__m128i __v1_old , __mmask8 __mask , __m128i __index , void const * __addr ) {
649
+ // CIR-LABEL: test_mm_mask_i32gather_epi32
650
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv4.si"
651
+
652
+ // LLVM-LABEL: @test_mm_mask_i32gather_epi32
653
+ // LLVM: @llvm.x86.avx512.mask.gather3siv4.si
654
+ return _mm_mmask_i32gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
655
+ }
656
+
657
+ __m256 test_mm256_mask_i32gather_ps (__m256 __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
658
+ // CIR-LABEL: test_mm256_mask_i32gather_ps
659
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv8.sf"
660
+
661
+ // LLVM-LABEL: @test_mm256_mask_i32gather_ps
662
+ // LLVM: @llvm.x86.avx512.mask.gather3siv8.sf
663
+ return _mm256_mmask_i32gather_ps (__v1_old , __mask , __index , __addr , 2 );
664
+ }
665
+
666
+ __m256i test_mm256_mask_i32gather_epi32 (__m256i __v1_old , __mmask8 __mask , __m256i __index , void const * __addr ) {
667
+ // CIR-LABEL: test_mm256_mask_i32gather_epi32
668
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.gather3siv8.si"
669
+
670
+ // LLVM-LABEL: @test_mm256_mask_i32gather_epi32
671
+ // LLVM: @llvm.x86.avx512.mask.gather3siv8.si
672
+ return _mm256_mmask_i32gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
673
+ }
0 commit comments