@@ -527,3 +527,74 @@ __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
+ void test_mm_mask_compressstoreu_pd (void * __P , __mmask8 __U , __m128d __A ) {
532
+ // CIR-LABEL: _mm_mask_compressstoreu_pd
533
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.double x 2>, !cir.ptr<!cir.vector<!cir.double x 2>>, !cir.vector<!cir.int<s, 1> x 2>) -> !void
534
+
535
+ // LLVM-LABEL: @test_mm_mask_compressstoreu_pd
536
+ // LLVM: @llvm.masked.compressstore.v2f64(<2 x double> %{{.*}}, ptr %{{.*}}, <2 x i1> %{{.*}})
537
+ return _mm_mask_compressstoreu_pd (__P ,__U ,__A );
538
+ }
539
+
540
+ void test_mm256_mask_compressstoreu_pd (void * __P , __mmask8 __U , __m256d __A ) {
541
+ // CIR-LABEL: _mm256_mask_compressstoreu_pd
542
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.double x 4>, !cir.ptr<!cir.vector<!cir.double x 4>>, !cir.vector<!cir.int<s, 1> x 4>) -> !void
543
+
544
+ // LLVM-LABEL: @test_mm256_mask_compressstoreu_pd
545
+ // LLVM: @llvm.masked.compressstore.v4f64(<4 x double> %{{.*}}, ptr %{{.*}}, <4 x i1> %{{.*}})
546
+ return _mm256_mask_compressstoreu_pd (__P ,__U ,__A );
547
+ }
548
+ void test_mm_mask_compressstoreu_ps (void * __P , __mmask8 __U , __m128 __A ) {
549
+ // CIR-LABEL: _mm_mask_compressstoreu_ps
550
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.float x 4>, !cir.ptr<!cir.vector<!cir.float x 4>>, !cir.vector<!cir.int<s, 1> x 4>) -> !void
551
+
552
+ // LLVM-LABEL: @test_mm_mask_compressstoreu_ps
553
+ // LLVM: @llvm.masked.compressstore.v4f32(<4 x float> %{{.*}}, ptr %{{.*}}, <4 x i1> %{{.*}})
554
+ return _mm_mask_compressstoreu_ps (__P ,__U ,__A );
555
+ }
556
+
557
+ void test_mm256_mask_compressstoreu_ps (void * __P , __mmask8 __U , __m256 __A ) {
558
+ // CIR-LABEL: _mm256_mask_compressstoreu_ps
559
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!cir.float x 8>, !cir.ptr<!cir.vector<!cir.float x 8>>, !cir.vector<!cir.int<s, 1> x 8>) -> !void
560
+
561
+ // LLVM-LABEL: @test_mm256_mask_compressstoreu_ps
562
+ // LLVM: @llvm.masked.compressstore.v8f32(<8 x float> %{{.*}}, ptr %{{.*}}, <8 x i1> %{{.*}})
563
+ return _mm256_mask_compressstoreu_ps (__P ,__U ,__A );
564
+ }
565
+
566
+ void test_mm_mask_compressstoreu_epi64 (void * __P , __mmask8 __U , __m128i __A ) {
567
+ // CIR-LABEL: _mm_mask_compressstoreu_epi64
568
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!s64i x 2>, !cir.ptr<!cir.vector<!s64i x 2>>, !cir.vector<!cir.int<s, 1> x 2>) -> !void
569
+
570
+ // LLVM-LABEL: @test_mm_mask_compressstoreu_epi64
571
+ // LLVM: @llvm.masked.compressstore.v2i64(<2 x i64> %{{.*}}, ptr %{{.*}}, <2 x i1> %{{.*}})
572
+ return _mm_mask_compressstoreu_epi64 (__P ,__U ,__A );
573
+ }
574
+
575
+ void test_mm256_mask_compressstoreu_epi64 (void * __P , __mmask8 __U , __m256i __A ) {
576
+ // CIR-LABEL: _mm256_mask_compressstoreu_epi64
577
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!s64i x 4>, !cir.ptr<!cir.vector<!s64i x 4>>, !cir.vector<!cir.int<s, 1> x 4>) -> !void
578
+
579
+ // LLVM-LABEL: @test_mm256_mask_compressstoreu_epi64
580
+ // LLVM: @llvm.masked.compressstore.v4i64(<4 x i64> %{{.*}}, ptr %{{.*}}, <4 x i1> %{{.*}})
581
+ return _mm256_mask_compressstoreu_epi64 (__P ,__U ,__A );
582
+ }
583
+
584
+ void test_mm_mask_compressstoreu_epi32 (void * __P , __mmask8 __U , __m128i __A ) {
585
+ // CIR-LABEL: _mm_mask_compressstoreu_epi32
586
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!s32i x 4>, !cir.ptr<!cir.vector<!s32i x 4>>, !cir.vector<!cir.int<s, 1> x 4>) -> !void
587
+
588
+ // LLVM-LABEL: @test_mm_mask_compressstoreu_epi32
589
+ // LLVM: @llvm.masked.compressstore.v4i32(<4 x i32> %{{.*}}, ptr %{{.*}}, <4 x i1> %{{.*}})
590
+ return _mm_mask_compressstoreu_epi32 (__P ,__U ,__A );
591
+ }
592
+
593
+ void test_mm256_mask_compressstoreu_epi32 (void * __P , __mmask8 __U , __m256i __A ) {
594
+ // CIR-LABEL: _mm256_mask_compressstoreu_epi32
595
+ // CIR: cir.llvm.intrinsic "masked.compressstore" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.vector<!s32i x 8>, !cir.ptr<!cir.vector<!s32i x 8>>, !cir.vector<!cir.int<s, 1> x 8>) -> !void
596
+
597
+ // LLVM-LABEL: @test_mm256_mask_compressstoreu_epi32
598
+ // LLVM: @llvm.masked.compressstore.v8i32(<8 x i32> %{{.*}}, ptr %{{.*}}, <8 x i1> %{{.*}})
599
+ return _mm256_mask_compressstoreu_epi32 (__P ,__U ,__A );
600
+ }
0 commit comments