@@ -527,3 +527,74 @@ __m256i test_mm256_maskz_expandloadu_epi32(__mmask8 __U, void const *__P) {
527527 // LLVM: @llvm.masked.expandload.v8i32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
528528 return _mm256_maskz_expandloadu_epi32 (__U ,__P );
529529}
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