@@ -507,3 +507,130 @@ __m256i test_mm512_mask_i64gather_epi32(__m256i __v1_old, __mmask8 __mask, __m51
507
507
// LLVM: @llvm.x86.avx512.mask.gather.qpi.512
508
508
return _mm512_mask_i64gather_epi32 (__v1_old , __mask , __index , __addr , 2 );
509
509
}
510
+
511
+
512
+ void test_mm512_i32scatter_pd (void * __addr , __m256i __index , __m512d __v1 ) {
513
+ // CIR-LABEL: test_mm512_i32scatter_pd
514
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.dpd.512"
515
+
516
+ // LLVM-LABEL: test_mm512_i32scatter_pd
517
+ // LLVM: @llvm.x86.avx512.mask.scatter.dpd.512
518
+ return _mm512_i32scatter_pd (__addr , __index , __v1 , 2 );
519
+ }
520
+
521
+ void test_mm512_mask_i32scatter_pd (void * __addr , __mmask8 __mask , __m256i __index , __m512d __v1 ) {
522
+ // CIR-LABEL: test_mm512_mask_i32scatter_pd
523
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.dpd.512"
524
+
525
+ // LLVM-LABEL: test_mm512_mask_i32scatter_pd
526
+ // LLVM: @llvm.x86.avx512.mask.scatter.dpd.512
527
+ return _mm512_mask_i32scatter_pd (__addr , __mask , __index , __v1 , 2 );
528
+ }
529
+
530
+ void test_mm512_i32scatter_ps (void * __addr , __m512i __index , __m512 __v1 ) {
531
+ // CIR-LABEL: test_mm512_i32scatter_ps
532
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.dps.512"
533
+
534
+ // LLVM-LABEL: test_mm512_i32scatter_ps
535
+ // LLVM: @llvm.x86.avx512.mask.scatter.dps.512
536
+ return _mm512_i32scatter_ps (__addr , __index , __v1 , 2 );
537
+ }
538
+
539
+ void test_mm512_mask_i32scatter_ps (void * __addr , __mmask16 __mask , __m512i __index , __m512 __v1 ) {
540
+ // CIR-LABEL: test_mm512_mask_i32scatter_ps
541
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.dps.512"
542
+
543
+ // LLVM-LABEL: test_mm512_mask_i32scatter_ps
544
+ // LLVM: @llvm.x86.avx512.mask.scatter.dps.512
545
+ return _mm512_mask_i32scatter_ps (__addr , __mask , __index , __v1 , 2 );
546
+ }
547
+
548
+ void test_mm512_i64scatter_pd (void * __addr , __m512i __index , __m512d __v1 ) {
549
+ // CIR-LABEL: test_mm512_i64scatter_pd
550
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qpd.512"
551
+
552
+ // LLVM-LABEL: test_mm512_i64scatter_pd
553
+ // LLVM: @llvm.x86.avx512.mask.scatter.qpd.512
554
+ return _mm512_i64scatter_pd (__addr , __index , __v1 , 2 );
555
+ }
556
+
557
+ void test_mm512_mask_i64scatter_pd (void * __addr , __mmask8 __mask , __m512i __index , __m512d __v1 ) {
558
+ // CIR-LABEL: test_mm512_mask_i64scatter_pd
559
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qpd.512"
560
+
561
+ // LLVM-LABEL: test_mm512_mask_i64scatter_pd
562
+ // LLVM: @llvm.x86.avx512.mask.scatter.qpd.512
563
+ return _mm512_mask_i64scatter_pd (__addr , __mask , __index , __v1 , 2 );
564
+ }
565
+
566
+ void test_mm512_i64scatter_ps (void * __addr , __m512i __index , __m256 __v1 ) {
567
+ // CIR-LABEL: test_mm512_i64scatter_ps
568
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qps.512"
569
+
570
+ // LLVM-LABEL: test_mm512_i64scatter_ps
571
+ // LLVM: @llvm.x86.avx512.mask.scatter.qps.512
572
+ return _mm512_i64scatter_ps (__addr , __index , __v1 , 2 );
573
+ }
574
+
575
+ void test_mm512_mask_i64scatter_ps (void * __addr , __mmask8 __mask , __m512i __index , __m256 __v1 ) {
576
+ // CIR-LABEL: test_mm512_mask_i64scatter_ps
577
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qps.512"
578
+
579
+ // LLVM-LABEL: test_mm512_mask_i64scatter_ps
580
+ // LLVM: @llvm.x86.avx512.mask.scatter.qps.512
581
+ return _mm512_mask_i64scatter_ps (__addr , __mask , __index , __v1 , 2 );
582
+ }
583
+
584
+ void test_mm512_i32scatter_epi32 (void * __addr , __m512i __index , __m512i __v1 ) {
585
+ // CIR-LABEL: test_mm512_i32scatter_epi32
586
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.dpi.512"
587
+
588
+ // LLVM-LABEL: test_mm512_i32scatter_epi32
589
+ // LLVM: @llvm.x86.avx512.mask.scatter.dpi.512
590
+ return _mm512_i32scatter_epi32 (__addr , __index , __v1 , 2 );
591
+ }
592
+
593
+ void test_mm512_mask_i32scatter_epi32 (void * __addr , __mmask16 __mask , __m512i __index , __m512i __v1 ) {
594
+ // CIR-LABEL: test_mm512_mask_i32scatter_epi32
595
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.dpi.512"
596
+
597
+ // LLVM-LABEL: test_mm512_mask_i32scatter_epi32
598
+ // LLVM: @llvm.x86.avx512.mask.scatter.dpi.512
599
+ return _mm512_mask_i32scatter_epi32 (__addr , __mask , __index , __v1 , 2 );
600
+ }
601
+
602
+ void test_mm512_i64scatter_epi64 (void * __addr , __m512i __index , __m512i __v1 ) {
603
+ // CIR-LABEL: test_mm512_i64scatter_epi64
604
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qpq.512"
605
+
606
+ // LLVM-LABEL: test_mm512_i64scatter_epi64
607
+ // LLVM: @llvm.x86.avx512.mask.scatter.qpq.512
608
+ return _mm512_i64scatter_epi64 (__addr , __index , __v1 , 2 );
609
+ }
610
+
611
+ void test_mm512_mask_i64scatter_epi64 (void * __addr , __mmask8 __mask , __m512i __index , __m512i __v1 ) {
612
+ // CIR-LABEL: test_mm512_mask_i64scatter_epi64
613
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qpq.512"
614
+
615
+ // LLVM-LABEL: test_mm512_mask_i64scatter_epi64
616
+ // LLVM: @llvm.x86.avx512.mask.scatter.qpq.512
617
+ return _mm512_mask_i64scatter_epi64 (__addr , __mask , __index , __v1 , 2 );
618
+ }
619
+
620
+ void test_mm512_i64scatter_epi32 (void * __addr , __m512i __index , __m256i __v1 ) {
621
+ // CIR-LABEL: test_mm512_i64scatter_epi32
622
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qpi.512"
623
+
624
+ // LLVM-LABEL: test_mm512_i64scatter_epi32
625
+ // LLVM: @llvm.x86.avx512.mask.scatter.qpi.512
626
+ return _mm512_i64scatter_epi32 (__addr , __index , __v1 , 2 );
627
+ }
628
+
629
+ void test_mm512_mask_i64scatter_epi32 (void * __addr , __mmask8 __mask , __m512i __index , __m256i __v1 ) {
630
+ // CIR-LABEL: test_mm512_mask_i64scatter_epi32
631
+ // CIR: cir.llvm.intrinsic "x86.avx512.mask.scatter.qpi.512"
632
+
633
+ // LLVM-LABEL: test_mm512_mask_i64scatter_epi32
634
+ // LLVM: @llvm.x86.avx512.mask.scatter.qpi.512
635
+ return _mm512_mask_i64scatter_epi32 (__addr , __mask , __index , __v1 , 2 );
636
+ }
0 commit comments