@@ -401,3 +401,129 @@ __m256i test_mm256_maskz_load_epi64(__mmask8 __U, void const *__P) {
401401 // LLVM: @llvm.masked.load.v4i64.p0(ptr %{{.*}}, i32 32, <4 x i1> %{{.*}}, <4 x i64> %{{.*}})
402402 return _mm256_maskz_load_epi64 (__U , __P );
403403}
404+
405+ __m128d test_mm_mask_expandloadu_pd (__m128d __W , __mmask8 __U , void const * __P ) {
406+ // CIR-LABEL: _mm_mask_expandloadu_pd
407+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.double x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!cir.double x 2>) -> !cir.vector<!cir.double x 2>
408+
409+ // LLVM-LABEL: @test_mm_mask_expandloadu_pd
410+ // LLVM: @llvm.masked.expandload.v2f64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
411+ return _mm_mask_expandloadu_pd (__W ,__U ,__P );
412+ }
413+
414+ __m128d test_mm_maskz_expandloadu_pd (__mmask8 __U , void const * __P ) {
415+ // CIR-LABEL: _mm_maskz_expandloadu_pd
416+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %4, %8, %5 : (!cir.ptr<!cir.vector<!cir.double x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!cir.double x 2>) -> !cir.vector<!cir.double x 2>
417+
418+ // LLVM-LABEL: @test_mm_maskz_expandloadu_pd
419+ // LLVM: @llvm.masked.expandload.v2f64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x double> %{{.*}})
420+ return _mm_maskz_expandloadu_pd (__U ,__P );
421+ }
422+
423+ __m256d test_mm256_mask_expandloadu_pd (__m256d __W , __mmask8 __U , void const * __P ) {
424+ // CIR-LABEL: _mm256_mask_expandloadu_pd
425+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.double x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.double x 4>) -> !cir.vector<!cir.double x 4>
426+
427+ // LLVM-LABEL: @test_mm256_mask_expandloadu_pd
428+ // LLVM: @llvm.masked.expandload.v4f64(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
429+ return _mm256_mask_expandloadu_pd (__W ,__U ,__P );
430+ }
431+
432+ __m256d test_mm256_maskz_expandloadu_pd (__mmask8 __U , void const * __P ) {
433+ // CIR-LABEL: _mm256_maskz_expandloadu_pd
434+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.double x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.double x 4>) -> !cir.vector<!cir.double x 4>
435+
436+ // LLVM-LABEL: @test_mm256_maskz_expandloadu_pd
437+ // LLVM: @llvm.masked.expandload.v4f64(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x double> %{{.*}})
438+ return _mm256_maskz_expandloadu_pd (__U ,__P );
439+ }
440+
441+ __m128 test_mm_mask_expandloadu_ps (__m128 __W , __mmask8 __U , void const * __P ) {
442+ // CIR-LABEL: _mm_mask_expandloadu_ps
443+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.float x 4>) -> !cir.vector<!cir.float x 4>
444+
445+ // LLVM-LABEL: @test_mm_mask_expandloadu_ps
446+ // LLVM: @llvm.masked.expandload.v4f32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
447+ return _mm_mask_expandloadu_ps (__W ,__U ,__P );
448+ }
449+
450+ __m128 test_mm_maskz_expandloadu_ps (__mmask8 __U , void const * __P ) {
451+ // CIR-LABEL: _mm_maskz_expandloadu_ps
452+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!cir.float x 4>) -> !cir.vector<!cir.float x 4>
453+
454+ // LLVM-LABEL: @test_mm_maskz_expandloadu_ps
455+ // LLVM: @llvm.masked.expandload.v4f32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x float> %{{.*}})
456+ return _mm_maskz_expandloadu_ps (__U ,__P );
457+ }
458+
459+ __m256 test_mm256_mask_expandloadu_ps (__m256 __W , __mmask8 __U , void const * __P ) {
460+ // CIR-LABEL: _mm256_mask_expandloadu_ps
461+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!cir.float x 8>) -> !cir.vector<!cir.float x 8>
462+
463+ // LLVM-LABEL: @test_mm256_mask_expandloadu_ps
464+ // LLVM: @llvm.masked.expandload.v8f32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
465+ return _mm256_mask_expandloadu_ps (__W ,__U ,__P );
466+ }
467+
468+ __m256 test_mm256_maskz_expandloadu_ps (__mmask8 __U , void const * __P ) {
469+ // CIR-LABEL: _mm256_maskz_expandloadu_ps
470+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!cir.float x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!cir.float x 8>) -> !cir.vector<!cir.float x 8>
471+
472+ // LLVM-LABEL: @test_mm256_maskz_expandloadu_ps
473+ // LLVM: @llvm.masked.expandload.v8f32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x float> %{{.*}})
474+ return _mm256_maskz_expandloadu_ps (__U ,__P );
475+ }
476+
477+ __m128i test_mm_mask_expandloadu_epi64 (__m128i __W , __mmask8 __U , void const * __P ) {
478+ // CIR-LABEL: _mm_mask_expandloadu_epi64
479+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s64i x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!s64i x 2>) -> !cir.vector<!s64i x 2>
480+
481+ // LLVM-LABEL: @test_mm_mask_expandloadu_epi64
482+ // LLVM: @llvm.masked.expandload.v2i64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
483+ return _mm_mask_expandloadu_epi64 (__W ,__U ,__P );
484+ }
485+
486+ __m128i test_mm_maskz_expandloadu_epi64 (__mmask8 __U , void const * __P ) {
487+ // CIR-LABEL: _mm_maskz_expandloadu_epi64
488+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s64i x 2>>, !cir.vector<!cir.int<s, 1> x 2>, !cir.vector<!s64i x 2>) -> !cir.vector<!s64i x 2>
489+
490+ // LLVM-LABEL: @test_mm_maskz_expandloadu_epi64
491+ // LLVM: @llvm.masked.expandload.v2i64(ptr %{{.*}}, <2 x i1> %{{.*}}, <2 x i64> %{{.*}})
492+ return _mm_maskz_expandloadu_epi64 (__U ,__P );
493+ }
494+
495+ __m128i test_mm_mask_expandloadu_epi32 (__m128i __W , __mmask8 __U , void const * __P ) {
496+ // CIR-LABEL: _mm_mask_expandloadu_epi32
497+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!s32i x 4>) -> !cir.vector<!s32i x 4>
498+
499+ // LLVM-LABEL: @test_mm_mask_expandloadu_epi32
500+ // LLVM: @llvm.masked.expandload.v4i32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
501+ return _mm_mask_expandloadu_epi32 (__W ,__U ,__P );
502+ }
503+
504+ __m128i test_mm_maskz_expandloadu_epi32 (__mmask8 __U , void const * __P ) {
505+ // CIR-LABEL: _mm_maskz_expandloadu_epi32
506+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 4>>, !cir.vector<!cir.int<s, 1> x 4>, !cir.vector<!s32i x 4>) -> !cir.vector<!s32i x 4>
507+
508+ // LLVM-LABEL: @test_mm_maskz_expandloadu_epi32
509+ // LLVM: @llvm.masked.expandload.v4i32(ptr %{{.*}}, <4 x i1> %{{.*}}, <4 x i32> %{{.*}})
510+ return _mm_maskz_expandloadu_epi32 (__U ,__P );
511+ }
512+
513+ __m256i test_mm256_mask_expandloadu_epi32 (__m256i __W , __mmask8 __U , void const * __P ) {
514+ // CIR-LABEL: _mm256_mask_expandloadu_epi32
515+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!s32i x 8>) -> !cir.vector<!s32i x 8>
516+
517+ // LLVM-LABEL: @test_mm256_mask_expandloadu_epi32
518+ // LLVM: @llvm.masked.expandload.v8i32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
519+ return _mm256_mask_expandloadu_epi32 (__W ,__U ,__P );
520+ }
521+
522+ __m256i test_mm256_maskz_expandloadu_epi32 (__mmask8 __U , void const * __P ) {
523+ // CIR-LABEL: _mm256_maskz_expandloadu_epi32
524+ // CIR: %{{.*}} = cir.llvm.intrinsic "masked.expandload" %{{.*}}, %{{.*}}, %{{.*}} : (!cir.ptr<!cir.vector<!s32i x 8>>, !cir.vector<!cir.int<s, 1> x 8>, !cir.vector<!s32i x 8>) -> !cir.vector<!s32i x 8>
525+
526+ // LLVM-LABEL: @test_mm256_maskz_expandloadu_epi32
527+ // LLVM: @llvm.masked.expandload.v8i32(ptr %{{.*}}, <8 x i1> %{{.*}}, <8 x i32> %{{.*}})
528+ return _mm256_maskz_expandloadu_epi32 (__U ,__P );
529+ }
0 commit comments